条件に一致したデータを呼び出す(検索してピックアップする)
使われる関数:TODAY、MONTH、DAY、VLOOKUP、VALUE
条件に一致したデータを呼び出す(検索してピックアップする)
最上部に「本日の担当者」とピックアップする
(表から検索して呼び出します)
サンプル
|
A |
B |
C |
D |
E |
F |
1 |
|
|
|
|
|
|
2 |
|
本日の担当者 11月21日 |
高橋 |
6789 |
10:00~19:00 |
|
3 |
|
|
|
|
|
|
4 |
|
日時 |
担当 |
内線 |
受付 |
|
5 |
|
11月19日 |
鈴木 |
1234 |
9:00~18:00 |
|
6 |
|
11月20日 |
佐藤 |
5678 |
10:00~19:00 |
|
7 |
|
11月21日 |
高橋 |
6789 |
10:00~19:00 |
|
8 |
|
11月22日 |
鈴木 |
1234 |
9:00~18:00 |
|
9 |
|
11月23日 |
鈴木 |
1234 |
9:00~18:00 |
|
10 |
|
11月24日 |
高橋 |
6789 |
9:00~18:00 |
|
11 |
|
11月25日 |
鈴木 |
1234 |
9:00~18:00 |
|
12 |
|
11月26日 |
鈴木 |
1234 |
9:00~18:00 |
|
13 |
|
11月27日 |
佐藤 |
5678 |
10:00~19:00 |
|
14 |
|
11月28日 |
佐藤 |
5678 |
10:00~19:00 |
|
15 |
|
11月29日 |
高橋 |
6789 |
9:00~18:00 |
|
16 |
|
11月30日 |
小林 |
3456 |
9:00~18:00 |
|
17 |
|
|
|
|
|
|
「本日の担当者」を表から検索して呼び出します
B2の数式
="本日の担当者 "&MONTH(TODAY())&"月"&DAY(TODAY())&"日"
C2の数式
=VLOOKUP(VALUE(TODAY()),B5:E16,2,0)
D2の数式
=VLOOKUP(VALUE(TODAY()),B5:E16,3,0)
E2の数式
=VLOOKUP(VALUE(TODAY()),B5:E16,4,0)
解説
一覧表から今日を検索して呼び出す
=VLOOKUP(VALUE(TODAY()),B5:E16,2,0)
VALUE(TODAY()) 「今日」の関数は「TODAY()」ですが日時の計算や検索では一致しないことがあるので「VALUE(TODAY())」とシリアル値に変換する関数「VALUE」に入れています
B5:E16 検索範囲(1列目を1として数えます)
2 2番目のセル
0 検索の型(0は完全一致、1は近似値を検索。1の場合省略できます)
※注意
VLOOKUP関数が日時を見つけてくれない場合
2通りが考えられます
1つ目:B列が文字列で入力されている場合
VLOOKUP関数は「11月21日」を探しているわけではなく
TODAY()が取得する「11月21日」のシリアル値を検索します
=TODAY() 表示が日時の場合:「11月21日」
検索しているシリアル値:「45617」
したがってB列が文字列で「11月21日」と入力されている場合
「11月21日」という数字と漢字なので「VALUE(TODAY())」とは一致しません
対応策:B列の表示形式を日付の3月14日を選択して日付で打ち直します
2つ目:B列の「11月21日」が今年ではない場合
何かの表や去年から使いまわして日付をコピーした場合
「11月21日」が実は「2017年11月21日」など今年ではない場合
「VALUE(TODAY())」の「TODAY」は「2024年11月21日」今日なので一致しません
対応策:セルをクリックして見ると年号も表示されるので今年に直します
また検索している関数がTODAYでなくNOWの場合
TODAYもNOWも表示を日付にすれば「11月21日」ですが
シリアル値が違うので一致しません
=NOW() 45617.764155093
=TODAY() 45617