関数 EXCEL&VBA

エクセルでSUMIF関数の条件指定|複数・以外・含むなどパターン別対処




今回は SUMIF関数 をピックアップします。

指定された条件に一致するセルの値を合計してくれる便利な関数「SUMIF関数」ですが、複雑な条件指定は苦手としているユーザーさんが多いようです。

シンプルにわかりやすくまとめたのでぜひご一読ください。

SUMIF関数って?

SUMIF関数とは

SUMIF関数とは、指定された検索条件に一致するセルの値を合計する関数で、書式は;

=SUMIF (範囲, 検索条件 [,合計範囲] )

のように表されます。


SUMIFの条件「日付」

SUMIF関数のシンプルな使用例として、日付ごとに集計してみましょう。
下のようなサンプルを使います。


▲A列とB列には、日付とそれぞれに値が入力されている

そして、セルD2に日付を条件指定(入力)すると、セルE2(赤枠部分)にその日付の値の合計が表示されるようにします。
セルE2には SUMIF関数 を使った以下のような数式が入ります;

=SUMIF ( A2:A7, D2, B2:B7 )


▲9月10日の値の合計が表示された

同じような表を使って「月別」に集計する方法も 過去記事 で取り上げていますのでご興味のある方は そちらの記事 もご覧ください。


SUMIFの条件「複数」

SUMIFで 複数条件 を指定するときに、想定しておかなければいけないのが「AND」と「OR」があるということ。

ANDは『条件A かつ 条件B』、ORは『条件A または 条件B』という条件指定です。

SUMIFの条件「OR」

まずは複数条件の「OR」の場合の対処方法です。
先ほどのサンプルと似た下のような表を使って 複数の条件を指定します。


▲日付の条件は「9月5日 OR 9月10日」

OR条件の場合は、それぞれの条件で SUMIF関数 を使って集計し、それらを合計(SUM)するのがシンプルでわかりやすいです。

セルF2に入る数式は;

=SUM (SUMIF (A2:A7, E2, B2:B7), SUMIF (A2:A7, E3, B2:B7))

SUMIF関数 の結果を SUM関数 で合計します。

すると、セルF2には正しい集計結果が返ってきます。


▲これで OR条件も完璧


SUMIFの条件「AND」は SUMIFS関数で対処

AND条件(A かつ B)の場合はどう対処すればよいでしょうか。
下のサンプルを使って説明します。


▲条件は、B列が「大阪」かつ C列が「9月10日」

このような場合は SUMIFS関数 を使うと便利です。SUMIF関数とは少し違います。

SUMIFS関数は、SUMIF関数と同じく指定された検索条件に一致するセルの値を合計する関数なのですが「AND条件」を指定することが可能です。
書式は;

=SUMIFS(合計対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)

のように、条件を複数していすることが可能です。
サンプルのセルG2に入る数式は;

=SUMIFS (C2:C7, B2:B7, F2, A2:A7, F3)

2つの条件に合致するのは、5行目と7行目なので数式が返す値は「399」となります。


SUMIFの条件「~以外」

つぎの条件は「~以外」で、特定の検索条件を除いてすべて合計するパターンです。
下のサンプルを使用します。


▲条件は「9月10日 以外

不等号を利用する

この場合、セルE3に入る数式は;

=SUMIF (A2:A6, "<>"& D3, B2:B6)

ここで重要なのが 赤字の部分。
9月10日 以外」の以外を「"<>"&」のように不等号を使って表します。

その際、不等号は文字列として扱われるので ダブルクォーテーションでくくり、さらに「&」を使って D3(=9月10日)と繋げるのがポイントです。

これでセルE3には、9月10日を除いた日付の値の合計が表示されます。


▲9月10日 以外の 日付の値の合計が表示された


SUMIFの条件「~を含む」

SUMIFの条件、最後は「~を含む」です。
これは、ワイルドカードを使って対処します。

ワイルドカードを使った対処法

下のようなサンプルの場合、A列には「支部」とさらに「エリア名」が合わせて入力されています。
このような状況で、A列に「関東」を 含む 値の合計をセルE2に返すようにします。


▲「関東」を含む数値だけを合計したい

この場合、セルE2に入る数式は以下のようになります;

=SUMIF (A2:A7, D2 &"*", B2:B7)

ワイルドカードは アスタリスク(*)で表現され、「ワイルドカードの部分の値はなんでもよい」とされます。

このワイルドカードを使うことによって、セルE2には地区名に「関東」を含む値のみが集計されます。


▲「関東」を含む(から始まる)値が集計された

この「ワイルドカード」は、キーワードの前後に使えます。
サンプルのように、キーワードの後ろにだけ付ければ「~から始まる」となりますし、キーワードの前に付ければ「~で終わる」となります。

つまり「~を含む」としたい場合は、ワイルドカードをキーワードの前後両方に付ける必要があります。

DSUM関数でも同じ結果を得られる

SUMIF関数とワイルドカードの組み合わせと同じように、DSUM関数 を使っても同様の結果を得られます。

DSUM関数については 別の記事 で詳しく使い方を解説していますので、気になる方は是非ご覧ください。

以上で『エクセルでSUMIF関数の条件指定|複数・以外・含むなどパターン別対処』は終了です。
他の関連記事と合わせて仕事や趣味に役立ててください。


関連記事・広告



併せて読んでおくとさらに便利

DSUM関数で特定の文字列を含む項目の売上げ合計を求める
集計・DSUM関数
DSUM関数の使い方を解説します。SUMIF関数では集計できない「含む」「始まる」といった条件に当てはまる項目の集計をするには DSUM関数 が役に立ちます。

日次の売上げを月別に集計する|SUMIF関数
集計・SUMIF関数
エクセルで月別に集計する方法です。SUMIF関数を使って、1年間の日次(日別)売上げが羅列されたデータから、月別に集計した売上表を作成してみました。

エクセルで時間の足し算をする|24時間を超える合計表示
書式記号・集計
エクセルで時間の足し算をする方法を解説。労務管理などで 時間の足し算をするときに合計が 24時間以上でも正しく合表示させるクニックです。時間の足し算ができない、合わないという方は必見です。

COUNTIF で「を含む」データをカウントする|Excel 関数
COUNTIF関数・ワイルドカード
COUNTIF関数を使い「~を含む」データをカウントする方法を解説。ExcelのCOUNTIF関数で任意の文字列を含むセルをカウントする にはちょっとした工夫が必要なのです。ヒントは「ワイルドカード」。

※その他、関連記事はこの記事の下の方にもあります。




-関数, EXCEL&VBA
-, ,