エクセルVLOOKUP関数でワイルドカードを使ってあいまい検索する方法

エクセルVLOOKUP関数は、よく使われる関数です。検索値を検索して抽出する関数ですが、このVLOOKUP関数に、ワイルドカードを使ってあいまい検索をしたい、ということはないでしょうか。ワイルドカードは関数によっては使えません。ですが、エクセルVLOOKUP関数では、ワイルドカードを使ってあいまい検索ができます。これは、必見です。どのように使うのか、ここでは、紹介しています。

 

 

VLOOKUP関数

エクセルVLOOKUP関数は、指定した範囲の左端の列で検索値を探し、指定した列番号と同じ行にある値を返します。

VLOOKUP関数の書式と引数

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

検索値 検策する値を指定します。
範囲 検索する範囲を指定します。その場合、検索する列を範囲の一番左にします。検索の型にTRUEを指定、または省略した場合は、正確な値を返すために範囲の左端の列を昇順で並び替えておく必要があります。
列番号 範囲の先頭列から数えた、列番号を指定します。指定した列番号の列の値が返されます。
検索の型 FALSEまたは”0”を指定すると、一致する値のみ返されます。一致する値が見つからない場合は、エラー値#N/A が返されます。TLUEまたは”1”を指定すると完全一致の値、または近似値が返されます。省略した場合もTRUEになります。完全一致の値が見つからないと、検索値未満の最大値が返されます。

 

 

VLOOKUP関数であいまい検索

エクセルVLOOKUP関数の検索に、ワイルドカードを使うことによって、複雑な検索ができるようになります。

VLOOKUP関数でワイルドカードを使ってあいまい検索

VLOOKUP関数の検索値には「会社名」を使います。「会社名」にワイルドカードを使ってあいまい検索をしてみましょう。

C列の「契約料」に、右表のF列「契約料」を表示させます。

 

C2に、式を入力しましょう。

C2 =VLOOKUP(“*”&B2&”*”,$E$2:$F$9,2,FALSE)

C2の式の検索値「”*”&B2&”*”」は、「B2を含む」文字列を表しています。「”*”&B2&”*”」を検索値として、範囲「E2:F9」のE列「会社名」から値を検索しています。

C2には「22,000」が返されます。

C2の式を、下にドラッグしましょう。

C列に「契約料」が表示されます。

 

 

HLOOKUP関数であいまい検索

HLOOKUP関数でも、VLOOKUP関数と同じように、ワイルドカードを使ってあいまい検索ができます。使い方も似ています。

HLOOKUP関数でワイルドカードを使ってあいまい検索

HLOOKUP関数の検索値には、ワインの「種類」を使います。ワインの「種類」にワイルドカードを使ってあいまい検索をしてみましょう。

B列の「金額」に、右表の4行目「3級」の金額を表示させます。

 

B2に、式を入力しましょう。

B2 =HLOOKUP(A2&”*”,$E$1:$G$4,4,FALSE)

B2の式の検索値「A2&”*”」は、「A2から始まる」文字列を表しています。「A2&”*”」を検索値として、範囲「E1:G4」の一番上の行「種類」から値を検索しています。

B2には「3,000」が返されます。

B2の式を下にドラッグしましょう。

B列に、「3級」の「金額」が表示されます。

 

 

HLOOKUPとは

エクセルHLOOKUP関数は、指定した範囲の1番上の行で検索値を探し、指定した行番号と同じ列にある値を返します。VLOOKUP関数と書式、引数、その使い方は似ています。HLOOKUP関数は行を検索し、VLOOKUP関数は列を検索する関数です。

HLOOKUP関数の書式と引数

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

VLOOKUP、HLOOKUP関数で使えるワイルドカード

ワイルドカード 説明
任意の文字列を検索
? 任意の 1 文字を検索
~ ? や * の前につけて、ワイルドカード「*」「?」を検索

VLOOKUP関数には色々な使い方があります

エクセルVLOOKUP関数では検索にワイルドカードを使えますが、その他にも色々な使い方があります。VLOOKUPは、エクセル関数の中でもよく使われる関数で、使う頻度が高いです。とにかく使いやすいです。検索する関数は他にもありますが、検索はVLOOKUP関数、というユーザは多いのではないでしょうか。他の関数と組み合わせると、複雑な検索ができるようになります。

こちらの記事もご覧ください。⇒エクセルIF関数とVLOOKUP関数で別シートを参照する方法