12/30/2015

Excel。Aggregate。曜日別に金額を集計する方法を知りたいということで。その1。


Excel。曜日別に金額を集計する方法を知りたいということで。その1。

<WEEKDAY&SUMIF関数 編>

ちょっとしたご質問から、
なるほど、確かに現場ではほしいものなんだろうなぁ~というものが先日ありまして、
それが、今回ご紹介する、曜日別に金額を集計する方法なんです。

平日と週末とかでというのは、ありそうですが、
今回は、月曜日なら月曜日というように集計した金額を知りたいそうなんですね。

つまり下記のような表のようにしたいわけです。

ただ、売上表の曜日は、日付が変わったとしても、イチイチ修正したくないので、
日付と連動したいというリクエストも加わっています。

そこで、まず、表を作る所からポイントがありますので、ご紹介していきます。

B列の日付はそのまま入力しております。

C列の曜日ですが、ここは、連動させる必要がありますので、ここは、曜日を算出してくれる、WEEKDAY関数を使って数値を算出しております。

それでは、C4に数式を作っていきます。
WEEKDAY関数ダイアログボックスを表示します。

シリアル値は、B4を入力します。

種類は、1を入力します。

この種類によって、算出される数値が変わっていきます。
今回は、日曜日を1にしたいので、1と入力しております。

ちなみに、

1は、(日曜日=1~土曜日=7)

2は、(月曜日=1~日曜日=7)

3は、(月曜日=0~日曜日=6)


と設定されております。
数式をオートフィルを使ってコピーします。

曜日が数値として算出されました。

これでは、何曜日だかわかりませんので、曜日にしていきたいわけですね。

そこで、IF関数を使うのではなくて、表示形式を使って変えていきます。

C4:C18を範囲選択して、セルの書式設定ダイアログボックスを表示しましょう。

表示形式タブの分類をユーザー定義にして、
種類を aaa と入力してOKボタンをクリックしましょう。

すると、数値が曜日に替わりましたね。

さて、こちらの表は完成しておりますので、集計の表を作っていきましょう。

F4から、日から土と入力した場合はどうなるかを確認してみます。
そして、いよいよ集計する数式をG4に作りますので、SUMIF関数ダイアログボックスを表示していきます。

範囲には、$C$4:$C$18。絶対参照を忘れないように設定しましょう。

検索条件は、F4
合計範囲は、$D$4:$D$18

そして、OKボタンをクリックしましょう。

あれれ?数値が算出されないというかゼロが表示されてしまいましたね。

これは、F列に原因があります。
それは、”日”と直接文字を入力してしまったからです。

では、どうしたらいいのかというと、F4に1と数値を入力しましょう。
そして、1~7まで数値を入力します。

数値に変えた時点で、G4に集計結果が表示されてきましたね。

要するに、C列の曜日は表示形式を曜日にしているだけで、元は数値なわけです。
ですから、F列を文字にしては、ダメで、数値に変える必要があるのです。

だた、数値では、何曜日なのかわかりにくいので、
これを、先程と同じように表示形式を曜日に変えてみましょう。

そして、G4の数式もG10までコピーします。

これで、完成しましたね。

ところで、1が日曜日と表示されている訳です。
実は、1は、表示形式を日付に変えると、1990/1/1になり、曜日が日曜日となっている訳です。

ですので、日曜日を1として算出させるために、WEEKDAY関数の種類を1にした訳です。

ちょっと、長くなりましたが、難易度はそれほど高くありませんので、
機会がありましたら作ってみると面白いですよ。

そうそう、実は、WEEKDAY関数を使わなくても算出することが出来ますので、
次回はその方法をご紹介しましょう。