- 公開日:
- 更新日:
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関数でデータを抽出する際、不特定の値を検索値として指定することができます。
例えば正しくは「さとう株式会社」と検索したいところ、「さとう株式会社」「株式会社さとう」「(株)さとう」のどれかがあいまいな場合に、特殊文字を組み合わせることで「さとう株式会社」を検索することができます。
ワイルドカードの使い方は以下の記事でご紹介しています。