Excelで複数のセルの組み合わせによって結果を表示したい場合、条件が少ないうちはIF関数でも対応できますが、判定パターンが増えると数式が複雑になり管理が難しくなります。この記事では、別シートに判定表を作成し、COUNTIFS関数やXLOOKUP関数、LET関数を使って複数条件を柔軟に判定する方法を解説します。
複数セルの組み合わせ判定は判定表を作ると管理しやすい
例えば、B1セル・C1セル・D1セルの3つの値が特定の組み合わせになった場合、A1セルに「合格」と表示したいケースがあります。
条件が「B1が合格、C1が合格、D1が合格」の1パターンだけならIF関数で対応できますが、「◎・合・優」など別の組み合わせが増える場合は、条件一覧を別シートに作成する方法がおすすめです。
判定表を利用すると、後から条件パターンを追加するだけで対応できるため、数式を何度も修正する必要がありません。
別シートに判定表を作成する方法
まず、別シート(例:判定表シート)に条件と結果を一覧化します。
例えば以下のような表を作成します。
| B列条件 | C列条件 | D列条件 | 結果 |
|---|---|---|---|
| 合格 | 合格 | 合格 | 合格 |
| ◎ | 合 | 優 | 合格 |
| A | B | C | 合格 |
このように「入力される組み合わせ」と「表示する結果」を分けて管理すると、条件が増えても判定表に行を追加するだけで済みます。
COUNTIFS関数を使って判定表から結果を取得する方法
COUNTIFS関数を使う場合は、条件に一致する組み合わせが存在するかを確認できます。
A1セルに結果を表示する場合、以下のような数式を利用できます。
=IF(COUNTIFS(判定表!A:A,B1,判定表!B:B,C1,判定表!C:C,D1)>0,"合格","")
この数式では、判定表シートのA列~C列にB1~D1の値と一致する組み合わせがあるかを確認しています。一致するデータが存在する場合、「合格」と表示されます。
例えばB1が「◎」、C1が「合」、D1が「優」の場合、判定表に同じ組み合わせが登録されていればA1には「合格」と表示されます。
XLOOKUP関数で複数条件を検索する方法
Microsoft 365やExcel 2021以降を利用している場合は、XLOOKUP関数を使う方法も便利です。
複数条件を検索する場合は、条件を連結して1つの検索キーを作成します。
判定表側に結合用の列を作成し、例えばE列に以下の数式を入れます。
=A2&B2&C2
入力側でも同じように条件を結合し、XLOOKUPで検索します。
=XLOOKUP(B1&C1&D1,判定表!E:E,判定表!D:D,"")
この方法なら、条件が何百件になっても判定表を追加するだけで対応できます。
LET関数を使って数式を見やすくする方法
LET関数を使うと、複雑になりやすい数式の中で計算結果や参照範囲に名前を付けることができます。
例えば検索キーを一度作成して利用する場合、以下のように記述できます。
=LET(key,B1&C1&D1,XLOOKUP(key,判定表!E:E,判定表!D:D,""))
このように書くことで、何を検索している数式なのかが分かりやすくなり、後から修正するときにも管理しやすくなります。
条件パターンが増える場合のおすすめ管理方法
判定条件が多くなる場合は、数式に条件を直接書き込むよりも、判定表をデータベースのように管理する方法がおすすめです。
例えば、毎月新しい評価基準が追加されるような業務では、担当者が判定表へ新しい組み合わせを追加するだけで利用できます。
また、判定表をExcelテーブル化しておくと、行を追加した際に数式範囲が自動的に広がるため、メンテナンス性も向上します。
まとめ|Excelの複数条件判定は判定表+検索関数が便利
Excelで複数セルの組み合わせによって結果を表示する場合、条件が少ないうちはIF関数でも対応できますが、パターンが増える場合は別シートに判定表を作成する方法が最も管理しやすくなります。
COUNTIFS関数なら一致する条件の有無を確認でき、XLOOKUP関数なら条件表から直接結果を取得できます。さらにLET関数を組み合わせることで、複雑な数式でも読みやすくできます。
今後条件が増える可能性がある場合は、最初から判定表方式で作成しておくことで、長期間使えるExcelファイルにできます。


コメント