Excel。手早く曜日ごとの売上高を集計したいけど、どのようにしたらいいの。
<SUM+IF+WEEKDAY関数>
曜日ごとに集計したい場合、曜日がわかるように一度数式をつくり、それを条件として集計する方法を行うことがあります。
途中の計算式を作らなくても、SUM関数とIF関数とWEEKDAY関数を組み合わせるだけで、数式一つで、曜日ごとの集計をすることができます。
次の表を用意しましたので、確認していきます。
B1:C11にデータがあります。
曜日が表示されていれば、SUMIF関数をつかえば、算出することができますが、曜日を表示されていません。
通常、日付に基づいた曜日を算出させてから、曜日を条件として集計するわけですが、それでは、数式を複数作る必要があります。
そこで、G2には、次の数式を設定しています。
=SUM(IF(WEEKDAY($B$2:$B$11,1)=E2,$C$2:$C$11,0))
オートフィルで数式をコピーしています。
これで、曜日ごとの売上高の集計を算出することができました。
数式を説明すると、
WEEKDAY($B$2:$B$11,1)=E2
WEEKDAY関数は、曜日を算出する関数です。
WEEKDAY関数の2つ目の引数にある「種類」を1と設定することで、1を日曜日で7を土曜日として数値を割り振ってくれます。
E列のNOをつかって、合致することで、何曜日なのかを判断することができます。
そこで、IF関数をつかうことで、合致しなかった場合は、「0(ゼロ)」とすることができます。
最後に、SUM関数をつかって、集計します。
以前は、この数式は、配列関数で作成したのですが、Microsoft365では、普通に数式をつくるだけで、対応してれます。
本当に、合っているのか、念のため確認してみましょう。
A2に曜日を算出する数式をつくります。
=TEXT(B2,"aaa")
A11まで、オートフィルで数式をコピーしています。
日曜日は、983+874なので、1857とG2の値と合致していることがわかります。
今回紹介した数式ですが、WEEKDAY関数をMONTH関数やYEAR関数にすることで、作業列に算出してから集計しなくても、数式一つで算出することができます。