Excelで日付の参照がうまくできません

このQ&Aのポイント
  • Excelで日付の参照が思うようにできず困っています。添付写真のような時刻表があり、VLOOKUP関数を使用してA2に対応する時刻を取得しています。しかし、特定の条件下では正しい日時が表示されず、PCの現在日時を基にしてしまいます。この状態を回避するためにはどうすれば良いでしょうか?
  • Excelの日付参照に関して問題が発生しています。時刻表のデータを利用してA2に対応する時刻を表示していますが、特定の条件下では正しい日時が表示されず、PCの現在日時が表示されてしまいます。この問題を回避する方法はありますか?
  • Excelでの日付参照に問題があります。特定の条件下では正しい日時が表示されず、代わりにPCの現在日時が表示されてしまいます。この問題を解決するためにはどうすれば良いでしょうか?
回答を見る
  • ベストアンサー

Excelで日付の参照がうまくできません

添付写真のようなシートがあります。(時刻表と考えていただければ結構です。) A5:B7に基本となる時刻表があります。 B2にはA5:B7の表をVLOOKUP関数でA2に対応するものを表示させています。 C2には実際の時刻が入ります。 B3にはその予定がA1の日付と同日ならば空欄、異なればその日付を入れます。C3も同様に実際の日付を入れます。 F2には=IF(B3="",A1+B2,B3+B2)を入れ、表示形式はyyyy/m/d hh:mmです。 同様にG2には=IF(C3="",A1+C2,C3+C2)を入れ、表示形式は上記と同様 H2はF2とG2の差を比較し、単純にG2-F2を入れています C4が空欄の場合、G4は2010/11/20 0:00となっています。 2行で1セットとしてそれを下にいくつも増やしていったところ、F2やG2のセルに入るべき日時がPCの現在日時を基本にするようになってしまいました。 この例ですと、C4が空欄の場合はG4が2010/11/20 8:00となり、C4に2:00を入れるとG4は2010/11/20 10:00となります。 いつの時点でこうなってしまったのか不明です。どうすればこの状態を回避できるでしょうか?

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

もしかしてですが、VLOOKUPの表の範囲が相対参照になってませんか? 相対参照(A1:B100)だと、コピー時に位置がずれるので結果が思ったものと違う値になります。 その場合は絶対参照($A$1:$B$100)のようにすれば問題ありません。

関連するQ&A

  • 日付け毎の最大値

    EXCELの表に      A             B 1 2006/4/1 10:00:00     A 2 2006/4/1 19:00:00     B 3 2006/4/11 11:00:00     C 4 2006/4/11 17:00:00     D 5 2006/10/18 9:00:00     E 6 2006/10/18 20:00:00    F 7 2006/11/11 18:00:00    G のようにA列に日付け/時刻がはいっています。ここから日付けごとの一番遅い時間を抽出したいです。 抽出後は      A             B 1 2006/4/1 19:00:00      B 2 2006/4/11 17:00:00     D 3 2006/10/18 20:00:00    F 3 2006/11/11 18:00:00     G となります。日付け/時刻を関数で区切るなどして色々試したのですが思うような結果にはなりませんでした。 どなたかご教授お願いします。

  • Excel 日付管理の計算

    初めて投稿させて頂きます。 現在、Excelを用いてスケジュール管理表を作成しているのですが、 Excel初心者故、思い通りの表が作成できず、 困り果てております。。 どのような表を作るかと申しますと、 A列、B列には後々、日付または「-」を記入し、 C列にはA又はBの30日後(日祭日関係なく、単純に30日後)を 表示させるように作成したいのです。 詳細には、以下のようなルールの表を作成したいのです。 (1)AとBが空欄であるときは、Cは空欄 (2)Bに日付が入力され、Aが「-」のときは、CはBの30日後を表示 (3)AとB両方に日付が入力されたときは、CはBの30日後を表示 (4)Aに日付が入力され、Bが「-」のときは、CはAの30日後を表示 上記の内容で計算式を作成してみたのですが・・・ =IF(B1<>"", (B1+30),IF(A1<>"",(A1+30),"")) これでは「-」を入力したとき、エラー表示となってしまい、 困り果てております。。 皆様のご教授の程、よろしくお願い申し上げます。

  • エクセルでIFとANDを使った関数について教えて下さい

    A B C D E F G 1 1 2 3 結果 2/3 2/4 2/5 2 2/3 2/4 2/5 合格 0 0 1 3 上記のような表を作成しようとしています。条件が、 D1が「合格」で、 C2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じなら「1」、 違うなら「0」、 B2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」なら「1」、違うなら「0」、 A2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」で、B2が「空欄」なら「1」、違うなら「0」 を返しなさい。 という関数を作りたいのですが、上手くいきません。 IFとANDを使えばいいと思うのですが、どのように組み合わせれば 良いでしょうか。 真を返す、優先順位は、C2、B2、A2、のセルです。 C2に日付が入ってるときはB2とA2に日付が入っていても カウントされないように(偽が入るように)したいのです。 ちなみに、最初は、 =IF($D2="合格",IF($C2=E$1,1,IF($B2=E$1,1,IF($A2=E$1,1,0))),0) と、入れてましたが、これだと、C2に日付が入った時にC2だけカウント したいのに、B2もA2もカウントされてしまいます。 どうか、良きアドバイスをお願いします!!

  • 日付を文字列ではなく、日付として表示させたいです!

    Excelで下記の数式を使用し、隣のシートから日付(〇〇〇〇/〇〇/〇〇の形式)を 表示させたいのですが、何故か文字列として表示されてしまいます。 (2020/5/20なら43971と表示され、表示形式を「日付」で選択しても変わりません) 日付として表示するにはどうしたら良いでしょうか。 また、同じセルでも日付ではなく、単語が表示されるケースもあるので、その場合は同じ単語が表示されるようにしたいです。 ◆使用している数式 IF(ISERROR(VLOOKUP(G10,Aシート!$B$2:$F$30,5,FALSE)),"",VLOOKUP(G10,Aシート!&B$2:$F$30,5,FALSE)&"") 空欄の時は、0やエラーを表示させないように式に組んでいるので、 もしかしたら、その影響かもしれません... excelにあまり詳しくなく、ご教示頂けましたら助かります。 よろしくお願いいたします。

  • エクセルで日付データの比較/判定でカウント

    エクセルで日付データの比較/判定でカウント A1に 2006/2/22 A2に 2006/2/23 ---------- という日付データが入っている。 またc1~c4に c1:2006/2/24+時間  (例2006/2/24 07:18) c2:2006/2/23+時間 c3:2006/2/23+時間 c4:2006/2/22+時間 ---------- という時刻まで含む日付データが入っている。 (処理)A1とC列のデータの日付けが同じものは1つc4だけなのでカウントし1件とその横の B列(B1)にカウント件数を表示したい。 B1に書く式はどのようにすればよいか。よろしくお願いします。

  • エクセルと照合について

    エクセルと照合について 工場に勤務していて、シフト表と給与計算をしています。 エクセルの表がうまく貼りつけられず(列がずれるため)、縦書きですいません。 以下はシート1です。 出勤予定表(A1) Aさん(A2) 1/1(B1)←1/1は日付です。 1(B2) 1/2(C1) 空欄(C2)←休日のことです。 1/3(D1) 3(D2) 1/4(E1) 空欄(E2) 1/5(F1) 1(F2) 1/6(G1) 3(G2) 以下BさんからEさんまで5人分あります。 以下は勤務時間コードです。 1 5:00~13:00 2 8:00~15:00 3 13:00~21:00 以下はシート2に作成している、実際の出勤日です。 Aさん(A2) 1/1(B1)←1/1は日付です。 5:00~13:00(B2) 1/2(C1) 空欄(C2)←休日のことです。 1/3(D1) 13:00~21:00(D2) 1/4(E1) 空欄(C2) 1/5(F1) 5:00~13:00(F2) 1/6(G1) 13:00~21:00(G2) 他にBさんからEさんまで、シート3からシート6まで作成しています。 要は二つのシートをマクロか関数かであっているかどうか照合したのですが、できるのでしょうか。 目視はできるだけ避けたいです。 超初心者ですいません。 お願いします。

  • エクセルの数式で困ってます。

    教えて頂いた数式で作ってみたのですが、何か間違っているようでAやBなどの表記がでません。 =IF(C4="","",IF(C4-70<=0,A,IF(C4-135<=0,B, IF(C4-198<=0,C, IF(C4-247<=0,D, IF(C4-306<=0,E, IF(C4-359<=0,F, IF(C4-411<=0,G,IF(C4-461<=1,H,"")))))))) 0~70までをA、72~135までをB、137~198までをC・・・・などと表記したいのですが、宜しくお願いいたします。

  • エクセル2003 絶対参照の移動(OFFSET)

    現在、 セル【I10】に =IF($A10="","",$G10-SUMIF($F$10:$F$35,$C10,$G$10:$G$35)) 【I11】に    =IF($A11="","",$G11-SUMIF($F$10:$F$35,$C11,$G$10:$G$35)) 【I12】に    =IF($A12="","",$G12-SUMIF($F$10:$F$35,$C12,$G$10:$G$35)) と26行同じ参照範囲が記入されています。 この式は、 A列が空欄の際、空欄を返す、というエラー回避の式と、 もし、C10と、F10~F35の中で一致するものがある場合、G10~G35でそれに値する数字の合計をG10から引く。 という式を組み合わせたつもりです。 次のページとして、 セル【I47】に =IF($A47="","",$G47-SUMIF($F$47:$F$72,C$47,$G$47:$G$72))    【I48】に   =IF($A48="","",$G48-SUMIF($F$47:$F$72,C$48,$G$47:$G$72)) と、また26行続けます。 全部で200ページを入力したいのですが、 参照範囲を手作業で入力するには作業量が多すぎるため、 すみませんが、どなたかお分かりでしたら、教えていただきたいです。OFFSETの使い方がよくわからないため、 よろしくお願いします。

  • エクセルでセルを参照して列を追加したい

    以下のような表を作成中です。    B   C    D  E  F  G  H 3 開始  8/1            8  8 4 終了  11/30           1  2 5                     水 木 G3は=G4、G4は=C3、G5は=C3の式を入力してあります。 Hからは+1で表示されるようにしてあります。 開始の日付はこのような形でできたのですが、 終了が手作業になってしまいます。 C4の11/30を参照して、列を自動追加したいと思っているのですが、 どのような方法がありますでしょうか? マクロは少ししか経験がありません… どうぞよろしくお願いいたします。

  • データベースのレコードの合算

    エクセルの編集をしています。 表1.のような日付と商品の組み合わせごとのレコードからなる表を、表2.のように日付ごとに合算したいと思っています。 表1. 日付 商品A 商品B 商品C 1/2   2F 1/2      3F 1/3     6G 1/3 5G 1/3          -3F       ↓ 表2. 日付 商品A 商品B 商品C 1/2  2F   3F 1/3  5G  6G   -3F 表1.の条件は、 ・同じ日付で同じ商品の組み合わせはありません ・項目は「F」「G」の記号とマイナスの存在する数字の組み合わせです ・空欄になっているセルは空欄です データベース関数、小計などを使ったのですがうまくいきませんでした。 何かアイデアをおねがいします。

専門家に質問してみよう