【Excel・エクセル】IF関数とVLOOKUP関数を組み合わせた使い方

if,抽出,検索

もりの

VLOOKUP関数とIF関数を組み合わせると、すっげ便利と聞いて。

やまの

使い方を見てみよう。

今回のポイント
  • 「=IF(VLOOKUP(~),○,×)」で、VLOOKUPの結果を条件にしたIF関数に
  • 「=IF(○="","",VLOOKUP(~)」で、空白セルを無視してVLOOKUP関数ができる

スポンサーリンク

IF×VLOOKUP組み合わせの練習ファイルダウンロード

もりの

一緒にやってみませんか?

【Excel・エクセル】IF関数とVLOOKUP関数を組み合わせる

もし~だったら○、そうでなかったら×を返すIF関数と、検索値から該当するセルの値を検索するVLOOKUP関数。

二つを組み合わせると、

  • VLOOKUP関数の結果を条件にしたIF関数が作れる
  • IF関数で条件に合った値をVLOOKUP関数で検索できる
  • 空白セルを無視してVLOOKUP関数ができる

など、便利な使い方ができます。

ちなみにVLOOKUP関数とIF関数をおさらいしておくと……

VLOOKUP関数の書き方

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

VLOOKUP検索値を範囲から探して、そこから列番号分右にあるセルの値を持ってきて
検索値この値を基準にして
範囲この範囲の中の
列番号左から何番目にある値を
検索方法検索値と全く一緒じゃないとダメか、似てるもでいいのか
IF関数の書き方

=IF(理論式,値が真の場合,値が偽の場合)

IFもし
理論値この数式が
値が真の場合当てはまったらこうしてね
値が偽の場合当てはまらなかったらこうしてね
やまの

VLOOKUP関数の中にIF関数を入れるのと、IF関数の中にVLOOKUP関数を入れるのでは、使い方が違うんよ。

もりの

おー、複雑そうだ。

VLOOKUP関数をIF関数の条件(理論式)にするパターン

二つの関数が合わされば、VLOOKUP関数の検索結果をもとに、IF関数で結果の分岐ができます。

例えば売上表の金額が5,000円以上の商品に人気商品としたい場合。

D列の売上をもとに、セルB8に5,000円以上なら人気と表示させてみましょう。

IF関数とVLOOKUP関数の組み合わせ練習問題
IFとVLOOKUPの組み合わせ練習問題
もりの

売上表と人気の表は別なのか。

やまの

金額をVLOOKUP関数で検索して、それをIF関数の条件にするといいんよ。

IF関数とVLOOKUP関数を分けて考える

これからIF関数とVLOOKUP関数を組み合わせますが、それぞれ別で考えると分かりやすいかもしれません。

IF関数

今回IF関数部分は「売り上げが5,000以上だったら"人気"、そうでなければ空白」です。

つまり式は、「=IF(D2>=5000,"人気","")」になりますね。

この「D2」部分を、VLOOKUP関数を使って持ってこようとしています。

VLOOKUP関数

今回VLOOKUP関数部分は「A列の商品名から、該当する売上を検索する」です。

つまり式は「=VLOOKUP(A8,A1:D5,4,0)」ですね。

この二つの式を、合体させるイメージですね!

ステップ1

何はともあれ、まずは関数名を書きましょう。

セルB8に「=IF(」まで書いてください。

=IF(まで入力した画像
まずは関数名

ステップ2

理論式をVLOOKUP関数にするので、続けて「VLOOKUP(」と入力します。

理論式にVLOOKUP関数を入れた画像
理論式がVLOOKUP

ステップ3

次にVLOOKUP関数の検索値。

ここは商品名が使えそうですね。

というわけで、商品名が書かれたセルA8をクリックしてください。

あ、「,(カンマ)」も忘れずに。

検索値を決めた画像
検索値は、お互いにある値

ステップ4

検索元の表はセルA1~D5ですね。

セルA1~D5までをドラッグして選択して、,(カンマ)を入力してください。

範囲を指定した画像
元になる表をドラッグ

ステップ5

次に列番号。
検索値から数えて、いくつ右にある値を検索したいのかです。

売上は商品名から見て4つ目にあるので、「4,」、最後の検索方法は、基本「0(FALSE)」でOKです。

VLOOKUP関数は終わりなので、カッコを閉じます。

列番号と検索方法を指定した画像
左から数えて4番目

ステップ6

理論式の続きです。

VLOOKUP関数で検索した売上が5000以上だったらとしたいので、「>=5000,」と書きますね。

理論式が完成した画像
VLOOKUPの検索結果が5000以上だったら

ステップ7

最後に真の場合と偽の場合。

売上が5,000以上なら人気、5,000未満なら空白にしたいので、真の場合は「"人気"」、偽の場合は「""」になりますね。

これで式は完成なので、カッコを閉じましょう。

真の場合と偽の場合を入力した画像
真なら「人気」偽なら空白

完成!

エンターキーを押せば、答えが出ました!

モグモググミは売上が8,000未満なので、空白になりました。

IF関数とVLOOKUP関数の組み合わせ完成
モグモググミは人気ではなかった

検索値をカムカムガムに変えてみました。

カムカムガムは売上が5,000以上なので、人気と表示されました!

VLOOKUPの検索結果をもとに、IF関数で結果の分岐ができているようです。

検索値を変更した画像
ちゃんと検索と分岐ができてる

VLOOKUP関数をIF関数の真の場合にして、空白の計算を回避する

VLOOKUP関数は検索値が空欄だと、エラー(#N/A)となってしまいます。

例えば価格をVLOOKUP関数で検索している注文書では、注文していない行はエラーになってしまいます。

これではカッコ悪い……

IF関数とVLOOKUP関数の組み合わせ列番号2
VLOOKUP関数で価格を検索している
もりの

これはVLOOKUP関数を使って、A9の商品名からA1:B5の価格を持ってきてるって式だね。

やまの

IF関数と組み合わせれれば、空白は検索しないようにできるんよ。

ステップ1

すでにあるこの式を活用しましょう。

F2キーを押すか、数式バーからにゅうりょくすれば、式を編集できますよ。

まずはIF関数を使いたいので、頭に「=IF(」と書きます。

VLOOKUP関数をIF関数で囲む画像
VLOOKUP関数をIF関数で囲む

ステップ2

注文書のA列が空白だったら、空白のままにしたいと思います。

理論式はセルA9をクリックして、「="",」と書けば良さそうですね。

A9が空白だったらという式
A9が空白だったら
もりの

「""」で、空白を表すんだね。

ステップ3

空白だったら空白としたいので、真の場合は「"",」でOKです。

空白だったら空白のままにする式
空白だったら空白のままにしたい

ステップ4

次に偽の場合。

A列が空白じゃなかったら、そのままVLOOKUP関数を使って価格を検索したいので、元からあったVLOOKUP関数がそのまま使えますね。

偽の場合はそのままVLOOKUP関数を使った画像
偽の場合はそのままVLOOKUP関数

ステップ5

最後にIF関数用のカッコ閉じを入力してください。

IFのカッコ閉じを入れた画像
IFのカッコ閉じを入れる

完成!

これで式は終わりです!

エンターキーで確定して、オートフィルすると、無事A列が空白だと、エラーではなく空白になりました!

VLOOOKUPで空白のエラーがなくなった画像
空白のエラーがなくなった!

【Excel・エクセル】 エラーを空白にするなら

もりの

合計のエラーがとっても気になるんだけど……

やまのの困った顔
やまの

あらま!

確かに、合計は価格×個数ですが、空白を掛けるって謎の式になっているので、エラーになってしまってますね。

合計がエラーになっている画像
数字じゃないのでエラーになった
やまの

これもIF関数で空白にできるんよ。

考え方は先ほどのVLOOKUPの時と同じ。

「=B9*C9」を「=IF(A11="","",B9*C9)」にすれば、ホラこの通り!

エラーがなくなった画像
エラーがなくなった
もりのの笑った顔
もりの

VLOOKUP関数以外でも使えるんだね!

やまの

IFERROR関数を使うって手もあるよ。

他にもいろんな使い方があるので、ぜひ組み合わせをマスターして、資料作りに役立ててくださいね!
それでは、お疲れさまでした!

今回のおさらい
  • 「=IF(VLOOKUP(~),○,×)」で、VLOOKUPの結果を条件にしたIF関数に
  • 「=IF(○="","",VLOOKUP(~)」で、空白セルを無視してVLOOKUP関数ができる