Excel(エクセル)のIFS関数は、IF関数を複数の条件で利用できる新関数です。
また、VLOOKUP関数は表を縦方向に検索して、検索値を抽出する大変便利な関数です。
このIFS関数の中に、VLOOKUP関数を組み合わせて利用することで、『抽出値を別の値に変換して表示』するなど、便利な使い方が存在しています。
今回は、『IFS関数とVLOOKUP関数を組み合わせて利用』する便利な活用方法を解説します。
IF関数との組み合わせ方法は以下を参考👇
IFS関数の使い方
IFS関数は、IF関数を複数条件で容易に利用することができるようになったIF関数の新関数です。
利用出来るユーザーは、Microsoft365とExcel2019以降のバージョンと限定的ですが、将来はIF関数に置き換わり、Excelの定番関数になることが予想されます。
IFS関数の構文と引数
IFS関数は、1 つ以上の条件が満たされているかどうかをチェックして、最初の条件に対応する値を優先して表示します。
IFS関数の構文と引数は以下のとおりです。
=IFS(論理式1, 真の場合1, 論理式2, 真の場合2,論理式3, 真の場合3, ..., )
「論理式1」に当てはまる場合は「真の場合1」を表示します。
次に「論理式2」に当てはまる場合は「真の場合2」を表示します。次に「論理式3」に当てはまる場合は「真の場合3」を表示する・・・といった関数の仕組みです。(最大127個の条件設定が可能)
下の図がIFS関数のイメージ図です。
論理式1に当てはまる場合は「◎」、論理式2に当てはまる場合は「〇」、論理式3に当てはまる場合は「△」、どれにも当てはまらない場合は「×」といったように、条件に当てはまる場合の値を自在に設定することができます。
IFS関数で「条件に当てはまらない場合」「それ以外」を設定する際は、最後の2つの引数を「TRUE,それ以外の場合の値」を指定します。
IFS関数の使い方の実例
実際にIFS関数の使った実例を1つ紹介します。
下の表のD3セルにIFS関数を利用して、点数を『80点以上は〇』、『40~79点は△』、『40未満は×』の3つで評価します。
=IFS(C3>=80,"〇",C3>=40,"△",TRUE,"×")
この最後の引数「TRUE」の使い方が、IFS関数の特徴だね。
最後の引数に「それ以外」を表す”TRUE”を使わずに、「C3<40」という条件を設定しても結果は同じです。
=IFS(C3>=80,"〇",C3>=40,"△",C3<40,"×")
VLOOLUP関数の使い方(おさらい)
次に、エクセルのVLOOKUP関数(ブイルックアップ)の使い方をおさらいします。
VLOOKUP関数の基礎について熟知されている方は、次の見出しまで読み飛ばしてください。
VLOOKUP関数は、下の機能が備わっている関数です。
VLOOKUP関数は、指定した『検索条件に当てはまる値』を、指定した検索範囲から調べて、指定した位置から抽出することが出来る。
VLOOKUP関数の構文は下のとおりで、4つの引数を指定する必要があります。
=VLOOKUP(検索値,検索範囲,列番号,[検索方法])
下の商品リスト表のH3セルには以下のVLOOKUP関数が挿入されています。
=VLOOKUP(G3,$B$3:$E$14,3,FALSE)
指定した商品リスト表(B3:E14)から商品番号「25」を検索し、その左から3列目の商品名である「風邪薬」がVLOOKUP関数の結果として抽出されます。
この表は説明用に小さくしているので、目視でも商品番号「25」の商品名を見つけることは可能です。
しかし、スクロールしないといけないような膨大なデータの中から、検索値を抽出する必要がある時はVLOOKUP関数が大活躍します。
VLOOKUP関数の詳しい使い方は以下の記事で紹介していますので、使い方を再確認したい方は参考にしてください。
IFS関数とVLOOKUP関数を組み合わせて出来ること
使い方の実例を紹介する前に、『IFS関数とVLOOKUP関数を組み合わせる』ことで、実現できることを紹介します。
IFS関数の中にVLOOKUP関数を挿入しますが、組み合わせのパターンが2つあるので、それぞれの内容を紹介します。
IFS関数の論理式にVLOOKUP関数を利用
VLOOKUP関数は、『表を検索して情報を抽出する関数』です。
一方で、IFS関数は『条件を指定して、セルの値によって他のセルの値を変換する関数』です。
IFS関数の1つ目の引数「論理式」にVLOOKUP関数を挿入することで、
『表を検索して該当する値を抽出し、その抽出値を条件によって別の値を変換する』
ことが出来ます。
VLOOKUP関数を挿入する引数の位置は、以下のとおりです。
下の図解で説明すると、上半分がVLOOKUP関数の領域で「表から値を抽出」します。
下半分がIFS関数の領域で抽出された値に条件を設定して、条件に合うか合わないかで表示する結果を変換します。
IFS関数を使って、VLOOKUP関数の結果を直接違う値に変換する、ってことだね。
IFS関数の「真の値」にVLOOKUP関数を利用
IFS関数の引数「真の値1」や「真の値2」にVLOOKUP関数を挿入することで、
『IFS関数の論理式に合った値を、表の中から抽出』
ことも出来ます。
VLOOKUP関数を挿入する引数の位置は、以下のとおりです。
下の図解で説明すると上半分がIFS関数で、下半分がVLOOKUP関数の領域です。
IFS関数のどの論理式の条件に当てはまるかによって、表から抽出する値を変更します。
IFS関数とVLOOKUP関数の組み合わせる方法(実例1)
それでは、IF関数とVLOOKUP関数を組み合わせた実例を紹介します。
下の販売高リストを使って、選択した商品番号の販売高が『1000(千円)以上であれば「〇」』、『600以上1,000(千円)未満であれば「△」』、『600(千円)未満であれば「×」』をG3セルに直接表示させます。
それでは、関数を作成する手順を紹介します。
手順1.IFS関数の「論理式1」にVLOOKUP関数を挿入
G3セルにIFS関数を挿入します。
IFS関数の引数「論理式1」に、売上高が1,000千円以上の商品番号かどうかを表から判定するために、VLOOKUP関数を挿入します。
=IFS(VLOOKUP(F3,$B$2:$D$10,3,FALSE)>=1000,
手順2.IFS関数の「真の値1」を設定
IFS関数の「論理式1」に当てはまる場合は『〇』と表示するため、引数「真の値1」に”〇”と入力します。
=IFS(VLOOKUP(F3,$B$2:$D$10,3,FALSE)>=1000,”〇”,
手順3.IFS関数の「論理式2」にVLOOKUP関数を挿入
次に引数「論理式2」に、売上高が600千円以上の商品番号かどうかを判定するために、2つ目のVLOOKUP関数を挿入します。
=IFS(VLOOKUP(F3,$B$2:$D$10,3,FALSE)>=1000,"○",VLOOKUP(F3,$B$2:$D$10,3,FALSE)
>=600,
手順4.IFS関数の「真の値2」を設定
IFS関数の「論理式2」に当てはまる場合は『△』と表示するため、引数「真の値2」に”△”と入力します。
=IFS(VLOOKUP(F3,$B$2:$D$10,3,FALSE)>=1000,"○",VLOOKUP(F3,$B$2:$D$10,3,FALSE)
>=600,"△",
手順5.IFS関数の「論理式3」「真の値3」を設定
IFS関数で「それ以外」を設定するために、最後の2つの引数は「TRUE,”×”」を指定します。
3つ目のVLOOKUP関数を挿入しても関数は作成出来ますが、関数が長くなるので、TRUEを利用します。
=IFS(VLOOKUP(F3,$B$2:$D$10,3,FALSE)>=1000,"○",VLOOKUP(F3,$B$2:$D$10,3,FALSE)
>=600,"△",TRUE,"×")
手順6.IFS関数の完成
IFS関数の最後の条件を入力したら、「Enter」キーを押して関数を確定させてください。
そうすると、下のように、商品番号「20」の販売高は600(千円)と800(千円)未満のため、G3セルは「△」と自動で表示されます。
IFS関数とVLOOKUP関数の組み合わせる方法(実例2)
IFS関数とVLOOKUP関数を組み合わせた2つ目の使い方をご紹介します。
下の価格リストを使って、H3セルの会員区分に合わせて、表から該当する価格を抽出しI3セルに表示させます。
手順1.IFS関数の「論理式1」を設定
I3セルにIFS関数を挿入します。
IFS関数の引数「論理式1」に、H3セルが”会員”という条件を設定します。
=IFS(H3="会員",
手順2.IFS関数の「真の値1」にVLOOKUP関数を挿入
IFS関数の引数「真の値1」に、VLOOKUP関数を挿入して、表の中から商品番号にあった会員価格を抽出するよう設定します。
=IFS(H3="会員",VLOOKUP($G$3,$B$2:$E$8,3,FALSE),
手順3.IFS関数の「論理式2」を設定
次に、IFS関数の引数「論理式2」に、H3セルが”非会員”という条件を設定します。
=IFS(H3="会員",VLOOKUP($G$3,$B$2:$E$8,3,FALSE),H3="非会員",
手順4.IFS関数の「真の値2」にVLOOKUP関数を挿入
IFS関数の引数「真の値2」に、VLOOKUP関数を挿入して、表の中から商品番号にあった非会員価格を抽出するよう設定します。
=IFS(H3="会員",VLOOKUP($G$3,$B$2:$E$8,3,FALSE),H3="非会員",
VLOOKUP($G$3,$B$2:$E$8,4,FALSE)
手順5.IFS関数の完成
「Enter」キーを押して関数を確定します。
そうすると、下図のように、商品番号「25」の会員価格900円が自動で表示されます。
H3セルを非会員に変更すると、非会員価格1,100円も自動で表示されます。
IF関数とVLOOKUP関数の組み合わせも可能
IFS関数の代わりに、IF関数とVLOOKUP関数を組み合わせて利用することも可能です。
エクセルのバージョンが古く、IFS関数がまだ利用出来ない方は、以下の記事を参考に、IF関数とVLOOKUP関数を組み合わせる方法を活用してください。
エクセルでネスト(入れ子)を使うテクニック
今回紹介したテクニックのように、エクセルで関数の中に関数を使うことをネスト(入れ子)といいます。
特に、IF関数の中にIF関数を挿入するテクニックはよく利用されます。
ネストに不慣れな方は、IF関数の中にIF関数を挿入する使い方を以下の記事で紹介していますので、ぜひ習得してみてください。