記事『SUM関数:使い方と解説』では、Excel関数の最も使用頻度の高い「SUM関数」を紹介しました。
本日は、SUM関数の機能を拡張した「SUMIF関数」を紹介します。
SUM関数を使っていると、条件ごとに合計を求めたいというシーンがあります。
例えば、男性の合計、女性の合計を別々に求めたい等です。
Contents
記事の読み方
説明の順は以下です。
まずは、「問題」を与えて、
次に、「解答」を提示します。
最後に、「解説」です。
よくある、結論→理由の構成順に沿いました。
先に「解答」を知りたい人を考慮したためです。
「解説」の説明は不要で、とりあえずビジネス現場で使えればいいと思う方もいるためです。
また、ある程度の経験者であれば、
「問題」と「解答」だけで、関数を使いこなせてしまうためです。
そのために、即利用できるように、ダウンロードファイルを用意していますので、
活用してみてください。
(経験者であれば、ダウンロードファイルだけで、実務に応用できてしまうのではないでしょうか)
問題
「Date」ごとに、「Sales」の合計値を求めてみます。
下図のイメージです。
サンプルファイルは、財務サンプルの 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)
となります。
図の色が対応していますので、確認いただければと思います。
年&月 の「&」の意味
「Date」の表記が「2014年1月」となっているため、「&」で文字列を結合をして、年&月で指定しています。
完全一致をしないと、検索にヒットしないためです。
$マークによる絶対参照/複合参照/相対参照を正しく設定してください。
分からない方は、下記記事ををご覧いただければと思います。
くわしく解説
SUMIF関数とは
記事『Excel関数の検索テクニック』で説明した通り、Excel標準機能の[関数の挿入]ダイアログ/[関数の引数]ダイアログを大体のことは書かれているので、活用して詳しく解説します。
ダイアログの使い方は、上記記事を参照していただければと思います。
指定した検索策条件に一致するセルの値を合計します
[関数の挿入]ダイアログより
SUMは「和」、IFは「条件」ですから、その名の通りです。
Excel関数名が分からない場合は日本語訳してみると、発見できるかもしれません。
SUMIF関数の構文
SUMIF(範囲、検索条件、合計範囲)
範囲の中から、検索条件を合致したデータに関して、合計範囲のデータから合計するということです。
第1引数:範囲
範囲 には値を求める対象となるセル範囲を指定します
上記に補足すると、
範囲は、「検索条件」の範囲を指します。
本問題では、Date列の$R3&$S3 が範囲になります。
第2引数:検索条件
検索条件 には計算の対象となるセルを定義する条件を数値、式、または、文字列で指定します
その名の通り、「検索条件」を指します。
本問題では、Date列の$M$2:$M$701 が検索条件になります
第3引数:合計範囲
合計範囲 には実際に計算の対象となるセル範囲を指定します。合計範囲を省略すると、範囲内で検索条件を満たすセルが合計されます
その名の通り、「合計範囲」を指します。
本問題では、Sales列の$J$2:$J$701 が合計範囲になります。
引数を入力しみてる
ダイアログボックスに沿って、引数を入力しみてます。
[関数の引数]ダイアログの方が、解説付きで、さらに、引数の入力結果や数式の結果まで表示されます。使いやすく、間違いに気づきやすいです。 [関数の引数]ダイアログの方が、解説付きで、さらに、引数の入力結果や数式の結果まで表示されます。
基本的に、直接入力よりも、使いやすく、間違いに気づきやすいです。
ただし、引数オプションを確認する場合などは直接入力も有効です。
引数オプションとは、Excel関数の引数の中で、予め用意されており、関数の特定の振る舞いや設定を制御できます。
そのため、状況に応じての使い分けが最も有効です。
参考記事は末尾に記載されており、全て拝読いただきたいのですが、特に関連のある記事は次の通りです。
小話:外観上は数値のケース
SUMIF関数では、引数に文字列を設定してならないとルールがあります。
ただし、外観上は数値の場合には正常に動作します。
例えば、以下の2つのケースではどちらも「999」という値が数値に見えます。
しかし、2行目の「999」は書式が文字列です。
本来ならばルール違反であり、SUM関数はエラーを返すべきですが、
実際には正常に動作します。
おそらく、裏で数値変換が行われているものと考えられます。
そのため、書式が文字列でも外観上数値であれば、SUM関数は正常に動作するようです。
最後に
SUMIF関数を紹介しました。
SUMIF関数は、SUM関数に検索条件という機能を拡張した関数でした。
条件ごとに合計を求めることができます。
SUMIF関数を使えば、ピボットテーブルのように、合計値を求めることができます。
ご拝読ありがとうございました。
参考記事
Excel関数自体の原理原則に関する記事です。こちらを参照すると、個別の関数の理解がさらに深まるでしょう。