Excelで多条件分析を効率化する関数組み合わせ集

Excelで多条件分析を効率化する関数組み合わせ集 IT
  1. 第1章:多条件分析の基本|「何を、どの条件で集計するか」を整理しよう
  2. 第2章:集計の鉄板コンボ|SUMIFS/COUNTIFS/AVERAGEIFSの使い分け
    1. 1) まずは役割で選ぶ(迷ったらこれ)
    2. 2) 基本構文は同じ。違うのは“集計対象”だけ
    3. 3) SUMIFS:売上合計(期間×部署×担当×ステータス)
    4. 4) COUNTIFS:件数カウント(“件数”の定義を先に決める)
    5. 5) AVERAGEIFS:平均(“平均したい列”を間違えない)
    6. 6) 使い分けの結論:迷ったら“アウトプット”で決める
  3. 第3章:条件が増えても崩れない|AND/ORを“式で組む”テクニック(IFS×論理式)
    1. 1) まずは基本:論理式はTRUE/FALSE、掛け算/足し算で組める
    2. 2) OR条件の王道:SUMIFSを足し算で分解する(条件が少ないなら最強)
    3. 3) IFS×論理式(SUMPRODUCTで一発)|AND/ORが混ざっても崩れない
    4. 4) 条件が増えたときのコツ:式を“ブロック化”して読む
  4. 第4章:検索・抽出を爆速化|XLOOKUP/FILTER/UNIQUEで多条件に強くなる
    1. 1) XLOOKUP:多条件は“キーを作って”一発検索
    2. 2) FILTER:条件に合う行を“そのまま抽出”できる最強関数
    3. 3) UNIQUE:“候補リスト”を自動生成して入力ミスを減らす
    4. 4) 使い分けの結論:集計より「まず抽出」で考えると速い
  5. 第5章:現場で使える実例集|売上・工数・在庫を「複数条件×自動化」するテンプレ思考
    1. テンプレ共通の前提(条件セル)
    2. 実例1:売上|「今月×部署×確定」の一覧→合計まで自動
    3. 実例2:工数|「案件別に、担当Aの今週工数」=抽出+ピボット風
    4. 実例3:在庫|「拠点×カテゴリ×在庫あり」から発注候補を自動抽出
    5. テンプレ思考の結論:まず「一覧」、次に「数字」

第1章:多条件分析の基本|「何を、どの条件で集計するか」を整理しよう

Excelで「多条件分析」がうまくいかない原因の多くは、関数の知識不足ではなく、集計の設計が曖昧なまま式を書き始めてしまうことです。たとえば「部署別の売上を出して」「今月分だけね」「担当者はAさん」と条件が重なるほど、頭の中だけで整理するのは限界がきます。だから最初にやるべきは、関数を探すことではなく、“何を、どの条件で”を紙に書くレベルまで分解すること。

まず、整理の軸はこの2つです。

  • 集計したい値(目的変数):売上金額、工数、件数、平均単価など
  • 条件(説明変数):期間、部署、担当、商品カテゴリ、ステータス…

次に、条件を「列」として扱える形に整えるのが超重要です。多条件分析は、基本的に「列=条件」「行=データ」の形で強くなります。逆に、セル結合や見出しの途中改行、1セルに「東京_営業部_田中」みたいに詰め込んだ状態だと、途端に集計が面倒になります。データはできるだけ次の形に寄せましょう。

日付 部署 担当 商品 売上 ステータス
2026/03/01 営業 A PC 120000 確定

この形にできたら、条件の整理はさらにラクになります。おすすめは、条件を次の3種類に分けることです。

  • 一致条件:部署=営業、担当=A(そのまま指定できる)
  • 範囲条件:日付が今月、売上が10万以上(「以上/未満」が出る)
  • 複合条件:営業 or マーケ、A and 確定 など(AND/ORが絡む)

ここまで整理できれば、「どの関数を使うか」も自然に決まってきます。たとえば、

  • 合計したい → SUMIFS
  • 件数を数えたい → COUNTIFS
  • 平均を出したい → AVERAGEIFS

そして忘れがちなのが、条件の“入力場所”を作っておくこと。セルに条件を直書きしていると、あとから条件が増えた瞬間に式が崩れます。条件はシート上部にまとめて置き、参照するのが、現場で長持ちする作り方です。

例として、B2に部署、B3に担当、B4に開始日、B5に終了日…のように置けば、式は読みやすくなり、修正も一瞬です。次章では、この整理を前提に、現場で一番出番が多いSUMIFS/COUNTIFS/AVERAGEIFSの“鉄板コンボ”を、使い分けの視点でまとめていきます。

第2章:集計の鉄板コンボ|SUMIFS/COUNTIFS/AVERAGEIFSの使い分け

第1章で整理した「集計したい値(目的変数)」と「条件(説明変数)」が決まったら、次に迷うのがどのIFSを選ぶかです。結論はシンプルで、合計=SUMIFS/件数=COUNTIFS/平均=AVERAGEIFS。ただし現場では「何を集計したいのか」がブレて、遠回りの式になりがち。ここでは違いを最短で押さえます。

1) まずは役割で選ぶ(迷ったらこれ)

  • SUMIFS:条件に合う「売上」「工数」など数値の合計
  • COUNTIFS:条件に合うデータの件数(行数を数える)
  • AVERAGEIFS:条件に合う数値の平均(単価や平均工数など)

ポイントは、COUNTIFSは「何かの列を数える」のではなく、条件に合う行を数える感覚。だから「売上が空白じゃない行だけ」など、数えたい対象を条件に組み込みます。

2) 基本構文は同じ。違うのは“集計対象”だけ

3つとも「条件範囲」と「条件」をペアで増やしていく作りです(複数条件は基本ANDで掛かります)。

SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, ...)
AVERAGEIFS(平均範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)

第1章の例(列:日付/部署/担当/商品/売上/ステータス)を前提に、条件入力セルを用意しているとして、例えばこんな書き方になります。

3) SUMIFS:売上合計(期間×部署×担当×ステータス)

「今月」「営業」「担当A」「確定」の売上合計を出す例です(B2=部署、B3=担当、B4=開始日、B5=終了日、B6=ステータス)。

=SUMIFS($E:$E, $B:$B, $B$2, $C:$C, $B$3, $F:$F, $B$6, $A:$A, ">="&$B$4, $A:$A, "<="&$B$5)
  • 日付の範囲条件は「>=開始日」「<=終了日」を同じ列に2回書く
  • 条件を直書きせず、セル参照にしておくと後から条件変更が速い

4) COUNTIFS:件数カウント(“件数”の定義を先に決める)

「確定案件の件数」を数えたいなら、まず“案件1行=1件”の前提が必要です。あとはSUMIFSと同じ要領で条件を並べます。

=COUNTIFS($B:$B, $B$2, $F:$F, $B$6, $A:$A, ">="&$B$4, $A:$A, "<="&$B$5)

さらに実務で多いのが「売上が入っているものだけ数える」。この場合は条件に“<>”(空白ではない)を足します。

=COUNTIFS($B:$B,$B$2,$F:$F,$B$6,$E:$E,"<>")

5) AVERAGEIFS:平均(“平均したい列”を間違えない)

例えば「担当Aの平均売上(確定のみ)」のように、平均対象が明確なときに使います。

=AVERAGEIFS($E:$E, $C:$C, $B$3, $F:$F, $B$6)

注意点は、平均は空白や0の扱いで印象が変わること。空白が多い列を平均すると「思ったより低い/高い」が起きるので、必要なら「>0」などの条件を追加して定義を固めましょう。

6) 使い分けの結論:迷ったら“アウトプット”で決める

  • 最終的に金額・時間を出したい → SUMIFS
  • 最終的に件数・人数・回数を出したい → COUNTIFS
  • 最終的に平均単価・平均工数を出したい → AVERAGEIFS

ここまでのIFS系は、条件が増えても「ペアを足すだけ」で強い一方、弱点もあります。たとえば「営業またはマーケ」などOR条件が入った瞬間に詰まりやすい。次章では、AND/ORを“式として組む”発想(IFS×論理式)で、条件が増えても崩れない作り方に進みます。

第3章:条件が増えても崩れない|AND/ORを“式で組む”テクニック(IFS×論理式)

SUMIFS/COUNTIFS/AVERAGEIFSは「条件をペアで足すだけ」で増やせる反面、基本はAND(全部満たす)です。つまり、OR(どれか満たす)が混ざった瞬間に一気にややこしくなります。

ここで発想を切り替えます。「IFSにORを無理やり入れる」ではなく、条件そのものを“論理式”として組んで、最後に合計/件数/平均に流し込む。これが崩れない作り方です。

1) まずは基本:論理式はTRUE/FALSE、掛け算/足し算で組める

Excelの中では、TRUE/FALSEは計算に使えます(TRUE=1、FALSE=0として扱える場面が多い)。これを利用して、条件を数字に変換します。

  • ANDしたい → (条件1)*(条件2)(両方TRUEなら1)
  • ORしたい → (条件1)+(条件2)(どちらかTRUEなら1以上)

例として、データがA列=日付、B列=部署、C列=担当、E列=売上、F列=ステータスだとします。

2) OR条件の王道:SUMIFSを足し算で分解する(条件が少ないなら最強)

「部署が営業またはマーケ」の売上合計のように、ORの候補が2〜3個で固定なら、SUMIFSを分解して足すのが速いです。

=SUMIFS($E:$E,$B:$B,"営業",$F:$F,$B$6)
 +SUMIFS($E:$E,$B:$B,"マーケ",$F:$F,$B$6)

ただし候補が増えると式が長くなり、追加漏れが起きやすい。ここから先は「論理式で1本化」するのが安定です。

3) IFS×論理式(SUMPRODUCTで一発)|AND/ORが混ざっても崩れない

ORを含む条件は、SUMPRODUCTでまとめると強いです。たとえば、

  • 部署:営業 または マーケ
  • 担当:A
  • ステータス:確定

この売上合計は、こんな1本で書けます。

=SUMPRODUCT(
  (($B:$B="営業")+($B:$B="マーケ")>0) *
  ($C:$C=$B$3) *
  ($F:$F=$B$6) *
  ($E:$E)
)
  • (部署=営業)+(部署=マーケ)でORを作り、>0で「どちらか満たす」を1/0に変換
  • 担当、ステータスは掛け算でAND
  • 最後に売上列($E:$E)を掛けて合計

同じ考え方で、件数を出したいなら「売上列」の代わりに1を掛けます(条件を満たす行だけ1が残る)。

=SUMPRODUCT(
  (($B:$B="営業")+($B:$B="マーケ")>0) *
  ($C:$C=$B$3) *
  ($F:$F=$B$6) *
  1
)

4) 条件が増えたときのコツ:式を“ブロック化”して読む

論理式は、見た目がごちゃつくと途端に事故ります。コツは条件を「部署ブロック」「期間ブロック」みたいに塊で分けて作ること。期間条件も同じで、例えば「開始日〜終了日」はANDなので掛け算でOKです。

=SUMPRODUCT(
  (($B:$B="営業")+($B:$B="マーケ")>0) *
  ($A:$A>=$B$4) * ($A:$A<=$B$5) *
  ($F:$F=$B$6) *
  ($E:$E)
)

ここまで来ると、条件が増えても「ブロックを1つ足す」だけ。IFSのように「同じ列を何回も指定して…」と迷子になりにくいのがメリットです。

次章では、集計だけでなく「該当データをそのまま抽出したい」「一覧を自動で作りたい」場面に進みます。XLOOKUP/FILTER/UNIQUEを使うと、多条件の検索・抽出が一気に爆速化します。

第4章:検索・抽出を爆速化|XLOOKUP/FILTER/UNIQUEで多条件に強くなる

ここまでの1〜3章は「合計・件数・平均」など集計が中心でした。でも現場で多いのは、集計値だけじゃなく“該当行そのものを見たい/一覧で欲しい”ケースです。たとえば「確定の案件一覧を出して、そのまま上司に貼る」「担当Aの今月分だけ別シートに自動で抜く」みたいなやつ。ここで効くのがXLOOKUP/FILTER/UNIQUEのコンボです。

1) XLOOKUP:多条件は“キーを作って”一発検索

XLOOKUPは基本1条件検索ですが、列をつなげて疑似的に多条件にできます。ポイントは「部署&担当&日付」などを結合した検索キーを作ること。

=XLOOKUP(
  $B$2&"|"&$B$3, 
  $B:$B&"|"&$C:$C, 
  $E:$E,
  "該当なし"
)
  • B2=部署、B3=担当、戻り値=売上(E列)の例
  • 区切り記号「|」を入れると、結合の事故(例:A1+B11問題)が起きにくい

注意点として、XLOOKUPは最初に見つかった1件しか返しません。「一覧で欲しい」なら次のFILTERに回すのが正解です。

2) FILTER:条件に合う行を“そのまま抽出”できる最強関数

FILTERは「条件に合う行だけ」を丸ごと返せます。IFSで頑張って集計するより、まずFILTERで絞り込み結果を作ってから別の処理(集計/確認)につなげると早いです。

例:今月(B4〜B5)×部署(B2)×ステータス(B6)が一致する行を抽出。

=FILTER(
  A:F,
  (B:B=$B$2) * (F:F=$B$6) * (A:A>=$B$4) * (A:A<=$B$5),
  "該当なし"
)
  • 条件は第3章と同じ発想で、ANDは掛け算で1本化
  • 抽出結果はスピル(自動で下に展開)するので、貼り付け作業が消える

さらに「営業 or マーケ」などOR条件も簡単です。

=FILTER(
  A:F,
  ((B:B="営業")+(B:B="マーケ")>0) * (F:F=$B$6),
  "該当なし"
)

3) UNIQUE:“候補リスト”を自動生成して入力ミスを減らす

地味に効くのがUNIQUEです。多条件分析で事故る原因の1つが、条件セル(部署名や担当名)の手入力ミス。UNIQUEで候補リストを自動生成して、プルダウンにすればミスが激減します。

=SORT(UNIQUE(B:B))

部署一覧を自動生成→データの入力規則(リスト)に指定、という流れが鉄板。担当ならC列、ステータスならF列という具合に横展開できます。

4) 使い分けの結論:集計より「まず抽出」で考えると速い

  • 1件だけ取りたい(キーで特定できる)→ XLOOKUP
  • 一覧が欲しい(条件で絞りたい)→ FILTER
  • 条件の候補を作りたい(入力を安定させたい)→ UNIQUE(+SORT)

次章では、ここまでの考え方を「売上・工数・在庫」などの現場テンプレに落とし込みます。式を都度考えるのではなく、パターンで持っておくと明日からの作業が一気に軽くなります。

第5章:現場で使える実例集|売上・工数・在庫を「複数条件×自動化」するテンプレ思考

ここからは「関数を覚える」より強い、テンプレで考えるパートです。現場の多条件分析は、だいたい①条件セルを置く → ②抽出(FILTER)で“対象データ”を作る → ③集計(SUMIFS/COUNTIFS/AVERAGEIFS or SUMPRODUCT)で数字を出すの3段構えにすると崩れません。式を毎回ひねるのではなく、型を持っておくと速いです。

テンプレ共通の前提(条件セル)

  • B2:部署(UNIQUEでプルダウン化推奨)
  • B3:担当
  • B4:開始日 B5:終了日
  • B6:ステータス

実例1:売上|「今月×部署×確定」の一覧→合計まで自動

まずは一覧を自動生成して、確認できる状態にします(第4章の発想)。

=FILTER(
  A:F,
  (B:B=$B$2) * (F:F=$B$6) * (A:A>=$B$4) * (A:A<=$B$5),
  "該当なし"
)

次に、合計はシンプルにSUMIFSでOK。「一覧」と「数字」が同じ条件になっていると、説明コストが激減します。

=SUMIFS($E:$E,$B:$B,$B$2,$F:$F,$B$6,$A:$A,">="&$B$4,$A:$A,"<="&$B$5)

実例2:工数|「案件別に、担当Aの今週工数」=抽出+ピボット風

工数は「合計」だけ見ても納得されにくいので、案件(タスク)単位の内訳が欲しくなります。まず担当×期間で抜きます(例:A列=日付、C列=担当、D列=案件、G列=工数)。

=FILTER(
  A:G,
  (C:C=$B$3) * (A:A>=$B$4) * (A:A<=$B$5),
  "該当なし"
)

内訳集計は「案件リスト」をUNIQUEで作り、横にSUMIFSを置くのが最短です。

=SORT(UNIQUE(D:D))
=SUMIFS($G:$G,$D:$D,案件セル,$C:$C,$B$3,$A:$A,">="&$B$4,$A:$A,"<="&$B$5)

これで“ピボットを組むほどでもない集計”が、更新作業ゼロで回ります。

実例3:在庫|「拠点×カテゴリ×在庫あり」から発注候補を自動抽出

在庫は「数字」より発注すべき行の抽出が価値になります(例:B列=拠点、C列=カテゴリ、E列=在庫、F列=発注点)。

=FILTER(
  A:F,
  (B:B=$B$2) * (C:C=$B$7) * (E:E<=F:F) * (E:E>0),
  "該当なし"
)

ポイントは、条件に“在庫>0”のような業務ルールを入れておくこと。これを入れないと「欠品(0)も同列に出てしまう」など、現場の判断がブレます。

テンプレ思考の結論:まず「一覧」、次に「数字」

  • 上司に説明しやすい:数字の根拠(該当行)が同じシートにある
  • 条件追加に強い:FILTERの条件ブロックを1つ足すだけ
  • 修正が速い:条件はセル、式は固定で使い回せる

この型を「売上・工数・在庫」に横展開できれば、多条件分析は“関数力”ではなく設計力で勝てます。

コメント

NewsTowerをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む