• 公開日:
  • 更新日:

ExcelのVLOOKUP関数の近似値(あいまい検索)の使い方

この記事では、ExcelのVLOOKUP関数の近似値(あいまい検索)の使い方をご紹介します。

VLOOKUP関数を使用する際、「FALSE」を指定して完全一致したデータを抽出する方法が多く使われますが、値段や重さによって変動する割引率や送料を求めたい場合は、「TRUE」を指定すると便利です。

以下では、「TRUE」検索のほかに、ワイルドカードを使ったあいまい検索の方法もご紹介します。

近似値とは?

完全一致と近似値一致の違い

VLOOKUP関数の検索方法には近似値一致の「TRUE」と完全一致の「FALSE」の2つがあります。

検索方法の違いを上記の画像を例にしてご説明します。

例えば検索値が「1.0」の場合、検索方法を「TRUE」にしている場合は、「1.0」「1.1」「1.5」「1.9」が一致していると判定されて「いちご」が返されます。

検索方法を「FALSE」にしている場合は、「1.0」だけが一致していると判定されて1.0に「いちご」が返されます。

ほかの値は完全一致していないので、データが存在していないと判定されて#N/Aエラーが返されます。

VLOOKUP関数では「FALSE」を指定することが多いですが、使い方によっては「TRUE」が便利な場合もあります。

ExcelのVLOOKUP関数の近似値(あいまい検索)の使い方

VLOOKUP関数の検索方法で「TRUE」を指定して近似値を検索する方法をご紹介します。

上記の表は、「注文票」の合計に応じた割引率をVLOOKUP関数で取得しています。ただし、合計金額は注文した商品によって変動するため、近似値(あいまい検索)を使ってE10セルの「割引」も変動するように指定していきます。

今回は、VLOOKUP関数の検索方法で「TRUE」を指定するためデータを「昇順」つまり数値が小さい順になるように並び替える必要があります。「昇順」にしていないと、上記の表のように誤った結果が返されてしまいます。

並び替えるデータが入力されたセルを選択します。②ホームタブ、③並び替えとフィルター、④昇順の順に選択します。データを並び替える際、隣り合ったデータも一緒に選択してください。例えば「合計」だけを並び替えてしまうと、「割引」の値はそのままなのでデータがずれてしまいます。

データを昇順にすることで、E10セルに正しい値を返すことができました。以下では、VLOOKUP関数で近似値(あいまい検索)を取得する手順をご紹介します。

オートサム機能を使って商品の合計を算出します。①合計値を表示するセル(例:E9セル)を選択します。②ホームタブ、③合計、④合計の順に選択します。

オートサム機能で選択された計算範囲を確認し、Enterを押します。

E10セルに「=VLOOKUP(E9,G2:H7,2,TRUE)」を入力し、Enterを押します。数式は、「検索値」¥18,000をG2セルからH8セルの間で検索して、検索値に紐づく2列目の値を抽出します。検索方法で「TRUE」を指定している場合、「検索値」18,000は「18,000以上20,000未満」に該当するので15%が返されます。

E11セルに「=E9-(E9*E10)」を入力して、Enterを押します。「合計」×「割引率」で割引金額を求めて、「合計」から引いた値が「請求金額」です。

検索方法で「TRUE」を選択することで、範囲から検索値の近似値を抽出することができました。

合計値が変わった場合に、「割引」の値が変動するか確認していきます。試しにC3セルに2を入力してEnterを押します。「合計」が¥20,000に変わったため、「割引」が20%と表示されました。

ワイルドカードを使ったあいまい検索の使い方

VLOOKUP関数でデータを抽出する際、不特定の値を検索値として指定することができます。

例えば正しくは「さとう株式会社」と検索したいところ、「さとう株式会社」「株式会社さとう」「(株)さとう」のどれかがあいまいな場合に、特殊文字を組み合わせることで「さとう株式会社」を検索することができます。

ワイルドカードの使い方は以下の記事でご紹介しています。

ExcelのVLOOKUP関数でワイルドカードを使って部分一致検索する