VLOOKUP(ブイルックアップ)Googleスプレッドシート関数
VLOOKUP(ブイルックアップ)は、指定した範囲の左端の列を検索して一致した結果と同じ行にある値を呼び出します
| ・関数 | VLOOKUP(読み方:ブイルックアップ) | |
| ・書式 | =VLOOKUP(検索値,範囲,列番号,検索の型) | |
| ・内容 | 指定された範囲の左端の列で特定の値を検索し、範囲内の対応するセルの値を返します。 | |
検索値:検索する値またはセルを指定
範囲:検索する列を左(1列目)に範囲を指定します
列番号:検索値の列から何列目かを指定
検索の型:「TRUE」「1」「省略」近似値を取得。「FALSE」「0」完全一致を取得
検索の型の「1」と「0」
「1」または「省略」した場合検索値は列をすべて検索して近似値を返します
「0」または「FALSE」の場合、検索する列を上から検索して一致したらそれ以降は検索しません。同じ結果があっても上にある行が選ばれます
使い方
=VLOOKUP(
F1,
B3:E14,
2,
0)
スプレッドシート表サンプル
| |
A |
B |
C |
D |
E |
F |
| 1 |
|
|
|
|
|
|
| 2 |
|
日時 |
担当 |
内線 |
受付 |
|
| 3 |
|
8月10日 |
鈴木 |
1234 |
9:00~18:00 |
|
| 4 |
|
8月11日 |
佐藤 |
5678 |
10:00~19:00 |
|
| 5 |
|
8月12日 |
佐藤 |
5678 |
10:00~19:00 |
|
| 6 |
|
8月13日 |
鈴木 |
1234 |
9:00~18:00 |
|
| 7 |
|
8月14日 |
鈴木 |
1234 |
9:00~18:00 |
|
| 8 |
|
8月15日 |
鈴木 |
1234 |
9:00~18:00 |
|
| 9 |
|
8月16日 |
鈴木 |
1234 |
9:00~18:00 |
|
| 10 |
|
8月17日 |
鈴木 |
1234 |
9:00~18:00 |
|
| 11 |
|
8月18日 |
佐藤 |
5678 |
10:00~19:00 |
|
| 12 |
|
8月19日 |
佐藤 |
5678 |
10:00~19:00 |
|
| 13 |
|
8月20日 |
鈴木 |
1234 |
9:00~18:00 |
|
| 14 |
|
8月21日 |
鈴木 |
1234 |
9:00~18:00 |
|
| 15 |
|
|
|
|
|
|
=VLOOKUP(
F1,
B3:E14,
2,
0)
一覧から日付を指定して右側のデータを呼び出します
例1)=VLOOKUP(F1,B3:E14,2,0)
例2)=VLOOKUP(F1,B:E,2,0)
データが多い場合列を指定した方が良い
・担当者を呼び出す(
検索値を
範囲から検索して
指定した列の値を返します)
=VLOOKUP(
F1,
B:E,
2,
0)
・内線を呼び出す(
F1を
B列を検索して
3列目の値 B C Dを返します)
=VLOOKUP(
F1,
B:E,
3,
0)
・受付を呼び出す
=VLOOKUP(
F1,
B:E,
4,
0)
※注意:検索値が複数ある場合
検索の型0の場合:
範囲内を上から検索して合致した値を見つけるとそれ以上探しませんので最初に見つけた値が呼び出されます。一致したセルが無い場合は「#N/A」エラーになります
検索の型1の場合:
範囲内のすべて検索して同じ検索値があると上書きされ最後の値が呼び出され、無いと近似値(小さい値)が選ばれます。近似値(小さい値)が無い場合は「#N/A」エラーになります
「#N/A」エラーを表示したくない場合、または指定の文字を出す場合
IFERROR(
テストする値,
エラーの時の値)関数を使います
=IFERROR(
VLOOKUP(F1,B:E,4,0),
"")
エラーの時の値はダブルクォーテーションで囲う必要があります
空白の場合:「
""」
文字入力:「
"検索値が見つかりません"」
※
結果がエラーになる、日時を呼び出せない場合
2通りが考えられます
・指定日時の担当を呼び出す場合
=VLOOKUP(
検索値,
範囲,
列番号,
検索の型)
=VLOOKUP(
"8月18日",
B3:E14,
2,
0)
1つ目:
範囲の日時が文字列で入力されている場合
検索値は「"8月18日"」と直接指定した場合「8月18日」という数字と漢字の文字列を探します
範囲の日時も文字列で入力されていれば呼び出せますが、通常セルにある日時はシリアル値として認識されます
範囲の日時:「8月18日」シリアル値「43695」
検索値:「"8月18日"」文字列
文字列の「8月18日」を探してもシリアル値「43695」とは一致しません
対応策:
検索値の8月18日をシリアル値に変換します
=VLOOKUP(
VALUE("8月18日"),
B3:E14,
2,
0)
※(検索値の年号を省略すると今年になります)
2つ目:日時をセルで指定した場合はシリアル値になりますが
何かの表や去年から使いまわして日付をコピーした場合
「8月18日」が実は「2017年8月18日」など今年ではない時は見た目は一緒でも中身は「2017年8月18日」と「2018年8月18日」なので一致しません
対応策:セルをクリックして見ると年号も表示されるので今年に直します
また検索している関数がTODAYやNOWの場合
TODAYもNOWも表示を日付にすれば「11月3日」ですが
シリアル値が違うので一致しません
=NOW() 45964.409050926
=TODAY() 45964
NOW()は小数点以下に時間を表示しています
今日を検索するにはNOW()ではなくTODAY()を使います
VLOOKUP関数とよく使うスプレッドシート関数