- ベストアンサー
週の合計を求める計算式?
週単位の売上を出したいのですが、 A1に関数で今日の日付を入れてます。 例えば、A1が4/23なら22~28日の合計を求め、 A1が4/29なら29日の週の合計を求める様な計算式はどうすれば良いのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
売上表が仮に ・B3から下に365行(日付) ・C3から下に365行(週) ・D3から下に365行(売上)あったとします。 C列は、C3に『=WEEKNUM(B3)』と打って最下行まで数式をコピーして下さい。(WEEKNUMは指定した日付がその年の何週目にあたるかを返す関数です)C列の表示形式は"標準"にしておきましょう。 合計をだしたいセルに、 =SUMIF(C3:C367,WEEKNUM(A1),D3:D367) と入力して終了です。 C列が邪魔だったら、列の表示を非表示にして下さい。
その他の回答 (2)
- comv
- ベストアンサー率52% (322/612)
こんにちは! >A1が4/23なら22~28日の合計を求め 週のサイクルは通常 (日)~(土)です、ご質問では 4/22(月)~4/28(日)となっておりますがよろしいの でしょうか? であれば (月)が基準(1)となる曜日の数値化 WEEKDAY(**,2) と検索値の合計 SUMIF(検索範囲,条件,合計範囲)を使って 可能です。 具体的な例 A 1 2002/4/23 は火曜日なので WEEKDAY(A1,2) は 2となり その週の月曜日は A1-WEEKDAY(A1,2)+1 その週の日曜日は A1+(7-WEEKDAY(A1,2) となります。 上記範囲で連動する数値の合計を求めるには =SUMIF(日付の範囲,">="&A1-WEEKDAY(A1,2)-1,合計対象範囲)-SUMIF(日付の範囲,">"&A1+(7-WEEKDAY(A1,2),合計対象範囲) となり例えば 対象がSheet2の 日付範囲がA2:A200 データ範囲がB2:B200 であれば =(SUMIF(Sheet2!A2:A200,">="&A1-WEEKDAY(A1,2)+1,Sheet2!B2:B200)-SUMIF(Sheet2!A2:A200,">"&A1+7-WEEKDAY(A1,2),Sheet2!B2:B200)) となります。
- lh_kl
- ベストアンサー率30% (10/33)
まず売上データがどのように入力されているかで計算式も異なります。 仮にB2から下へ売上データが入力してあるとすると =SUM(INDIRECT("b"&DAY(A1)+1-WEEKDAY(A1,3)):INDIRECT("b"&DAY(A1)+1-WEEKDAY(A1,3)+6)) で行けると思います。 ただ月毎にシートを分けたりするともっと複雑になるかもしれません。