• ベストアンサー

週の合計を求める計算式?

週単位の売上を出したいのですが、 A1に関数で今日の日付を入れてます。 例えば、A1が4/23なら22~28日の合計を求め、 A1が4/29なら29日の週の合計を求める様な計算式はどうすれば良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • daiju3000
  • ベストアンサー率29% (21/72)
回答No.2

売上表が仮に ・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)
回答No.3

こんにちは! >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)
回答No.1

まず売上データがどのように入力されているかで計算式も異なります。 仮にB2から下へ売上データが入力してあるとすると =SUM(INDIRECT("b"&DAY(A1)+1-WEEKDAY(A1,3)):INDIRECT("b"&DAY(A1)+1-WEEKDAY(A1,3)+6)) で行けると思います。 ただ月毎にシートを分けたりするともっと複雑になるかもしれません。

関連するQ&A