Excel。日付から、作業列(条件)をつくらないで、月別集計をしたい。
<SUM+IF+MONTH関数>
A列には、セミナー開催日が入力されている表があります。
B列には、セミナー別に参加した人数が入力されており、E列に、月別ごとの集計をしたいわけです。
そこで、1つの数式だけで月別集計を行うことはできないのでしょうか。
月別集計を行いたい場合、日付から何月なのかがわからないと集計することができません。
作業列として、MONTH関数をつかって、月を用意する必要があります。
また、期間計算でおこなうとしても、結局のところ、算出するための作業列をつくらないと算出することができません。
実のところ、合計を算出するSUM関数の引数にIF関数を組み込むことで、1つだけの数式で算出することができます。
E2に次の数式を設定しました。
=SUM(IF(MONTH($A$2:$A$10)=D2,$B$2:$B$10,0))
あとは、オートフィルで数式をコピーしました。
このように、1つの数式だけで、月別集計を算出することができました。
使用している関数は、SUM関数とIF関数とMONTH関数という比較的、馴染みのある関数だけで算出することができました。
数式を確認しておきましょう。
IF関数の論理式。
MONTH($A$2:$A$10)は、配列関数ですが、スピル機能が搭載されたExcelだと、配列関数と意識することなく、数式をつくることができます。
A2=D2だったら、B2。
そうでなければ0(ゼロ)とします。
これを、A10までおこなうわけです。
その値を、SUM関数で、和算するというわけです。