業務において効率的なデータ検索を実現したい場合、検索関数の活用は欠かすことができません。

検索関数は、指定した任意の値に基づいて表の検索を行うことができるため、表に入力されているデータの抽出を行う際に重宝されます。

今回は、検索関数の一つである「〜LOOKUP関数」について詳しく紹介します。

チャット一括管理アプリ「OneChat」が今なら初月無料!!

OneChatのダウンロードはこちらから

ExcelでのLOOKUP関数の基本

excel lookup

はじめに、Excelにおける様々な「〜LOOKUP関数」の基本的な情報について理解を深めていきましょう。

VLOOKUP関数とHLOOKUP関数の違い

VLOOKUP関数とHLOOKUP関数の違いについてみていきます。

VLOOKUPHLOOKUP
書式=VLOOKUP(検索値, 範囲, 列番号, [検索の型])=HLOOKUP(検索値, 範囲, 行番号, [検索の型])
検索する方向縦方向(垂直方向:Vertical)横方向(水平方向:Horizontal)
返す値の位置検索を行った列と同一の列検索を行った行と同様の行

VLOOKUP関数とHLOOKUP関数、どちらも指定された値を特定の方向で検索する関数です。検索する値の位置の指定方法や返す行・列の指定、検索方法(検索の型)の指定は、対応する引数で指定することが可能である点は共通となります。

参考:

VLOOKUP 関数 – Microsoft サポート

HLOOKUP 関数 – Microsoft サポート

VLOOKUP関数とXLOOKUP関数の比較

VLOOKUP関数とXLOOKUP関数の違いについてみていきましょう。

VLOOKUPXLOOKUP
書式=VLOOKUP(検索値, 範囲, 列番号, [検索の型])=XLOOKUP(検索値, 範囲, 戻り配列,[見つからない場合], [一致モード], [検索モード]) 
検索する方向縦方向(垂直方向:Vertical)のみ検索する方向の制限はなし
検索範囲特定の1つの範囲複数の範囲を指定可能
返す値の位置検索を行った列と同一の列返す値の範囲を引数で指定できる
利用可能なExcelのバージョンすべてのExcelのバージョンで利用することができるExcel 365またはExcel 2019以降のバージョンから利用することができる

XLOOKUP関数は、VLOOKUP関数と比べて検索する方向や検索範囲などの制限がないため、より柔軟に目的の値を検索することができます。特に、複数の範囲を指定して検索することができるため、検索条件に当てはまる値を取得したい場合にはとても便利です。

参考:XLOOKUP 関数 – Microsoft サポート

ExcelのVLOOKUP関数使い方マスター

excel lookup

ExcelのVLOOKUP関数の使い方についてマスターしていきましょう。

VLOOKUP関数の基本的な使い方

VLOOKUP関数とは、Excelに入力されているデータを表の縦方向に検索を行い、指定した条件と一致した値と同じ行に入力されているデータを表示させることのできる関数です。

VLOOKUP関数の基本的な書式は次の通りです。

=VLOOKUP(検索値, 範囲, 列番号, [検索の型])

項目内容
検索値検索の対象とする値を指定します。数字やセル参照以外の方法(文字列など)で検索値を指定する際は、「”〇〇”」のように指定したい内容を「”」で囲むことにより指定できます。入力されている文字や数字の全角・半角を区別することができますが、英字の大文字・小文字を区別することはできません。
範囲第一引数で指定した検索値の検索を行う範囲を指定します。返る値の列が指定した範囲に含まれていること、検索値が左端の列に含まれている必要があります。
列番号第二引数で指定した範囲から、計算の結果として表示したい値が左から数えて何列目にあるのかを指定します。
検索の型「TRUE」または「FALSE」で指定します。前者では近似照合が行われるため、指定した範囲の列の中から、検索値に一番近い値を対象とします。後者では完全一致による検索が行われるため、指定した範囲の列の中から、検索値と一致した値を対象とします。第四引数を省略した場合は、「TRUE」で関数計算が行われます。

VLOOKUP関数で複数条件を設定する方法

VLOOKUP関数で複数条件を設定する方法についてみていきましょう。

前提として、VLOOKUP関数は特定の1つの検索条件に対して値を返すことができるかんすうであるため、そのままでは複数条件を設定することはできません。そのため、複数条件を設定する際は工夫を凝らす必要があります。

行\列ABC
1学年点数
23年田中75
32年山田82
43年鈴木61
51年佐藤94
61年高橋52
72年渡辺91

例えば、上記のデータをもとにして、「1年」「佐藤」の複数条件を設定して該当データの点数をVLOOKUP関数を用いて抽出する手順について解説します。

行\列FG
1学年+姓点数
21年佐藤

1.「学年」と「姓」を組み合わせたデータが入力された列を追加する

今回の条件である「学年」と「姓」を組み合わせたデータが入力された列を追加します。VLOOKUP関数の特性上、列は左端に追加する必要があります。この際、結合したいデータが入力されているセル(この場合「学年」と「姓」)を参照して、その二つを「&」で繋げると結合が簡単に行えます。

=B2&C2

入力した数式をA2以下のセルにオートフィルを用いてコピーしましょう。

行\列ABCD
1学年+姓学年点数
2=B2&C23年田中75
32年山田82
43年鈴木61
51年佐藤94
61年高橋52
72年渡辺91
行\列ABCD
1学年+姓学年点数
23年田中3年田中75
32年山田2年山田82
43年鈴木3年鈴木61
51年佐藤1年佐藤94
61年高橋1年高橋52
72年渡辺2年渡辺91

2.「学年+姓」のセルを検索するVLOOKUP関数の数式を作成する

「G2」セルにVLOOKUP関数の数式を入力します。この際、①で作成した「学年+姓」のセルを検索するように範囲指定をしましょう。

=VLOOKUP(F2, A2:D7, 4, FALSE)

行\列FG
1学年+姓点数
21年佐藤=VLOOKUP(F2, A2:D7, 4, FALSE)

以上が、VLOOKUP関数にて複数条件を設定してデータの抽出を行う一例です。

行\列ABCD
1学年+姓学年点数
23年田中3年田中75
32年山田2年山田82
43年鈴木3年鈴木61
51年佐藤1年佐藤94
61年高橋1年高橋52
72年渡辺2年渡辺91
行\列FG
1学年+姓点数
21年佐藤94

VLOOKUP関数で#N/Aエラーの原因・対応方法

VLOOKUP関数を使用している中で、「#N/Aエラー」が発生してしまうことはよくあることです。その場合も慌てることなく対処できるように、頻繁におこるエラー原因とその対処方法について見ていきましょう。

原因対処法
完全一致を指定した際に、該当データが存在しないため検索方法を変更しましょう。範囲内に指定したデータと完全に一致するデータが存在するがエラーとなる場合は、検索値にスペースなどが含まれていないか確認しましょう。
検索値が指定の範囲の左端の列にないため検索値は第二引数で指定した範囲の最も左の列に存在している必要がVLOOKUP関数ではあります。左端の列に検索値が含まれていない場合は調整しましょう。
近似一致を指定した際に、参照列が昇順とされていないため近似一致を指定した場合は、参照列が昇順となっている必要があります。その場合は並び替えることで正常な結果を表示可能です。
近似一致を指定した際に、検索値が指定した範囲の最小値よりも小さいため検索値の変更を必要に応じて行いましょう。変更ができない場合は、MATCH関数とINDEX関数を組み合わせるなどの代替手段で可能です。

ExcelのHLOOKUP関数活用術

excel lookup

ExcelのHLOOKUP関数の使い方について理解を深めましょう。

HLOOKUP関数の基本的な使い方

HLOOKUP関数とは、Excelに入力されているデータを表の横方向に検索を行い、指定した条件と一致した値と同じ行に入力されているデータを表示させることのできる関数です。

HLOOKUP関数の基本的な書式は次の通りです。

=HLOOKUP(検索値, 範囲, 行番号, [検索の型])

項目内容
検索値検索の対象とする値を指定します。数字やセル参照以外の方法(文字列など)で検索値を指定する際は、ダブルクォーテーションで指定したい内容を囲むことにより指定できます。HLOOKUP関数の検索値は、入力されている文字や数字の全角・半角を区別することができますが、英字の大文字・小文字を区別することはできません。
範囲第一引数で指定した検索値の検索を行う範囲を指定します。この際、検索値が左端の列に含まれていること、返る値の列が指定した範囲に含まれている必要があります。
行番号第二引数で指定した範囲から、計算の結果として表示したい値が上から数えて何行目にあるのかを指定します。
検索の型「TRUE」または「FALSE」で指定します。前者では近似照合が行われるため、指定した範囲の列の中から、検索値に一番近い値を対象とします。後者では完全一致による検索が行われるため、指定した範囲の列の中から、検索値と一致した値を対象とします。第四引数を省略した場合は、「TRUE」で関数計算が行われます。

HLOOKUP関数で最適な結果を得る方法

HLOOKUP関数で最適な結果を得るためには、次の3つのポイントについて意識しましょう。

1.範囲は正確に指定する

HLOOKUP関数の検索範囲は、検索値が含まれている行が範囲内に存在しなければなりません。範囲内に検索値が含まれない場合はエラー表示となるため注意しましょう。

2. 行番号(返す値の位置)は正確に指定する

行番号の指定を正確に行わなければ、表示させたい結果と別の内容が表示されてしまいます。HLOOKUP関数では、指定した範囲の最初の行を起点として行番号を指定します。目的のデータが存在する行番号を正確に指定しましょう。

3.範囲を昇順に並び替えておく

完全一致にて検索する場合はその限りではありませんが、近似一致で検索する場合は検索範囲が昇順に並び替えられていなければなりません。昇順となっていない場合は、あらかじめ並び替えておきましょう。

ExcelのXLOOKUP関数徹底解説

ExcelのXLOOKUP関数の使い方について紹介します。

XLOOKUP関数の基本的な使い方

XLOOKUP関数とは、Excel365、Excel 2019以降のバージョンに追加された検索関数です。この関数では、VLOOKUP関数やHLOOKUP関数と異なり、検索値の配置などが固定されていないため、柔軟に検索を行うことができる点が特徴です。

XLOOKUP関数の基本的な書式は次の通りです。

=XLOOKUP(検索値, 範囲, 戻り配列,[見つからない場合], [一致モード], [検索モード]) 

項目内容
検索値検索の対象とする値を指定します。数字やセル参照以外の方法(文字列など)で検索値を指定する際は、ダブルクォーテーションで指定したい内容を囲むことにより指定できます。
検索範囲第一引数で指定した検索値の検索を行う範囲を指定します。
戻り配列検索値と一致するデータが検索範囲にあった際に結果として表示するデータの範囲や配列を指定します。
見つからない場合検索値と一致するデータが検索範囲になかった場合に表示させる内容を指定します。
一致モード一致の種類について指定します。
検索モード検索方法について指定します。

XLOOKUP関数による簡単な転記術

XLOOKUP関数による簡単な転記術について例をもとに紹介します。

単価表

行\列AB
1商品名単価
2商品A570
3商品B360
4商品C820
5商品D650
6商品E980
7商品F260

売上明細

行\列ABCDE
1日付商品名単価売上数金額
22024/4/1商品B200
32024/4/1商品A150
42024/4/2商品D200
52024/4/3商品D100
62024/4/4商品F300
72024/4/4商品C250
82024/4/5商品E150

例えば、上記売上明細に、別シートに入力されている単価表をもとにした単価を転記して売上明細を完成させる手順について解説します。

1.「C2」セルにXLOOKUP関数を入力する

「C2」セルに「B2」セルに入力されている商品名を検索値とした単価を単価表から抽出するXLOOKUP関数を入力します。

この際、オートフィルでコピーしても値がずれないように、第二・第三引数は絶対参照としておきましょう。

=XLOOKUP(B2, ‘単価表’!$A$2:$A$7, ‘単価表’!$B$2:$B$7)

単価表に入力されている項目が増えた場合に引数に入力されている数値をいちいち書き換えなくてもいいように、列で商品名と単価を指定することもできます。この場合は、第二・第三引数を絶対参照とする必要はありません。

=XLOOKUP(B2, ‘単価表’!A:A, ‘単価表’!B:B)

2.「B2」セルに入力した数式をコピーする

「B2」セルに入力した数式を「B2」セル以下のセルにコピーしましょう。その際、金額欄に「単価」と「売上数」を乗算した計算式を入力すると自動で「金額」も計算されます。

売上明細

行\列ABCDE
1日付商品名単価売上数金額
22024/4/1商品B=XLOOKUP(B2, ‘単価表’!A:A, ‘単価表’!B:B)200
32024/4/1商品A150
42024/4/2商品D200
52024/4/3商品D100
62024/4/4商品F300
72024/4/4商品C250
82024/4/5商品E150

売上明細

行\列ABCDE
1日付商品名単価売上数金額
22024/4/1商品B360207,200
32024/4/1商品A570158,550
42024/4/2商品D6502013,000
52024/4/3商品D650106,500
62024/4/4商品F260307,800
72024/4/4商品C8202520,500
82024/4/5商品E9801514,700

XLOOKUP関数の実用的な活用例

XLOOKUP関数の実用的な活用例についていくつか紹介します。

活用例詳細
顧客の管理顧客名や顧客IDを用いて、顧客のデータベースから顧客の連絡先や住所といった顧客情報を取得する。
予算の管理部門名や部門IDを用いて、予算のデータベースから部門ごとの予算実績などの予算情報を取得する。
プロジェクトの管理プロジェクト名やプロジェクトIDを用いて、プロジェクトの進捗や予算といったプロジェクトの情報を取得する
在庫の管理商品名や商品コードを用いて、データベースより在庫数や価格といった商品情報を取得する。
売上データを分析する売上データを用いて、顧客情報や製品情報の取得を行い、売上データの分析に用いることができます。

よくある質問

検索関数「〜LOOKUP関数」に関連するよくある質問について紹介します。

エクセルのVlookupとXlookupの違いは何ですか?

VLOOKUP関数とXLOOKUP関数関数の違いを以下の表に簡単にまとめました。

VLOOKUPXLOOKUP
書式=VLOOKUP(検索値, 範囲, 列番号, [検索の型])=XLOOKUP(検索値, 範囲, 戻り配列,見つからない場合,一致モード,検索モード) 
検索する方向縦方向(垂直方向:Vertical)のみ検索する方向の制限はなし
検索範囲特定の1つの範囲複数の範囲を指定可能
返す値の位置検索を行った列と同一の列返す値の範囲を引数で指定できる
利用可能なExcelのバージョンすべてのExcelのバージョンで利用することができるExcel 365またはExcel 2019以降のバージョンから利用することができる

XLOOKUP関数は、VLOOKUP関数と比べて検索する方向や検索範囲などの制限がないため、より柔軟に目的の値を検索することができます。特に、複数の範囲を指定して検索することができるため、検索条件に当てはまる値を取得したい場合にはとても便利です。

エクセルのHlookupとVlookupの違いは何ですか?

HLOOKUP関数とVLOOKUP関数の違いを以下の表に簡単にまとめました。

HLOOKUPVLOOKUP
書式=HLOOKUP(検索値, 範囲, 行番号, [検索の型])=VLOOKUP(検索値, 範囲, 列番号, [検索の型])
検索する方向横方向(水平方向:Horizontal)縦方向(垂直方向:Vertical)
返す値の位置検索を行った行と同様の行検索を行った列と同一の列

HLOOKUP関数とVLOOKUP関数、どちらも指定された値を特定の方向で検索する関数です。検索する値の位置の指定方法や返す行・列の指定、検索方法(検索の型)の指定は、対応する引数で指定することが可能である点は共通となります。

エクセルのLookupとVlookupの違いは何ですか?

LOOKUP関数とVLOOKUP関数の違いを以下の表に簡単にまとめました。

LOOKUPVLOOKUP
書式=LOOKUP(検索値, 検索範囲, [対応範囲])=VLOOKUP(検索値, 範囲, 列番号, [検索の型])
検索する方向検索する方向の制限はなし縦方向(垂直方向:Vertical)のみ
検索範囲1つの行または1つの列特定の1つの範囲
返す値の位置検索範囲と同様の範囲検索を行った列と同一の列
検索方法近似一致完全一致と近似一致を選択可能

LOOKUP関数を現在のバージョンのエクセルでも用いることは可能です。しかし、機能強化版の関数であるVLOOKUP関数やHLOOKUP関数、XLOOKUP関数といった関数が存在するため、現在では非推奨となっています。

参考:LOOKUP 関数 – Microsoft サポート

まとめ

今回は、検索関数の中でも「〜LOOKUP関数」について詳しく紹介しました。

今回紹介した関数は、業務内でデータ検索を効率的に行おうと考えた場合に欠かすことのできないと言っても過言ではない関数たちです。

この記事を参考にして、これらの関数の使い方をマスターしてください。

Excellookup関数に関する重要用語

用語説明
絶対参照セルの移動やコピーを行った場合でも、参照先のセルが変更されずに固定した状態で参照する方法です。絶対参照では、セルの行・列番号を「$」記号を用いて指定します。
相対参照セルの移動やコピーを行った場合に、参照もとのセルから相対的な位置で指定されたセルを参照する方法です。