エクセル関数

IF+VLOOKUP

IF関数

=IF(論理式、真の場合、偽の場合)

VLOOKUP関数

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

VLOOKUP関数を使用すると、検索値が空欄の場合、エラー表示されます。IF関数と組み合わせて、検索値が入力された時にVLOOKUP関数で検索、空欄の時にはエラーが表示されないように設定することができます。

使用例

VLOOKUP関数

上表のセル「B3」には、検索値に「商品NO」を設定して、下表から「商品名」を抽出するように「VLOOKUP関数」を用いています。
セル「B3」をセル「B4」~「B7」にコピーしています。これで各行の商品名を表示している状態です。
※C列の「単価」も同じようにVLOOKUP、E列の「金額」には「単価×数量」の数式がはいっています。

VLOOKUP関数

図のようにセル「A7」が空欄の場合、セル「B7」は「#N/A」のエラーが表示されます。
※同じようにセル「C7」「E7」もエラーになります。
入力が必須の様式の場合は、エラー表示で入力されていない場所がわかってよいのですが、請求書など様式によっては、空欄の行が発生する場合があります。
そこで「IF関数」を組み合わせます。

IF関数

条件に「商品NOが空欄の場合」として、真の場合は「商品名を空欄」に、偽の場合は「VLOOKUP関数で検索」というように修正します。
※「""」は空欄を表します。

VLOOKUP関数

実際に式にすると、図のようになります。セル「B3」を修正し、セル「B4」~「B7」にコピーをする。
C列の単価、E列の金額も同じように、IF関数を組み合わせます。

VLOOKUP関数

そうすると、「商品NO」が空欄の時は、明細行すべてが空欄になり、エラーが非表示になります。
範囲内にない「商品NO」を入力した場合には、エラーが表示されます。正しい「商品NO」に修正します。

ポイント

請求書や見積書などの明細行に「VLOOKUP関数」を使用する時に活用できますね。

関連リンク