
VLOOKUP関数は便利な関数で、これを制する者は残業を制す!と言っても過言ではないくらい大事な抑えどころです。一方でハマりやすい関数でもあり、先輩や上司から「この資料作ってくれる?」と頼まれ、「はい!(VlookUP使えば余裕だ、、)」と思いきや、「げ!これ条件指定が二つあるぞ、、どうやってやろう。。」と、結局手作業になり残業王になることがあります。しかし、やり方次第でこれは解決できるのです。
1. 初級編:VLOOKUPで複数条件を疑似的に実現する
方法:
VLOOKUP自体は1つの条件にしか対応していませんが、複数条件を1つに結合することで対応できます。
手順:
- データの準備
- 例えば、社員の「部署」と「名前」を組み合わせて1つの列を作成します。
例: A列: 部署, B列: 名前, C列: 部署+名前(補助列), D列: 給与
補助列の数式例(C列):=A2&B2
→ A列(営業)とB列(田中)が組み合わさって「営業田中」となります。
- 例えば、社員の「部署」と「名前」を組み合わせて1つの列を作成します。
- VLOOKUP関数を適用
- 補助列を条件と見立て、VLOOKUPを使います。
例:=VLOOKUP("営業田中", C:D, 2, FALSE)
- 補助列を条件と見立て、VLOOKUPを使います。
2. 中級編:CHOOSE関数で複数条件を扱う
方法:
補助列を使わず、CHOOSE関数で複数条件を結合してVLOOKUPを使う方法です。
手順:
- CHOOSEで条件を動的に結合
CHOOSE関数で2つ以上の条件を列として仮想的に結合できます。
例:A列&B列
は「検索キー」(複数条件を結合したもの)D列
は結果(給与など)を表します。
- 式の動き
CHOOSE関数で仮想的なデータ範囲を作り出すため、補助列なしで実現できます。
3. 上級編:SUMIFS関数で複数条件を扱う
方法:
SUMIFSを使えば、複数条件を直接処理して値を取得できます(合計や条件一致時の値返却)。
手順:
- データの準備
- 例えば、「部署」「名前」「給与」がある表を用意します。
- 部署(A列)が「営業」、名前(B列)が「田中」の場合、給与(D列)を返す。
- SUMIFS関数を使用
例: =SUMIFS(D:D, A:A, "営業", B:B, "田中")
D:D
:結果を取り出す範囲(給与)A:A
:1つ目の条件(部署)B:B
:2つ目の条件(名前)
- 特徴
- SUMIFSは複数条件に対応した集計関数のため、複数条件を直接扱えます。
- 条件を動的に変更する場合、セル参照を使用すれば応用できます。
4. 上級編:INDEX & MATCHの組み合わせで複数条件を実現
方法:
INDEX & MAT