Excel:VLOOKUP関数の使い方

EXCELで何らかの表を作成して、表中にある項目をキーにマッピングして他の表の項目から値を取得したくなる場合があります。こういう場合はVLOOKUP関数を使用すると非常に便利なので覚えておいて損はないです。

「VLOOKUP」関数とは

  • 指定した範囲の中から検索条件に一致したデータを検索して取得出来る関数です。

「VLOOKUP」関数の書式

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])

  • 検索値:必須。表または範囲の左端の列で検索する値を指定します。検索値には、値または参照を指定します。検索値に範囲の左端の列の最小値未満の値を指定すると、エラー値「#N/A」が返されます。
  • 範囲:必須。データを含むセル範囲です。セル範囲への参照 (A2:D8 など)、またはセル範囲名を指定します。範囲の左端の列の値から、検索値が検索されます。これらの値には、文字列、数値、論理値のいずれかを指定できます。英字の大文字と小文字は区別されません。
  • 列番号:必須。目的のデータが入力されている列を、範囲内の左端から数えた列数で指定します。列番号に 1 を指定すると、範囲の左端の列の値が返され、列番号に 2 を指定すると、範囲の左から 2 列目の値が返されます (3列目以降も同様に指定します)。
  • 検索方法:省略可能。VLOOKUP を使用して検索値と完全に一致する値だけを検索する場合はFALSE、その近似値を含めて検索するかを指定する場合はTRUEを指定します。

「VLOOKUP」関数の使用例

    • 下記使用例では日付が一致すれば「予定表」の「祝日」列へ「祝日表」の「祝日」列の値を表示しています。

  • C6セルの設定例:=IF(ISERROR(VLOOKUP($B6,$F$4:$G$20,2,0)),””,VLOOKUP($B6,$F$4:$G$20,2,0))

Excelで日付から自動で曜日を表示する方法 — 曜日表示の基本と応用」

Excelでカレンダーを作成していると日付に対応した曜日を表示したくなるケースが良くあると思います。
曜日を表示する場合は「セルの書式設定」→「表示形式」→「ユーザ定義」を使用すれば簡単に曜日を表示することが可能となります。

ユーザ定義での曜日設定種類

ユーザ定義の種類表示例
aaa





aaaa日曜日
月曜日
火曜日
水曜日
木曜日
金曜日
土曜日
dddSun
Mon
Tue
Wed
Thu
Fri
Sat
ddddSunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

曜日の表示例

🧩 補足:より便利な曜日表示の活用法

  • 関数で曜日を取得する方法
    =TEXT(A1,"aaa") で「月」、=TEXT(A1,"dddd") で「Monday」といった表示も可能です。
    セル書式設定を使うより柔軟に式を組みたい場合はこちらが便利です。

  • 祝日や土日を色分けする方法
    条件付き書式を使えば「=WEEKDAY(A1,2)>=6」で土日を自動的に色分けできます。

  • 曜日の並び替えやフィルター
    「ユーザー定義リスト」に「月,火,水,木,金,土,日」を登録しておくと、昇順・降順で正しい並びになります。

  • Googleスプレッドシートの場合
    同様に =TEXT(A1,"aaa") が使えますが、地域設定が英語だと「Mon」「Tue」になります。
    日本語表示にしたい場合は「ファイル → 設定 → 地域」を「日本」に変更してください。

Microsoft Excelで「#N/A」エラーの原因と対策まとめ

ExcelでVLOOKUP関数を使用すると「#N/A」と表示されてしまうケースを見かける事があるかと思います。この事象の発生原因と対処方法をメモしておきます。
◆設定例(C4セル):「=VLOOKUP($B4,$F$4:$G$20,2,0)」

発生原因

  • 【検索値】となるセルに値が入力されていない。
  • 【検索値】となるセルの値が、【検索範囲】に指定した一覧表に存在しない。

対処方法

  • ISERROR関数を使用し、VLOOKUPの結果ERRORとなる場合には””が表示されるように条件を指定します。
    ◆設定例(C4セル):「=IF(ISERROR(VLOOKUP($B4,$F$4:$G$20,2,0)),””,VLOOKUP($B4,$F$4:$G$20,2,0))」

🔍 補足:#N/Aエラーの原因と対策まとめ

Excelで「#N/A」が表示される原因は単純な入力ミスだけでなく、次のような要因も考えられます。
見逃しやすいポイントを整理しておきましょう。


✅ 1. データ型の不一致

検索値と参照範囲のデータ型(文字列/数値)が一致していないと、「#N/A」が返ることがあります。
例:検索値が "123"(文字列)で、参照範囲に 123(数値)しかない場合、一致しません。
→ 対策:VALUE 関数や TEXT 関数で型を統一しましょう。


✅ 2. 近似一致モードの誤使用

VLOOKUP の第4引数が 1 または省略になっていると「近似一致」になります。
この場合、参照範囲が昇順ソートされていないと誤動作や「#N/A」が発生します。
→ 対策:完全一致にしたい場合は =VLOOKUP(検索値,範囲,列番号,0) と指定。


✅ 3. 空白・スペース・不可視文字の混入

外部データをコピーしたセルには、全角スペースや改行などの見えない文字が含まれることがあります。
→ 対策:TRIMCLEAN 関数で不要な空白を削除。


✅ 4. 大文字・小文字や特殊文字の影響

Excel標準の検索は大文字小文字を区別しませんが、記号や全角・半角の違いで一致しないことがあります。
→ 対策:EXACT 関数で文字列を比較してみると原因が分かる場合もあります。


✅ 5. 新関数「XLOOKUP」で柔軟に対応

Excel 365以降では、XLOOKUP 関数を使うことで「#N/A」時の代替値を直接指定できます。

上記のように設定すれば、該当データがないときに空白を返せます。


✅ 6. IFERROR/IFNA関数でエラーを制御

記事内で紹介している IF(ISERROR(VLOOKUP(...))) の代わりに、
「#N/A」だけを対象にできる IFNA 関数を使うのがおすすめです。

他のエラーはそのまま残しつつ、「#N/A」だけを空白にできます。


💡 まとめ
「#N/A」エラーは「該当データなし」だけでなく、型・スペース・一致条件など多くの要因で発生します。
原因を切り分けることで、より確実なデータ参照が可能になります。

Excelで「#NAME?」エラーの原因

Excelで計算をしていると「#NAME?」と表示されてしまうケースを見かける事があるかと思います。この事象の発生原因と対処方法をメモしておきます。

発生原因

  • 指定された関数名が正しくない。

対処方法

  • 手入力などで指定した関数名を見直して正しい関数名を指定します。