- 公開日:
- 更新日:
エクセルの関数を利用した様々な検索方法
この記事では、エクセルの関数を利用した様々な検索方法についてご紹介します。
データの検索をスムーズに行うことが出来れば、たくさんのデータの中からでも任意のデータを検索して抽出することが可能になります。
以下では、数値や文字列を検索する関数や、行/列を検索する関数等についてもご説明しています。
数値や文字列を検索する関数
数値や文字列を検索したい場合は、VLOOKUP関数を使います。
VLOOKUP関数の書式は、「=VLOOKUP(検索値,範囲,列番号,[検索方法])」です。
VLOOKUP関数の用途や、ワイルドカードを使った検索方法、別シートを参照して検索する方法等については以下の記事をご参照ください。
ExcelのVLOOKUP関数の使い方|指定の列と同じ行にある値を返す
以下では、VLOOKUP関数を使って検索する方法をご紹介します。

今回は上の画像の表で、VLOOKUP関数を使って商品名を検索する方法をご説明します。
E3セルに商品番号を入力したら、左側の商品リストから該当の商品名を検索して表示します。
まずは、VLOOKUP関数から入力します。
【任意のセル(例:F3セル)】を選択し、『=VLOOKUP(』と入力します。

次に、検索値の引数を入力します。
E3セルに入力した商品番号で商品名を検索するので、「=VLOOKUP(」に続いて『E3,』と入力します。

次に、範囲の引数を入力します。
「E3,」に続いて『A3:C7,』と入力します。

次に、列番号の引数を設定します。
商品名は商品リストの2列目にあるので「A3:C7,」に続いて『2,』と入力します。

次に、検索方法の引数を設定します。
今回は完全一致で検索したいので、「2,」に続いて『FALSE)』と入力し、Enterを押します。

これで、数式が完成しました。
試しに、【E3セル】を選択し『101』と入力してEnterを押します。

問題なく対応する商品名が表示されました。
これで、VLOOKUP関数を使って検索することが出来ました。
後ろから文字列を指定して検索する関数

基本的に文字列は前から(左側から)しか検索ができません。
ただし、FIND関数とRIGHT関数とLEN関数を組み合わせることで、文字列を後ろから検索し任意の文字数分抽出することが出来ます。
後ろから文字列を指定して検索する方法については、以下の記事「RIGHT関数とLEN関数と組み合わせる」セクションをご確認ください。
行/列を検索する関数
MACTH関数を使えば、対象のセル範囲内で検索したい値や文字列がどの位置にあるかを行番号/列番号で調べることが出来ます。
MACTH関数の書式は「=MATCH(検索値,検索範囲,[照合の種類])」で、値や文字列が対象範囲の何行目/何列目にあるかを検索します。
以下の記事では、MATCH関数の引数の詳細や、ワイルドカードを使って検索する方法等についてご紹介していますので参考にしてみて下さい。
ExcelのMATCH関数の使い方|検索値の範囲内での相対的な位置を返す
以下では、MATCH関数を使って指定した商品名が商品リストの何行目にあるか検索する方法をご説明します。

今回は上の画像のような表を使って、D3セルに入力した「商品名」に該当する商品が商品リストの何行目にあるかを検索します。
【任意のセル(例:E3セル)】を選択し、『=MATCH(』と入力します。

次に、検索値の引数を設定します。
今回はD3セルに入力した商品名で行数を検索するので、「=MATCH(」に続いて『D3,』と入力します。

次に、検索範囲の引数です。
B列の商品名を引数にするので、「D3,」に続いて『B3:B12,』と入力します。

次に、照合の種類の引数を設定します。
今回は完全一致で検索するので、「B3:B12,」に続いて『0)』と入力し、Enterを押します。

これで、数式が完成しました。
試しに【D3セル】を選択して、『フルーツタルト』と入力しEnterを押します。

E3セルに「7」と表示されました。
これで、MATCH関数を使って行数を検索することが出来ました。
空白セルを検索してカウントする関数
空白セルを検索してカウントにするには、COUNTBLANK(カウントブランク)関数を使うと便利です。
COUNTBLANK関数の書式は「=COUNTBLANK(範囲)」で、範囲の引数に設定したセル範囲内で「空白」のセルがいくつあるかを数えることが出来ます。
方法の詳細は以下の通りです。

今回は上の画像の「得点表」で、COUNTBLANK関数を使って欠席者の数を数えます。
【任意のセル(例:D2セル)】を選択し、『=COUNTBLANK(』と入力します。

次に、範囲の引数を選択します
今回は、B3セルからB12セルの中で空白のセルを検索したいので「=COUNTBLANK(」に続いて『B3:B12)』と入力し、Enterを押します。

D2セルに「3」と表示されました。
これで、COUNTBLANK関数を使って空白セルの数を数えることが出来ました。
名前を検索する関数
VLOOKUP関数では、文字列や名前も検索可能です。
以下では、VLOOKUP関数を使って社員番号から社員名を検索する方法をご説明します。

今回は上の画像のような「社員名簿」を使って、D3セルに社員番号を入力したら「社員名簿」から該当社員の社員名を検索しE3セルに表示する方法をご説明します。
【E3セル】を選択し、『=VLOOKUP(』と入力します。

次に検索値の引数を設定します。
今回はD3セルに入力した社員番号を使って検索するので、「=VLOOKUP(」に続いて『D3,』と入力します。

次に、範囲の引数を設定します。
「D3,」に続いて『A3:B12,』と入力します。

次に、列番号の引数を設定します。
「名前」は社員名簿の2列目にあるので、「A3:B12,」に続いて『2,』と入力します。

次に、検索方法の引数を設定します。
今回は完全一致で検索するので、「2,」に続いて『FALSE)』と入力し、Enterを押します。

これで、数式が完成しました。
試しに【D3セル】を選択し、『104』と入力してみます。

問題なく「104」に該当する社員名が表示されました。
これで、VLOOKUP関数を使って名前を検索することが出来ました。
VLOOKUP関数で複数条件で検索する
通常、VLOOKUP関数では複数条件を設定して検索することはできませんが条件にしたい項目名を&(アンド)で繋ぐことによって可能になります。
また、Excel 2021をお使いの方は、「XLOOKUP関数」で複数条件を設定した検索ができます。
XLOOKUP関数の詳細については、以下の記事「指定した複数条件で検索して抽出する」セクションをご確認ください。
以下では、VLOOKUP関数を使って複数条件で検索する方法をご説明します。

今回は上の画像のような表を使って、G2セルとH2セルにそれぞれ「仕入れ先の名前」と「商品名」を入力したら、I2セルに左の商品リストから対応する単価を検索して表示するという数式を作成します。
VLOOKUP関数は1つの条件でしか作成できないため、左側の表と右側の表の両方で「仕入れ」と「商品名」を繋げて1つの条件にします。
まずは、左の表で「仕入れ」と「商品名」の項目を繋げます。
【任意のセル(例:A2セル)】を選択し、『=B2&C2』と入力しEnterを押します。

次に数式をオートフィルでコピーします。
【数式を入力したセル(例:A2セル)】を選択し、セルの右下にある「■(フィルハンドル)」を下に向かって【ドラッグ】します。

次に、右の表で「仕入れ先の名前を入力するセル」と「商品名を入力するセル」をアンドで繋げます。
【任意のセル(例:F2セル)】を選択して、『=G2&H2』と入力しEnterを押します。

これで、左右の表で「仕入れ先の名前」と「商品名」を繋げることが出来ました。
次に、VLOOKUP関数を入力します。
【I2セル】を選択し、『=VLOOKUP(』と入力します。

次に、検索値の引数を選択します。
今回はG2セルとH2セルに入力した「仕入れ先の名前」と「商品名」をF2セルで繋げたキーワードで検索するので、「=VLOOKUP(」に続いて『F2,』と入力します。

次に、範囲の引数を設定します。
先ほど「=B2&C2」の数式を入力した列も範囲に含めます。
「F2,」に続いて『A2:D11,』と入力します。

次に、列番号の引数についてです。
単価は左の表の4列目にあるので「A2:D11,」に続いて『4,』と入力します。

次に、検索方法の引数を設定します。
今回は完全一致で検索するので、「4,」に続いて『FALSE)』と入力し、Enterを押します。

I2セルに、結果が表示されました。
これで、VLOOKUP関数を使って複数条件で検索することが出来ました。