- ベストアンサー
平日と土日祝で売上実績を区別して出す方法
- 平日と土日祝を区別して売上実績を出すための関数を作成したい。毎月末日までの売上金額を入力し、それぞれの平均金額を自動で計算したいが、平日と土日祝の日数が異なるため難しい。
- 手動で計算する場合は、月ごとに平日の日数と土日祝の日数を考慮しなければならず、祝日も含まれるとさらに複雑になる。関数の作成に悩んでいる。平日の合計金額と土日祝の合計金額を計算する方法でも構わない。
- 「土・日・祝」の1日平均と平日の1日平均の金額を自動で計算する関数を作成したい。毎月末日までの売上金額を入力し、関数によって合計金額を自動で算出したい。平日と土日祝の日数の差異を考慮する必要がある。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! 一例です。 ↓の画像(少し画像が小さいかもしれません) のように作業用の列を使ってみました。 祝日データはJ2~K24(今年と来年のデータ)を表にしています。 作業列D2セルに =IF(A2="","",IF(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7,COUNTIF($J$2:$K$24,A2)),1,2)) という数式を入れ、月末の行までオートフィルで下へコピーします。 これで土日・祝日の行に「1」が表示され平日に「2」が表示されると思います。 このデータを元に平均を出しています。 土日祝日の平均F2セルに =SUMIF(D2:D32,1,C2:C32)/COUNTIF(D2:D32,1) 平日平均G2セルに =SUMIF(D2:D32,2,C2:C32)/COUNTIF(D2:D32,2) という数式を入れています。 (エラー処理はしていません) これで何とか希望に近い形にならないでしょうか? 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m
その他の回答 (2)
- MackyNo1
- ベストアンサー率53% (1521/2850)
祝日リストに「祝日リスト」と名前をつけておき、A列の日付とC列の値だけで計算するなら以下のような数式になります。 土曜日の平均(合計/日数) =SUMPRODUCT((WEEKDAY(A2:A31)=7)*C2:C31)/SUMPRODUCT((WEEKDAY(A2:A31)=7)*1) 日曜の平均 =SUMPRODUCT((WEEKDAY(A2:A31)=1)*C2:C31)/SUMPRODUCT((WEEKDAY(A2:A31)=1)*1) 祝日の平均 =IF(SUMPRODUCT(COUNTIF(祝日リスト,A2:A31)),SUMPRODUCT(COUNTIF(祝日リスト,A2:A31)*C2:C31)/SUMPRODUCT(COUNTIF(祝日リスト,A2:A31)),"")
補足
一番スッキリした感じで良いのですが、土日祝をそれぞれバラバラに出す方法になっちゃってますね。 応用を利かせれば出来るのかな?
- keithin
- ベストアンサー率66% (5278/7941)
準備1:祝祭日 祝祭日の一覧を用意(例ではF2:F5,実際は別シートでよい) 挿入メニューの名前の定義で「祝日一覧」と名前を付けておく 準備2:曜日列 B2には =IF(COUNTIF(祝日一覧,A2),"祝",TEXT(A2,"aaa")) と入れて,書式で表示するのではなく実文字として曜日の文字を計算しておく 作成: 土日祝日の日数(F8) =SUM(COUNTIF(B:B,{"土","日","祝"})) 土日祝日の金額(G8) =SUM(SUMIF(B:B,{"土","日","祝"},C:C)) 月間の日数(F9) =COUNT(A:A) 4月なら30日間だと数えても良い 月間の金額(G9) =SUM(C:C) ただの足し算 平日の日数(F10) =F9-F8 平日の金額(G10) =G9-G8 金額/日は勿論,それぞれの「金額÷日数」で求まる。
お礼
ご回答ありがとうございます。 なるほど、曜日の文字で区別して計算するのですね。
お礼
ご回答ありがとうございました。 今回は、この方法を採用させていただくことにしました。 また機会がございましたらよろしくお願いいたします。