VLOOKUP関数とIF関数の組み合わせ方|空白処理や複数条件

ここでは、Excelの「VLOOKUP関数とIF関数の組み合わせ方」を解説します。

 

0を空白にする方法や、VLOOKUP関数をIF関数の条件で使う方法、VLOOKUP関数の検索値でIF関数を使う方法などです。

1.組み合わせ方は3パターン

VLOOKUP関数とIF関数の組み合わせ方は、次の3パターンがあります。

 

-1.IF関数の論理式(条件)にVLOOKUP関数を使う

一つ目は、「IF関数の論理式(条件)にVLOOKUP関数を使う」パターンです。

VLOOKUP関数で抽出した値が条件と一致する/しないで、返す値を変えたい場合に使います。

 

VLOOKUP関数だけだと空白が0になるのを「空白」にする、いわゆる「空白処理」もここに含まれます。

 

また、テストの成績判定など、「VLOOKUP関数の結果を複数判定したい」場合にもVLOOKUP関数を論理式に使います。

 

-2.IF関数の返す値にVLOOKUP関数を使う

二つ目は、「IF関数の返す値にVLOOKUP関数を使う」パターンです。

IF関数の論理式の真偽によって、VLOOKUP関数で抽出した値を返したい場合に使います。

 

例えば、選択した値によってVLOOKUP関数の参照先を変えたい時などが考えられます。

 

真の場合、偽の場合の片方だけにVLOOKUP関数を使うことも、両方に使うこともできます。

 

-3.VLOOKUP関数の検索値にIF関数を使う

三つ目は、「VLOOKUP関数の検索値にIF関数を使う」パターンです。

 

IF関数の結果に応じて検索値を変えたい場合がこれです。

 

ただ、この形は個人的には使わないです。

 

なぜなら、パターン1や2でも同じことができるからです(たぶん)。そして、そっちの方が分かりやすい気がします。

 

なので、このパターンは解説を省きます。

2.IF関数の論理式に使う時のポイント

まずは、「IF関数の論理式にVLOOKUP関数を使う」時のポイントを見てみます。

 

-1.まずは数式の形を確認

数式の形は次の通りです。

=IF(VLOOKUP(検索値,範囲,列番号,検索方法)=条件値,真の場合,偽の場合)

※ 「一致(=)」条件の場合

 

数式は、「VLOOKUP関数の返す値が条件値と一致するなら真の場合、しない場合は偽の場合を返す」という意味です。

 

なお、複数判定したい場合、数式は次のようになります。

=IF(VLOOKUP(検索値,範囲,列番号,検索方法)=条件1,真の場合1,IF(VLOOKUP(検索値,範囲,列番号,検索方法)=条件2,真の場合2,偽の場合))

※ 「一致(=)」条件の場合

 

この場合は、VLOOKUP関数の返す値が条件1と一致するなら「真の場合1」、条件2と一致するなら「真の場合2」、どちらとも一致しないなら「偽の場合」を返す形になります。

 

-2.0を空白にする「空白処理」をしたい

まずは、0を空白にする「空白処理」の仕方を見てみます。

 

2-2-1.数式の形とポイント

空白処理をしたい場合、数式の形は次の通りです。

=IF(VLOOKUP(検索値,範囲,列番号,検索方法)=0,"",VLOOKUP(検索値,範囲,列番号,検索方法))

 

ポイントは、次の通りです。

ポイント
  • ① 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関数の部分をコピーして「偽の場合」に貼り付ければ簡単です。

 

-3.VLOOKUP関数の結果を複数判定したい

次に、「VLOOKUP関数の結果を複数判定したい」場合のポイントと例を見てみましょう。

 

2-3-1.数式の形とポイント

VLOOKUP関数の結果を複数判定したい場合の数式の形は、次の通りでした。

=IF(VLOOKUP(検索値,範囲,列番号,検索方法)=条件1,真の場合1,IF(VLOOKUP(検索値,範囲,列番号,検索方法)=条件2,真の場合2,偽の場合))

※ 「一致(=)」条件の場合

 

ポイントは、次の通りです。

ポイント
  • ① 条件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関数を使う」時のポイントを見ていきます。

 

-1.まずは数式の形を確認

数式の形は次の通りです。

=IF(論理式,VLOOKUP(検索値1,範囲1,列番号1,検索方法),VLOOKUP(検索値2,範囲2,列番号2,検索方法))

 

数式は、「論理式の結果が『真の場合』と『偽の場合』でVLOOKUP関数の引数を変える」形になっています。

 

ポイントは特にないのですが、あえていうとすれば次の通りです。

ポイント
  • ① VLOOKUP関数の頭に「=」を付けない
  • ② 真の場合と偽の場合で引数を任意に変える

 

なお、もちろん片方だけにVLOOKUP関数を使うことも可能です。

 

-2.VLOOKUP関数の参照先を変えたい

セルに入力した値によってVLOOKUP関数の参照先を変えたい場合には、真の場合や偽の場合にVLOOKUP関数が入ります。

 

3-2-1.数式の形とポイント

例えば、セルの値がAの場合、Bの場合、ABどちらでもない場合という形にする時、数式は次のようになります。

=IF(セル番号=条件1,VLOOKUP(検索値1,範囲1,列番号1,検索方法),IF(セル番号=条件2,VLOOKUP(検索値2,範囲2,列番号2,検索方法),偽の場合))

 

数式は、「条件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本の紹介】


Top