スポンサーリンク

Excelで複数条件に一致した数値を合計する配列数式を用いた方法とは?

Excel応用
スポンサーリンク

Excelで複数条件を指定して合計したいけど、どうやったら良いのかわからない…

より実践的な使い方をしようと思ったら、「SUM」関数や「SUMIF」関数では不十分だったりします。

「SUM」関数は条件は関係なく、指定した範囲、選択した範囲の数値を合計する関数なので、条件を指定することができません。

「SUMIF」関数は条件を指定することはできますが、単一の条件しか指定できないため、複数の条件を組み合わせたい場合はこの関数でも足りません。

「SUMIFS」関数が複数条件を指定することができる関数なので、この関数を使う手もあります。

しかし、今回は「SUMIFS」関数ではなく、「SUM」関数と「IF」関数の組み合わせで、配列数式(CSE数式)のテクニックを用いた複数条件指定の数値合計の方法を紹介したいと思います。

使用する関数・テクニック一覧

SUM関数とIF関数を組み合わせて使うと叶えることができますよ。

その2つをどうやって組み合わせて使えば良いんですか?

今回使用する関数とテクニックは先述の通り、以下の4点を使用します。

  • SUM関数
  • IF関数
  • 配列数式(CSE数式)
  • 論理和もしくは論理積

それぞれの説明については、それぞれのリンク先に使い方や考え方の紹介をしていますので、そちらを参照してください。

複数条件を指定して合計する方法と考え方

ここからは、実際に前述のテクニックを利用した場合に複数条件を指定して合計する方法と考え方について紹介・説明していきたいと思います。

複数条件を指定して合計する方法

例として、1つ目の条件を指定する列がA列、2つ目の条件を指定する列がB列、合計したい数値がC列にあるとします。

設定する条件はそれぞれ以下の通り。

  • A列の条件は〝りんご〟に一致する
  • B列の条件は〝女性〟に一致する

そして、その両方が一致する場合に数値を合計します。

また、データは1行目~10行目まで入力されているものとします。

データは下図の通りです。

この場合の数式は以下の通りになります。

{=SUM(IF((A1:A10 = “りんご”) * (B1:B10 = “女性”), C1:C10))}

この全体を覆っている{}については、関数を確定させる時にCtrl+Shift+Enterとすることで設定することができます。(配列数式)

コピペの必要があれば、{}を除いた部分をコピーしてください。

{}までコピーした場合、数式ではなく、文字列で扱われるため、セルの表示がそのままになってしまいますので注意してください。

考え方や組み立て方には以下で解説します。

複数条件を指定して合計する考え方

複数条件を指定して合計する方法については、前述の通りです。

ここで、その考え方について理解を深めましょう。

まず、合計をしたいので、SUM関数の箱を準備します。

SUM()

これでは合計することができません。

それでは、合計する範囲を指定してみましょう。

SUM(C1:C10)

これでC1~C10までの数値が合計されることになります。

ですが、このままでは条件指定ができないので、IF関数を使ってA1~A10が条件に一致した部分だけを合計できるように指定します。

SUM(IF(A1:A10 = “りんご”, C1:C10))

これで、A1~A10がりんごの場合のみの合計ができるようになりました。

さらに、IF関数の中の条件式を論理積にすることで、複数条件をかなえることができます。

B1~B10の条件を加えましょう。

SUM(IF((A1:A10 = “りんご”) * (B1:B10 = “女性”), C1:C10))

これで中身の数式の準備は整ったので、最後にCtrl+Shift+Enterで配列数式のSUM関数を確定させます。

この数式を利用した場合に、関数の中でデータがどのような動きをしているか?については、後日別記事で紹介します。

まとめ

このように関数やテクニックを組み合わせると、複雑な数式を書くことができます。

頭を柔らかくして、あれ?この関数はこうしたら複雑に組み合わせられるんじゃないか?と日ごろ考えながら数式を組み立ててみましょう。

コメント

タイトルとURLをコピーしました