• ベストアンサー

Excel の関数で TODAY() の固定化

帳簿の欄外 A2 に 済 、B2に TODAY() で現在月日を表示 書類の処理が終ると J6 に 済 と入れると K6 [ IF($J6="","",VLOOKUP($J6,$A$2:$B$2,2,FALSE))] に現在月日が自動で入るのですが、K6 の日付を TODAY() が変わっても変化しない様に固定化出 来ないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! たびたびごめんなさい。 投稿後に気づいたのですが、関数が絶対参照になっているということは行方向に何行もデータがあるということなのですよね? もしそうであれば前回のコードはK6だけしか当てはまりませんので、コードを訂正しておきます。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Target.Column = 10 Then If Target = "済" Then With Target.Offset(, 1) .Value = Range("B2") .NumberFormatLocal = "yyyy/m/d" End With Else Target.Offset(, 1) = "" End If End If End Sub 'この行まで お役に立てば良いのですが、外していたらごめんなさいね。m(__)m

samons
質問者

お礼

tom04 さんありがとうございました。 マクロ・VBA関係はまったく分かりませんでしたが、指示どおりコードを貼り付けましたら 思考どおり帳簿の方が機能するようになりました、感謝いたします。 大変ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

帳簿のように、〆という概念がある書類は、 固定化したいセルだけを確定してくれるような フリーソフトを使うのが便利です。 エクセル 計算値確定 フリーソフト でグーグルやヤフー検索すると 使えそうなのが出てきます。 参考URLがグーグルでトップに出ます。 私も使ってますが操作が簡単で便利です。

参考URL:
http://www.vector.co.jp/soft/win95/business/se488951.html
samons
質問者

お礼

ありがとうございます。 今後、紹介されたソフトを試してみます。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! K6セルに関数が入っている以上、B2セルの値に変化があれば当然K6セルの値も変化してしまいます。 そこでVBAでの方法になってしまいますが、コードの一例を載せておきます。 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面がでますので、 ↓のコードをコピー&ペーストしてみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から If Target = Range("J6") Then If Range("J6") = "済" Then With Range("K6") .Value = Range("B2") .NumberFormatLocal = "yyyy/m/d" '←日付の表示形式は適宜変更してください。 End With Else Range("K6") = "" End If End If End Sub 'この行まで 参考になれば良いのですが・・・m(__)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの関数の直し方

    現在、画像のような表を作成しておりますが、 1行目の前の行に5行挿入したいと考えております。 下の表からデータを製番・区分ごとに合計して上の表に表示されるようになっています。 5行挿入してタイトル等入れたいと思い、挿入してみると、 今まで下の表からの合計が上の表に表示されなくなってしまいます。 セル番号等確認はしてみたのですが、 どこがいけなくてうまく表示されないのかがわからなくて困っています。 どのように直したらいいかをご教示お願いいたします。 現在入っている関数は以下の通りです。 A2=IF(COUNT(Sheet1!$L$14:$L$38)<ROW(A1),"",INDEX(Sheet1!$B$14:$I$38,MATCH(SMALL(Sheet1!$L$14:$L$38,ROW(A1)),Sheet1!$L$14:$L$38,0),MATCH(A$1,Sheet1!$B$13:$I$13,0))) B2=IF(COUNT(Sheet1!$L$14:$L$38)<ROW(B1),"",INDEX(Sheet1!$B$14:$I$38,MATCH(SMALL(Sheet1!$L$14:$L$38,ROW(B1)),Sheet1!$L$14:$L$38,0),MATCH(B$1,Sheet1!$B$13:$I$13,0))) C2=IF(COUNT(Sheet1!$L$14:$L$38)<ROW(C1),"",INDEX(Sheet1!$B$14:$I$38,MATCH(SMALL(Sheet1!$L$14:$L$38,ROW(C1)),Sheet1!$L$14:$L$38,0),MATCH(C$1,Sheet1!$B$13:$I$13,0))) D2=IF(A2="","",SUMIFS(Sheet1!$G$14:$G$38,Sheet1!$B$14:$B$38,A2,Sheet1!$H$14:$H$38,B2)) E2=IF(C2="","",IF(ISERROR(VLOOKUP(C2,list!$S$3:$T$6,2,0)),"",VLOOKUP(C2,list!$S$3:$T$6,2,0))) H14=IF($E14="","",IF(ISERROR(VLOOKUP($E14,INDIRECT($J14),3,FALSE)),"",VLOOKUP($E14,INDIRECT($J14),3,FALSE))) I14=IF($E14="","",IF(ISERROR(VLOOKUP($E14,INDIRECT($J14),4,FALSE)),"",VLOOKUP($E14,INDIRECT($J14),4,FALSE))) J14=IF(ISBLANK(B14),"",IF(B14<="J121100144","旧","新")) K14=IF(AND(B14<>"",H14<>"-"),B14&"_"&H14,"") L14=IF(AND(K14<>"",COUNTIF(K$14:K14,K14)=1),COUNTIF($K$14:$K$38,"<"&K14)+1,"")

  • エクセルの関数の分かりやすい説明の仕方教えて下さい!!

    初心者にエクセルを教えることになりました。 関数をどう説明していいのか分からないので教えて 下さい。 (1)VLOOKUP   式は=VLOOKUP(B5,H5:J10,2,FALSE)で   B5は品番、H5:J10は商品一覧です。 (2)IF   式は=IF(E3>=180,"合格","不合格")    (3)IFを使う式で、エラーを防ぐ式(IFとVLOOKUP)   =IF(A5="","",VLOOKUP(A5,$G$5:$I$16,2,FALSE))    A5=品番  お願いします

  • エクセル関数について 数値の取り出しについて

    =IF(B8="","",VLOOKUP(B8,シート2!$B$8:$J$72,8,FALSE)) でシート2のJ列の日付をF8に返して表示しようと思ってますがうまくいきません どちらもセルの書式設定は日付にしてるのですが返したが違ってきます 2017/6/16なのが1900/1/0となります 何か良い方法は無いでしょうか? 宜しくお願いします

  • EXCELのVLOOKUPとHLOOKUPについて

    どうしてもわからないので、よろしくお願いします。 (1)VLOOKUPやHLOOKUPで、例えば =IF($B18="","",VLOOKUP($B18,$H$18:$J$29,2,FALSE)) という数式があるとします。 範囲のところ($H$18:$J$29)を絶対参照にするのは分かるのですが、検索値のところ($B18)がどうして列固定になるのかがわかりません。どういったときに、検索値が列固定になるのでしょうか? (2)あと、FALSEとTRUEの違いがどうテキストを読んでもいまいちわかりません。 試験前なので、焦っております。。 よろしくお願いします!

  • VLOOKUP関数で

    A1からB10の検索した値と A11からB20までの検索した値を合計したいのですが =IF(A1="","",VLOOKUP(A1,'金額'!A1:B10)+(A1,'金額'!A1:B10),2,FALSE)) =IF(A1="","",VLOOKUP(A1,'金額'!A1:B10)+VLOOKUP(A1,'金額'!A1:B10),2,FALSE)) =IF(A1="","",VLOOKUP(A1,'金額'!A1:B10)+=IF(A1="","",VLOOKUP(A1,'金額'!A1:B10),2,FALSE)) など色々やってみましたが、出来ません。 どなたかよろしくお願いします。

  • VLOOKUP関数 エクセル関数教えてください

    =IF(ISERROR(VLOOKUP(B2,$E$1:$F$296,2,FALSE)),"",VLOOKUP(B2,$E$1:$F$296,2,FALSE)) という関数を入れて、品番をセルに入力して元表から品名を導く表を作成しました。うまく使えています。 これを元に =IF(ISERROR(VLOOKUP(B2,$F$1:$I$1000,2,FALSE)),"",VLOOKUP(B2,$F$1:$I$1000,2,FALSE)) という関数に直して、同じような表を作ろうとしたのですが、うまくいきません。 何が悪いのか分かりません。 どうすればうまくいきますでしょうか?

  • ExcelのIF関数で条件が7つ以上ネストされる場合の対応方法

    ExcelのIF関数で以下のように条件が7つ以上ネストされる場合の対応方法を教えてください(if関数だと条件が最大7つまでしか指定できない為)。 IF(ISTEXT(VLOOKUP($A2,sheet1!$B:$AP,36,FALSE)),1, IF(ISTEXT(VLOOKUP($A2,sheet2!$b:$q,10,FALSE)),2, IF(ISTEXT(VLOOKUP($A2,sheet3!$I:$BO,13,FALSE)),3, IF(ISTEXT(VLOOKUP($A2,sheet4!$A:$Z,6,FALSE)),4, IF(ISTEXT(VLOOKUP($A2,sheet1!$B:$AP,38,FALSE)),1, IF(ISTEXT(VLOOKUP($A2,sheet2!$b:$q,12,FALSE)),2, IF(ISTEXT(VLOOKUP($A2,sheet3!$I:$BO,16,FALSE)),3, IF(ISTEXT(VLOOKUP($A2,sheet4!$A:$Z,5,FALSE)),4, 4))))))))

  • 月が変わるとその月のシートを参照する関数を教えてく

    現在は給与一覧1月~12月まで12のシートがあります。 L2のセルには=TODAY() J4のセルに氏名 J8のセルに通勤手当=IF(ISERROR(VLOOKUP(J4,給与一覧1月!A1:Q26,6,FALSE)),””,VLOOKUP(J4,給与一覧1月!A1:Q26,6,FALSE))) 他ありますがL2の月が変わると参照するシートも自動で当月に替わる関数を教えてください。

  • TODAY関数で

    エクセルの初歩的な質問ですが、お願いします。 B列に何か文字が入力されると、A列に自動的に今日の日付が入力されるようにしたいのですが、 IF関数を使って 論理式 :B列に何か文字が入力される 真の場合:TODAY 偽の場合:""(空白) としようと思っています。論理式はどのようにすればいいのでしょうか? B欄に入力する文字は決まっていません。 それとも、他の方法ですべきでしょうか?

  • Excel エラー表示を回避するようにしたのに・・・

    Excelで、VLOOKUP関数を使って、 「今日の日付の横のセルの中身を表示」させているのですが、 該当データがなかった時のエラー表示や0表示を回避したくて =IF(ISNA(VLOOKUP(TODAY(),元シート!A1:B10,2,0))="","", VLOOKUP(TODAY(),元シート!A1:B10,2,0)) としたのですが、これでもまだエラーや0が表示されます。 多分、日付そのものがない時に#N/A、 日付はあるが横に何も入っていない場合に0が 出ているように思うのですが、・・・ 何かいけないのでしょうか。自分では間違いが見つけられません。