VLOOKUP関数とIF関数の組み合わせ方|空白処理や複数条件
ここでは、Excelの「VLOOKUP関数とIF関数の組み合わせ方」を解説します。
0を空白にする方法や、VLOOKUP関数をIF関数の条件で使う方法、VLOOKUP関数の検索値でIF関数を使う方法などです。
1.組み合わせ方は3パターン
VLOOKUP関数とIF関数の組み合わせ方は、次の3パターンがあります。
1
-1.IF関数の論理式(条件)にVLOOKUP関数を使う
一つ目は、「IF関数の論理式(条件)にVLOOKUP関数を使う」パターンです。
VLOOKUP関数で抽出した値が条件と一致する/しないで、返す値を変えたい場合に使います。
VLOOKUP関数だけだと空白が0になるのを「空白」にする、いわゆる「空白処理」もここに含まれます。
また、テストの成績判定など、「VLOOKUP関数の結果を複数判定したい」場合にもVLOOKUP関数を論理式に使います。
1
-2.IF関数の返す値にVLOOKUP関数を使う
二つ目は、「IF関数の返す値にVLOOKUP関数を使う」パターンです。
IF関数の論理式の真偽によって、VLOOKUP関数で抽出した値を返したい場合に使います。
例えば、選択した値によってVLOOKUP関数の参照先を変えたい時などが考えられます。
真の場合、偽の場合の片方だけにVLOOKUP関数を使うことも、両方に使うこともできます。
1
-3.VLOOKUP関数の検索値にIF関数を使う
三つ目は、「VLOOKUP関数の検索値にIF関数を使う」パターンです。
IF関数の結果に応じて検索値を変えたい場合がこれです。
ただ、この形は個人的には使わないです。
なぜなら、パターン1や2でも同じことができるからです(たぶん)。そして、そっちの方が分かりやすい気がします。
なので、このパターンは解説を省きます。
2.IF関数の論理式に使う時のポイント
まずは、「IF関数の論理式にVLOOKUP関数を使う」時のポイントを見てみます。
2
-1.まずは数式の形を確認
数式の形は次の通りです。
※ 「一致(=)」条件の場合
数式は、「VLOOKUP関数の返す値が条件値と一致するなら真の場合、しない場合は偽の場合を返す」という意味です。
なお、複数判定したい場合、数式は次のようになります。
※ 「一致(=)」条件の場合
この場合は、VLOOKUP関数の返す値が条件1と一致するなら「真の場合1」、条件2と一致するなら「真の場合2」、どちらとも一致しないなら「偽の場合」を返す形になります。
2
-2.0を空白にする「空白処理」をしたい
まずは、0を空白にする「空白処理」の仕方を見てみます。
2-2-1.数式の形とポイント
空白処理をしたい場合、数式の形は次の通りです。
ポイントは、次の通りです。
- ① VLOOKUP関数の頭に「=」は付けない
- ② 論理式を「VLOOKUP( )=0」とする
- ③ 真の場合を「""」とする
- ④ 偽の場合をVLOOKUP( )」とする
- ⑤ 論理式と偽の場合のVLOOKUP関数の数式は同じにする
これで、VLOOKUP関数の値が0の場合は空白、0以外はVLOOKUP関数の値が返ります。
2-2-2.例を確認
1つ例を見てみます。
上の例は、表から社員№3の熊谷さんをVLOOKUP関数で抽出したものです。
ただ熊谷さんの住所は空欄なので、0が返ってきています。
セルE9に入った数式は、次の通りです。
=VLOOKUP($A$9,$A$2:$E$5,COLUMN(E$1),FALSE)
そして、空白処理した数式が以下です。
=IF(VLOOKUP($A$9,$A$2:$E$5,COLUMN(E$1),FALSE)=0,"",VLOOKUP($A$9,$A$2:$E$5,COLUMN(E$1),FALSE))
数式は長くなりますが、「論理式」で作ったVLOOKUP関数の部分をコピーして「偽の場合」に貼り付ければ簡単です。
2
-3.VLOOKUP関数の結果を複数判定したい
次に、「VLOOKUP関数の結果を複数判定したい」場合のポイントと例を見てみましょう。
2-3-1.数式の形とポイント
VLOOKUP関数の結果を複数判定したい場合の数式の形は、次の通りでした。
※ 「一致(=)」条件の場合
ポイントは、次の通りです。
- ① 条件1に合う場合に返す値を「真の場合1」に入れる
- ② 条件2に合う場合に返す値を「真の場合2」に入れる
- ③ どちらにも合わない場合に返す値を「偽の場合」に入れる
- ④ VLOOKUP関数の頭に「=」を付けない
これで、VLOOKUP関数の値に応じてIF関数で返す値を決めることができます。
2-3-2.例を確認
一つ例を見てみましょう。
左の表は国語のテストの結果、右の表は判定基準です。
セルA8に選んだ人の判定結果をセルB8に表示させるのに、IF関数とVLOOKUP関数の組み合わせを使います。
セルB8に入れた数式は、次の通りです。
=IF(VLOOKUP(A8,A2:B5,2,FALSE)>=60,"合格",IF(VLOOKUP(A8,A2:B5,2,FALSE)>=40,"再試験","不合格"))
VLOOKUP関数で、セルA8に入れた人の点数を抽出しています。その後IF関数の条件への一致不一致で返す値を指定しています。
60点以上は「合格」、40点以上は「再試験」、どちらでもなければ「不合格」です。
ちなみに、「59点以下」という条件は必要ありません。60点以上か?の条件に不一致の人は全て59点以下だからです。
3.IF関数の返す値に使う時のポイント
続いて、「IF関数の返す値にVLOOKUP関数を使う」時のポイントを見ていきます。
3
-1.まずは数式の形を確認
数式の形は次の通りです。
数式は、「論理式の結果が『真の場合』と『偽の場合』でVLOOKUP関数の引数を変える」形になっています。
ポイントは特にないのですが、あえていうとすれば次の通りです。
- ① VLOOKUP関数の頭に「=」を付けない
- ② 真の場合と偽の場合で引数を任意に変える
なお、もちろん片方だけにVLOOKUP関数を使うことも可能です。
3
-2.VLOOKUP関数の参照先を変えたい
セルに入力した値によってVLOOKUP関数の参照先を変えたい場合には、真の場合や偽の場合にVLOOKUP関数が入ります。
3-2-1.数式の形とポイント
例えば、セルの値がAの場合、Bの場合、ABどちらでもない場合という形にする時、数式は次のようになります。
数式は、「条件1に当てはまる場合」と「条件2であてはまる場合」で異なるVLOOKUP関数の引数を指定し、どちらにも当てはまらない場合には偽の場合を返す」という数式です。
3-2-2.例を確認
一つ例を見てみましょう。
上の2つの表は、A店とB店の4~6月の売り上げを入力したものです。
これらの表をもとに、セルA11で入力した店舗の、セルB11で指定した月の売上を、セルC11にVLOOKUP関数で抽出してみます。
この場合、セルC11に入力した数式は、次の通りです。
=IF(A11="A",VLOOKUP(B11,A5:B8,2,FALSE),IF(A11="B",VLOOKUP(B11,D5:E8,2,FALSE),""))
数式は、「セルA11がAならA店の表から、セルA11がBならB店の表から、セルB11で指定した月の売上をVLOOKUP関数で抽出、セルA11がAでもBでもなければ空白」という意味になっています。
このように、IF関数とVLOOKUP関数を組み合わせれば、VLOOKUP関数をの参照先を任意に変えることができます。
以上、参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】
VLOOKUP関数のその他の記事はこちらです。
- VLOOKUP関数その他の記事はこちら
- ◎基本的な使い方
- ◎「以上/未満」の条件指定の仕方
- ◎〇番台の条件にする方法
- ◎部分一致の条件指定の仕方
- ◎別シートから値を抜き出す方法
- ◎別ブックから値を抜き出す方法
- ◎数式コピーで横方向の値を簡単に取得する方法
- ◎2番目、3番目以降の値を抽出する方法
- ◎#N/Aエラーになる3つの原因と対処方法
- ◎#REF!エラーになる原因と対処方法
- ◎#VALUE!エラーになる原因と対処方法
- ◎空白を0ではなく空白で表示する2つの方法
- ◎「IF(ISERROR(VLOOKUP」の意味と使い方
- ◎IFERROR関数とVLOOKUPの組み合わせ方
- ◎空白でもエラーでも空白で表示する方法
- ◎複数条件にする方法
- ◎セルや範囲を固定しコピーのズレを防ぐ方法
- ◎文字列を条件にする方法
- ◎列番号の意味と指定の仕方