エクセルVLOOKUP関数は、値を検索して抽出する関数です。ここでは、IF関数の複数条件に、VLOOKUP関数を組み込んで検索する方法を紹介しています。IF関数とVLOOKUP関数を組み合わせて、複数の条件で検索、抽出する使い方です。IF関数の引数「真の場合」に、VLOOKUP関数を入れて検索していきます。IF関数は、複数条件です。VLOOKUP関数の検索範囲は、複数あります。VLOOKUP関数の複数範囲から検索して値を返していきます。VLOOKUP関数とIF関数は、単独でもよく使われる関数です。一度は使ったことがあるでしょう。この2つの関数を組み合わせることによって、より複雑な検索、抽出ができるようになります。基本から順を追って、分かりやすく説明しているので、マスターしてスキルアップしましょう。
目次
VLOOKUP関数の復習
IF関数とVLOOKUP関数の組み合わせて、値を検索、抽出する方法を紹介する前に、エクセルVLOOKUP関数の復習をしてみましょう。
社員№を検索値として、C列の氏名に、右表の氏名を表示せてみましょう。
C2に式を入力します。
C2 =VLOOKUP(A2,$E$2:$F$10,2,FALSE)
C2には、「伊東 洋治」が返されます。
C2の式を、下にドラッグしましょう。
C列に、氏名が表示されました。
IF関数とVLOOKUP関数を組み合わせて検索
エクセルIF関数とVLOOKUP関数を組み合わせて、基本的な検索をしてみましょう。
C2に、「講演A」だったら、範囲「E2:F4」から開催地を抽出し、それ以外は「空白」を表示させる式を入力します。
C2 =IF(B2=”講演A”,VLOOKUP(B2,$E$2:$F$4,2,0),””)
「東京」が返されます。
C2の式を、下にドラッグしましょう。
「講演A」には開催地「東京」が、それ以外は「空白」を表示が表示されました!
IF関数とVLOOKUP関数で複数範囲で検索
IF関数とVLOOKUP関数を組み合わせて、複数範囲で検索する方法です。
型A、型B、型Cの3つの料金表から、値を検索して料金を表示させましょう。
型A、型B、型Cによって料金が分かれています。3つの型を判定して、検索する表を指定していきます。
D2に式を入力しましょう。
D2 =IF(B2=”A”,VLOOKUP(C2,$F$3:$G$5,2,FALSE),IF(B2=”B”,VLOOKUP(C2,$I$3:$J$5,2,FALSE),VLOOKUP(C2,$L$3:$M$5,2,FALSE)))
D2の式の説明をしましょう。
B2がAの場合:「型A」の料金表から値を検索します。
B2がBの場合:「型B」の料金表から値を検索します。
B2がCの場合:「型C」の料金表から値を検索します。
B2は型がAです。「型A」の料金表から検索します。
D2には、「1,200」が返されます。
D2の式を、下にドラッグしましょう。
表に料金が表示されました!
VLOOKUP関数
エクセルVLOOKUP関数は、値を検索して抽出する関数です。指定した範囲の1列目で検索値を探し、指定した列番号と同じ行にある値を返します。
VLOOKUP関数の書式と引数
=VLOOKUP(検索値, 範囲, 列番号,[ 検索の型])
検索値 | 検策する値を指定します。 |
範囲 | 検索する範囲を指定します。その場合、検索する列を範囲の一番左にします。検索の型にTRUEを指定、または省略した場合は、正確な値を返すために範囲の左端の列を昇順で並び替えておく必要があります。 |
列番号 | 範囲の先頭列から数えた、列番号を指定します。指定した列番号の列の値が返されます。 |
検索の型 | FALSEまたは”0”を指定すると、一致する値のみ返されます。一致する値が見つからない場合は、エラー値#N/A が返されます。TLUEまたは”1”を指定すると完全一致の値、または近似値が返されます。省略した場合もTRUEになります。完全一致の値が見つからないと、検索値未満の最大値が返されます。 |
IF関数
エクセルIF関数は、真の場合は真の場合の値を返し、偽の場合は偽の場合の値を返す関数です。
IF関数は、エクセル関数の中で使用頻度が高い関数です。他の関数と組み合わせて使用されることも多いです。
IF関数の書式と引数
IF(論理式,真の場合,偽の場合)
論理式 | 条件式を指定します。 |
真の場合 | 論理式がTRUEの場合に返す値を指定します。 |
偽の場合 | 論理式がFALSEの場合に返す値を指定します。省略するとFALSEを返します。 |
IF関数とVLOOKUP関数の組み合わせで別シートを参照して検索
エクセルIF関数とVLOOKUP関数と組み合わせて使う方法を、同シートで紹介しましたが、別シートを参照して検索することもできます。
ここでは条件が3つで、検索範囲が3つに分かれていましたが、3つ以上となると、シートごとに検索範囲を分けることが多いのではないでしょうか。
そのような場合に、IF関数とVLOOKUP関数と組み合わせて、別シートから値を検索して値を抽出することができます。
こちらの記事もご覧ください。⇒エクセルIF関数とVLOOKUP関数で別シートを参照する方法