エクセル画面以外がクリック、操作できなくなった

VLOOKUP関数が日時を検索してくれない - エクセル(Excel)関数

指定された範囲から検索するVLOOKUP関数が指定した日時を見つけてくれない、無視される、エラーになる場合

エクセル表サンプル
  A B C D E F
1            
2   本日の担当者 2月9日 高橋 6789 10:00~19:00  
3            
4   日時 担当 内線 受付  
5   2月7日 鈴木 1234 9:00~18:00  
6   2月8日 佐藤 5678 10:00~19:00  
7   2月9日 高橋 6789 10:00~19:00  
8   2月10日 鈴木 1234 9:00~18:00  
9   2月11日 鈴木 1234 9:00~18:00  
10   2月12日 高橋 6789 9:00~18:00  
11   2月13日 鈴木 1234 9:00~18:00  
12   2月14日 鈴木 1234 9:00~18:00  
13   2月15日 佐藤 5678 10:00~19:00  
14   2月16日 佐藤 5678 10:00~19:00  
15   2月17日 高橋 6789 9:00~18:00  
16   2月18日 小林 3456 9:00~18:00  
17            

「本日の担当者」を表から検索して呼び出します

C2の数式
=VLOOKUP(VALUE(TODAY()),B5:E16,2,0)

D2の数式
=VLOOKUP(VALUE(TODAY()),B5:E16,3,0)

E2の数式
=VLOOKUP(VALUE(TODAY()),B5:E16,4,0)


上記でエラーになる場合や見つけてくれない場合
2通りが考えられます

1つ目:B列が文字列で入力されている場合
VLOOKUP関数は「2月9日」を探しているわけではなく
TODAY()が取得する「2月9日」のシリアル値を検索します
=TODAY() 表示が日時の場合:「2月9日」
検索しているシリアル値:「44966」
したがってB列が文字列で「2月9日」と入力されている場合
「2月9日」という数字と漢字なので「VALUE(TODAY())」とは一致しません
対応策:B列の表示形式を日付の3月14日を選択して日付で打ち直します

2つ目:B列の「2月9日」が今年ではない場合
何かの表や去年から使いまわして日付をコピーした場合
「2月9日」が実は「2017年2月9日」など今年ではない場合
「VALUE(TODAY())」の「TODAY」は「2023年2月9日」今日なので一致しません
対応策:セルをクリックして見ると年号も表示されるので今年に直します

また検索している関数がTODAYでなくNOWの場合
TODAYもNOWも表示を日付にすれば「2月9日」ですが
シリアル値が違うので一致しません
=NOW()  44966.665092593
=TODAY() 44966

NOWは時間の秒まで含むのでまず一致しません
今日を呼び出す場合はTODAYを使います


抽出した日時の結果が数値になる場合
結果が「2月9日」ではなくシリアル値:「44966」で表示される場合、セルの書式設定か関数で表示を変更する必要があります

基本はセルの書式設定で設定
セルを右クリックまたは「CTRL」押しながら「1」でセルの書式設定を開く
表示形式>分類>日時で指定

関数で指定する場合
式全体を「TEXT」関数の中にいれると文字列として表示できます
VLOOKUPの式が以下の場合
=VLOOKUP(VALUE(TODAY()),B5:E16,2,0)

=TEXT(,"m月d日")
=TEXT(VLOOKUP(VALUE(TODAY()),B5:E16,2,0),"m月d日")
=2月9日

表示形式の種類は
"y年m月d日" → 23年2月9日
"yyyy/mm/dd" → 2023/02/09
"yyyy年mm月dd日" → 2023年02月09日
エクセル画面以外がクリック、操作できなくなった
開発タブが見当たらない、消えた
セルの左上に謎の緑の三角形がある
VLOOKUP関数が日時を検索してくれない
Analyticsなどでダウンロードしたcsvが文字化けする場合
保存しているのに開くと数式が消えたりや書式がなくなっている


VLOOKUP関数が日時を検索してくれない>HOME

エクセル(Excel)関数

(C) 2001-2023 Digital World