【SUMIF関数】検索条件に一致したデータの合計値を求める

【SUMIF関数】検索条件に一致したデータの合計値を求める

記事『SUM関数:使い方と解説』では、Excel関数の最も使用頻度の高い「SUM関数」を紹介しました。

本日は、SUM関数の機能を拡張した「SUMIF関数」を紹介します。

SUM関数を使っていると、条件ごとに合計を求めたいというシーンがあります。

例えば、男性の合計、女性の合計を別々に求めたい等です。

SUMIF関数


記事の読み方

説明の順は以下です。
まずは、「問題」を与えて、
次に、「解答」を提示します。
最後に、「解説」です。

よくある、結論→理由の構成順に沿いました。

先に「解答」を知りたい人を考慮したためです。

「解説」の説明は不要で、とりあえずビジネス現場で使えればいいと思う方もいるためです。

また、ある程度の経験者であれば、
「問題」と「解答」だけで、関数を使いこなせてしまうためです。

そのために、即利用できるように、ダウンロードファイルを用意していますので、
活用してみてください。
(経験者であれば、ダウンロードファイルだけで、実務に応用できてしまうのではないでしょうか)

問題

Date」ごとに、「Sales」の合計値を求めてみます。

下図のイメージです。

SUMIF関数

サンプルファイルは、財務サンプルの Excel ブックを一部改変したものですので、ダウンロードして活用ください。
解答付きです。

解答

SUMIF関数を使用します。
SUMIFS関数でも解答を得ることができます。

なお、SUM関数でも、参照範囲を適宜変更すれば、Dateごとの合計値は求まります。
ただ、大変ですし、間違いやすいですので、お勧めしません。

関数式

次の関数式を記述すると、DateごとのSales合計値が求まります。

=SUMIF($M$2:$M$701,$R3&$S3,$J$2:$J$701)

解説

ざっくり解説

関数の構文は以下です。

SUMIF(範囲検索条件合計範囲

関数の構文に本問題に当てはめると・・・

SUMIF(「Date」&「Sales」

では、実際のセル範囲を指定すると・・・

SUMIF($M$2:$M$701,$R3&$S3,$J$2:$J$701

となります。

図の色が対応していますので、確認いただければと思います。

SUMIF関数

年&月 の「&」の意味

「Date」の表記が「2014年1月」となっているため、「&」で文字列を結合をして、年&月で指定しています。

完全一致をしないと、検索にヒットしないためです。


$マークによる絶対参照/複合参照/相対参照を正しく設定してください。
分からない方は、下記記事ををご覧いただければと思います。

くわしく解説

SUMIF関数とは

記事『Excel関数の検索テクニック』で説明した通り、Excel標準機能の[関数の挿入]ダイアログ/[関数の引数]ダイアログを大体のことは書かれているので、活用して詳しく解説します。

ダイアログの使い方は、上記記事を参照していただければと思います。

SUMIF,範囲,検索条件,合計範囲

指定した検索策条件に一致するセルの値を合計します

[関数の挿入]ダイアログより


SUMは「和」IFは「条件」ですから、その名の通りです。



Excel関数名が分からない場合は日本語訳してみると、発見できるかもしれません。

SUMIF関数の構文

SUMIF,範囲,検索条件,合計範囲
SUMIF(範囲検索条件合計範囲

範囲の中から検索条件を合致したデータに関して、合計範囲のデータから合計するということです。

第1引数:範囲

範囲 には値を求める対象となるセル範囲を指定します

上記に補足すると、
範囲は、「検索条件」の範囲を指します。

本問題では、Date列の$R3&$S3 範囲になります。

SUMIF,範囲,検索条件,合計範囲
第2引数:検索条件

検索条件 には計算の対象となるセルを定義する条件を数値、式、または、文字列で指定します

その名の通り、「検索条件」を指します。

本問題では、Date列の$M$2:$M$701 が検索条件になります

SUMIF,範囲,検索条件,合計範囲
第3引数:合計範囲

合計範囲 には実際に計算の対象となるセル範囲を指定します。合計範囲を省略すると、範囲内で検索条件を満たすセルが合計されます

その名の通り、「合計範囲」を指します。
本問題では、Sales列の$J$2:$J$701 が合計範囲になります。

SUMIF,範囲,検索条件,合計範囲

引数を入力しみてる

ダイアログボックスに沿って、引数を入力しみてます。

SUMIF,範囲,検索条件,合計範囲
[関数の引数]ダイアログの方が、解説付きで、さらに、引数の入力結果数式の結果まで表示されます。

使いやすく、間違いに気づきやすいです。

[関数の引数]ダイアログの方が、解説付きで、さらに、引数の入力結果数式の結果まで表示されます。

基本的に、直接入力よりも、使いやすく、間違いに気づきやすいです。

ただし、引数オプションを確認する場合などは直接入力も有効です。

引数オプションとは、Excel関数の引数の中で、予め用意されており、関数の特定の振る舞いや設定を制御できます。

そのため、状況に応じての使い分けが最も有効です。

参考記事は末尾に記載されており、全て拝読いただきたいのですが、特に関連のある記事は次の通りです。

小話:外観上は数値のケース

SUMIF関数では、引数に文字列を設定してならないとルールがあります。

ただし、外観上は数値の場合には正常に動作します。

例えば、以下の2つのケースではどちらも「999」という値が数値に見えます。

書式は文字列だが、外観上は数値



しかし、2行目の「999」は書式が文字列です。

本来ならばルール違反であり、SUM関数はエラーを返すべきですが、
実際には正常に動作します。

おそらく、裏で数値変換が行われているものと考えられます。

そのため、書式が文字列でも外観上数値であれば、SUM関数は正常に動作するようです。

最後に

SUMIF関数を紹介しました。
SUMIF関数は、SUM関数に検索条件という機能を拡張した関数でした。

条件ごとに合計を求めることができます。

SUMIF関数を使えば、ピボットテーブルのように、合計値を求めることができます。

ご拝読ありがとうございました。

参考記事

Excel関数自体の原理原則に関する記事です。こちらを参照すると、個別の関数の理解がさらに深まるでしょう。