【エクセル中級者向け】「○以上の場合は□」の条件分岐ならIF関数よりもVLOOKUP関数の近似一致参照がおすすめ
AさんAさん

VLOOKUP関数の「検索方法」は”FALSE”(または”0”)を毎回使っていますが、”TRUE”ってどんなときに使うのですか??

森田森田

VLOOKUP関数は「検索方法」が”FALSE”の完全一致検索さえ覚えていれば実務で困ることはないので、疑問に思ったことは素晴らしいですね。
実際、「検索方法」を”TRUE”の近似一致検索を行なうとしたら、おすすめは「○以上の場合は□」という条件分岐を行なうケースです。
今回は、VLOOKUP関数の近似一致検索の方法について解説していきますね。

はじめに

本題に入る前に、この記事がおすすめな人を挙げてみます。

  • データの転記・集約作業が多い人
  • エクセルを使う頻度が高い人
  • 事務職の人

ちなみに、最低限「VLOOKUP関数の基礎」を把握している想定での記事となります。
※自信がない方はこちらの記事で学んでください。
【初心者向け】データ転記の作業時間を9割カット!VLOOKUP関数の使い方

「○以上の場合は□」の条件分岐とは?

たとえば、点数や割合によってランク付けを行なう場合などが該当します。

今回は、ある割合について、次の基準でA~Dの4つのランク付けを行うケースを具体例とします。

  • Aランク:75%以上
  • Bランク:50%以上75%未満
  • Cランク:25%以上50%未満
  • Dランク:25%未満

一般的にはIF関数で対応する人が多い

上記の条件でランク付けの条件分岐を行なう際、一般的にはIF関数を利用する人が多いですね。

IF関数は条件分岐を行なうためのもっとも有名な関数ですからね。

なお、IF関数で対応するとしたら、以下のような数式になります。

条件分岐を行なうために、IF関数の中にIF関数を複数入れ子にしていかないと、複数の条件分岐を実現できません。

こういった複数のIF関数を入れ子状に活用することを「ネスト」と表現しますが、数式でネストが頻繁に利用されると、数式が長くなり可読性が悪くなります。

そこで、活躍するのがVLOOKUP関数の近似一致検索です。

実はVLOOKUP関数の近似一致(引数「検索方法」がTRUE)で検索が楽チン

VLOOKUP関数の近似一致検索とは、VLOOKUP関数の4番目の引数「検索方法」を”TRUE”または”1”を入力するか、省略してあげればこの検索方法となります。

対象が数値だけとなりますが、これで「検索値」が近似値でもVLOOKUP関数で検索することが可能になりますよ。

ポイントは表を昇順に設計すること

唯一のポイントは、VLOOKUP関数で検索したい表の並びを昇順にすることです。

今回の例でいえば、上からA→Dの並びでは「検索値」を探す列の数値が降順(数値が大き順)に並んでいるため、これをD→Aへ並べ替えを行い、「検索値」を探す列の数値を昇順(数値が小さい順)にしなければなりません。

この状態でVLOOKUP関数の引数「検索方法」だけ注意すれば問題ないです。

上記のように引数「検索値」に指定したD2セルの値”74%”に該当するランクの”B”がVLOOKUP関数の計算結果としてE2セルに表示されましたね。

昇順へ並べ替えの手順

  1. 並べ替えしたいセル範囲を選択
  2. リボン「データ」タブを選択
  3. 「昇順」をクリック

もっと詳細について知りたいはこちらの記事をご参照ください。→こちら

昇順でないと意図しない戻り値(返り値)になってしまう

ちなみに、降順の表でも試してみましょう。

ご覧のとおり意図しない結果となってしまいますね。

必ず、事前準備としてVLOOKUP関数で参照する表は昇順で並べ替えしておきましょう。

サンプルファイルで練習しよう!

では、今まで解説した部分について、実際にサンプルファイルをとおして練習してみましょう!

サンプルの条件

今回の題材は次のとおりです。

「ランク」というシートにA列に「比率」、B列にA~Dの「ランク」が一覧表になっています。

そして、D2セルに”74%”という値が入っています。

このD2セルの値がA・B列の表に当てはめた場合、どのランクになるのかをVLOOKUP関数の近似一致検索で判定しますが、VLOOKUP関数自体はE2セルへセットしましょう。

実際に操作しよう!

可能であれば、以下のサンプルファイルをダウンロードして実際に操作してみてください。

サンプルファイル_VLOOKUP関数_近似一致
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ファイルを開いたら次の手順を実施してください。

  1. 「ランク」シートを選択
  2. A2~B5セルを選択
  3. リボン「データ」タブを選択
  4. 「昇順」をクリック
  5. E2セルへ「=VLOOKUP($D$2,$A$2:$B$5,2,1)」を入力
    ※赤字の部分をコピーして貼り付けてください。

上記手順を行った結果は「ランク (関数あり)」シートにありますので、このシートの内容と実際に操作した結果が同じになっていればOKです。

また、「ランク (IF関数)」シートは同じことをIF関数で実現する場合の数式を入れています。(A・B列の表は当初の降順のまま)

IF関数について詳細を知りたい方はこちらの記事をご参照ください。→こちら

さいごに

VLOOKUP関数の近似一致検索をちゃんと使っている人は意外と周りを見渡しても少ないですね。

知っておくと地味に便利なので、条件分岐を設定するひとつの手法として、状況に合わせてIF関数とともにご活用ください。

なお、その他にもVLOOKUP関数関連の実務で役立つテクニックについて、私の書籍で紹介しているので、こちらもご参考にしていただければと思います。

▼VLOOKUP関数を基本から応用まで体系的に学びたい方向け

▼VLOOKUP関数の応用テクニックに加えて、その他IF関数なども学びたい方向け

ご参考になれば幸いですm(_ _)m

森田森田

正直私はVLOOKUP関数の引数「検索方法」の”TRUE”は「何のためにあるんだろ?」と思っていましたが、今回のように条件分岐に役立てると良いと知ったら便利でしたよ。
しかし、正直VLOOKUP関数の引数「検索方法」は圧倒的に”FALSE”の利用頻度の方が高いので、「検索方法」を省略した場合は”FALSE”とみなしてほしかったですね。