エクセルIF関数とVLOOKUP関数で別シートを参照する方法

エクセルIF関数とVLOOKUP関数を、組み合わせて使うことはよくあります。IF関数の、もし~だったらの条件に一致した値を参照する範囲が、別シートにあります。このような時に、IF関数とVLOOKUP関数を組み合わせて、別シートを参照して値を返すことができます。ここでは、もし~だったらの条件が複数ある場合、参照する複数の別シートから、値を検索して抽出しています。

 

 

IF関数とVLOOKUP関数で別シートを参照

IF関数とVLOOKUP関数を組み合わせて、複数の別シートを参照して値を返してみましょう。

「契約一覧」シートに、料金表から料金を抽出してみましょう。シートは4シートあります。

「契約一覧」        : 料金を表示させるシート

「料金A」「料金B」「料金C」: 料金表が入力されているシート

 

①「料金A」シートです。

 

②「料金B」シートです。

 

③「料金C」シートです。

 

④「契約一覧」シートです。

 

 

D2に、料金表から料金を表示させる式を入力してみましょう。

 

D2 =IF(B2=”A”,VLOOKUP(C2,料金A!$A$2:$B$11,2,FALSE),IF(B2=”B”,VLOOKUP(C2,料金B!$A$2:$B$11,2,FALSE),VLOOKUP(C2,料金C!$A$2:$B$11,2,FALSE)))

D2の式の説明をしましょう。

B2がAの場合: 料金Aシートから値を検索します。

B2がBの場合: 料金Bシートから値を検索します。

B2がCの場合: 料金Cシートから値を検索します。

B2は契約プランがAです。料金Aシートの料金表から値を検索します。

D2には「1,200」が返されます。

D2の式をドラッグして、下にコピーしましょう。

料金が表示されました!

 

 

関数の説明

IF関数

エクセルIF関数は、真の場合は真の場合の値を返し、偽の場合は偽の場合の値を返す関数です。IF関数は、エクセル関数の中で使用頻度が高い関数です。他の関数と組み合わせて使用されることも多いです。

IF関数の書式と引数

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

論理式 条件式を指定します。
真の場合 論理式がTRUEの場合に返す値を指定します。
偽の場合 論理式がFALSEの場合に返す値を指定します。省略するとFALSEを返します。

IF関数の基本的な使い方

 

C2に、式を入力しましょう。

C2 =IF(B2=”参加”,”○”,”×”)

「○」が返されます。

C2の式をドラッグして、下にコピーしましょう。

「出欠」が「「参加」だったら「○」、それ以外は「×」が返されます。

 

 

VLOOKUP関数

エクセルVLOOKUP関数は、指定した範囲の左端の列で検索値を探し、同じ行にある指定した列番号から値を返します。

VLOOKUP関数の書式と引数

=VLOOKUP(検索値, 範囲, 列番号,[ 検索の型])

検索値 検策する値を指定します。
範囲 検索する範囲を指定します。その場合、検索する列を範囲の一番左にします。検索の型にTRUEを指定、または省略した場合は、正確な値を返すために範囲の左端の列を昇順で並び替えておく必要があります。
列番号 範囲の先頭列から数えた、列番号を指定します。指定した列番号の列の値が返されます。
検索の型 FALSEまたは”0”を指定すると、一致する値のみ返されます。一致する値が見つからない場合は、エラー値#N/A が返されます。TLUEまたは”1”を指定すると完全一致の値、または近似値が返されます。省略した場合もTRUEになります。完全一致の値が見つからないと、検索値未満の最大値が返されます。

VLOOKUP関数の基本的な使い方

 

C2に、式を入力しましょう。

C2 =VLOOKUP(B2,$E$2:$F$5,2,FALSE)

「2,500」が返されます。

C2の式をドラッグして、下にコピーしましょう。

範囲「E2:F5」の、「型」の「基本料金」が返されます。

エクセルIF関数の組み合わせ

エクセルIF関数とVLOOKUP関数を組み合わせると、別シートを参照して値を抽出できますが、もちろん、別ファイルを参照して値を返すこともできます。

IF関数は単独でもよく使いますが、他のエクセル関数とも組み合わせて使うことが多いです。その中でも、OR関数、AND関数と組み合わせは、使う頻度が高いです。色々な場面で、使う機会が多い組み合わせです。

こちらの記事もご覧ください。⇒エクセルIF関数で複数条件!OR関数、AND関数と組み合わせて使う