1/09/2024

Excel。日付から、作業列(条件)をつくらないで、月別集計をしたい。【totalling】

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関数で、和算するというわけです。