
Googleスプレッドシートで「月ごと」や、「週ごと」の合計を出す方法をご紹介します。ピボットテーブルと使って月ごとに集計する基本的な方法から、関数を組み合わせて「月ごと・週ごと」に集計する方法も解説しているので、ぜひ参考にしてみてください。
ピボットテーブルで「月単位」に集計する

【ピボットテーブルの作成】
- 集計したい表の範囲を選択します。
- メニューの「挿入」→「ピボットテーブル」をクリックします。
- 範囲が正しいことを確認し、「作成」をクリックします。

【項目の配置】
- 右側のエディタで、「行」に「日付」を追加します。
- 「値」に「集計する項目(例:売上など)」を追加します。

【日付を「月」でグループ化する】
- テーブル内の日付が表示されているセルの上で右クリックします。
- メニューの「ピボット日付グループを作成」→「月」をクリックします。
関数で「月単位・週単位」に集計する
月単位で集計する
重複しない「月」のリストを抽出する

以下のような数式を入力し、集計する「月」を抽出します。
例:=ArrayFormula(UNIQUE(text(A2:A6,"yyyy年mm月")))
【数式の解説】
- TEXT関数:日付の範囲(A2:A6)を、「2026年01月」のような形式に変換します。
- UNIQUE関数:TEXT関数で変換したデータから、重複を除いた一意の値を抽出します。
- ArrayFormula関数:本来1つのセルにしか使えないTEXT関数を、範囲(A2:A6)に適用させます。
TEXT関数の引数:(数値, 表示形式)
抽出したリストを使って合計(SUMIF)を出す

抽出した「月」を条件にして、それぞれの月の数値を合計します。
例:=ArrayFormula(SUMIF(TEXT(A2:A6,"yyyy年mm月"),D2:D4,B2:B6))
【数式の解説】
- TEXT関数:日付の範囲(A2:A6)を、「2026年01月」のような形式に変換します。
- SUMIF関数:TEXT関数で変換した「月」のデータの中から、指定した条件(D2:D4 の各月)と一致するものを探し、その横にある数値(B2:B6)を合計します。
- ArrayFormula関数:本らに1つのセルしか処理できない関数に組み合わせることで、範囲全体に対して計算を実行し、複数の結果をまとめて取得できるようになります。
SUMIF関数の引数:(範囲, 条件, [合計範囲])
週単位で集計する
作業列に「週数」を計算する

作業列に以下のような数式を入力し、オートフィルでコピーします。
例:=WEEKNUM(A2,2)-WEEKNUM(EOMONTH(A2,-1)+1,2)+1
【数式の解説】
- WEEKNUM関数は、指定した「日付」が、1月1日から数えて何週間目に当たるかを数値で返します。(例:2025/1/1(1)~2025/12/31(53))
- EOMONTH関数は、前月の月末を求め、そこに「1」日足すことでその月の初日を算出します。
- WEEKNUM関数で取得した「その日の週番号」から、常に「月初日の週番号」を引いて「1」を足すことで、その月の第1週目からカウントを始めます。
- 例:2026/2/1(5週)- 2026/2/1(5週)+ 1 = 1週目
- 例:2026/2/9(7週)- 2026/2/1(5週)+ 1 = 3週目
WEEKNUM関数の引数:(日付, [種類])
【補足】WEEKNUM関数の第2引数「種類」について
- 「種類」には、何曜日を週の最初として数えるかを指定します。
- 1(省略時):日曜日を週の最初として、日~土を1週間として数えます。
- 2:月曜日を週の最初として、月~日を1週間として数えます。
作業列の「週数」を使って合計(SUMIF)を出す

計算した「週数」を「検索範囲」として、それぞれの「週」ごとの数値を合計します。
例:=ArrayFormula(SUMIF(C2:C6,E2:E6,B2:B6))
【数式の解説】
- SUMIF関数:週数(C2:C6)の中から、条件(E2:D6 の各週)と一致するものを探し、それに対応する数値(B2:B6)を合計します。
- ArrayFormula関数:本らに1つのセルしか処理できない関数に組み合わせることで、範囲全体に対して計算を実行し、複数の結果をまとめて取得できるようになります。
SUMIF関数の引数:(範囲, 条件, [合計範囲])