ADVERTISEMENT

【Googleスプレッドシート】月別売上集計!月初〜月末の集計テクニック

【Googleスプレッドシート】月別売上集計!月初〜月末の集計テクニック
🛡️ 超解決

月次の売上集計を行う際、毎月手作業で範囲を指定して集計していませんか。日付データが大量にあると、月初から月末までの範囲を毎回指定するのは手間がかかります。この記事では、Googleスプレッドシートを使って月別の売上を自動で集計するテクニックを解説します。MONTH関数やQUERY関数、ピボットテーブルを活用すれば、数クリックで月ごとの集計が可能です。日付データの扱いに慣れていない方でも、手順通り進めればすぐに実践できます。

【要点】月別売上集計を自動化する3つのテクニック

  • MONTH関数で月を抽出する方法: 日付列から月番号(1〜12)を取り出し、SUMIFやQUERYで月ごとに集計します。
  • QUERY関数で月別にグループ化する方法: SELECT句とGROUP BY句を使い、月ごとの合計を1行で算出します。
  • ピボットテーブルでドラッグ操作する方法: 日付を行に、売上を値に配置し、行グループを月単位に変更するだけで集計できます。

ADVERTISEMENT

月別集計の基本仕組み

月別の売上集計では、日付データから月の情報を抽出し、同じ月のデータをグループ化して合計値を求めます。Googleスプレッドシートには、日付を処理する関数が豊富に用意されています。MONTH関数は日付から月番号(1〜12)を返します。また、YEAR関数で年を抽出すれば、年またぎの集計にも対応できます。さらに、QUERY関数を使えばSQLライクな記述で月ごとの集計を直接計算できるため、数式を最小限に抑えられます。ピボットテーブルはGUI操作で素早く集計でき、月単位のグループ化も簡単です。これらのテクニックを組み合わせると、毎月の売上集計を数分で完了できます。

各テクニックの具体的な手順

MONTH関数とSUMIFを使った月別集計

  1. 月番号を抽出する作業列を作成する
    日付列(例:A2:A)の隣のセル(例:B2)に =MONTH(A2) と入力して、オートフィルで下までコピーします。これで各日付の月番号が取得できます。年も考慮したい場合は、=YEAR(A2) & "-" & MONTH(A2) のように連結すると便利です。
  2. SUMIF関数で月別合計を計算する
    別の場所に1〜12の月番号を並べ、隣のセルに =SUMIF($B:$B, 月番号のセル, 売上列) を入力します。例:月番号がB列、売上がC列の場合、=SUMIF($B:$B, E2, $C:$C) とします。これで各月の合計が瞬時に求まります。
  3. 結果を確認する
    月ごとに売上合計が表示されます。年次をまたぐ場合は、YEAR関数も組み合わせて条件を追加すると正確です。

QUERY関数で月別集計を一行で行う

  1. QUERY関数の基本構文を理解する
    QUERY関数は =QUERY(データ範囲, "クエリ文字列", ヘッダー行数) の形式で使います。ここでは、日付から月を抽出するために month(A) または month(A)+1 を利用します(MONTH関数は0始まりのため)。
  2. 月別合計を取得するクエリを書く
    データがA列(日付)、B列(売上)にある場合、=QUERY(A:B, "select month(A)+1, sum(B) where A is not null group by month(A)+1 label month(A)+1 '月', sum(B) '売上'", 1) と入力します。これで月番号と売上合計が並んだ表が出力されます。
  3. 年のグループ化も追加する
    年別に分けたい場合は、select year(A), month(A)+1, sum(B) ... group by year(A), month(A)+1 とします。ラベルも適宜調整します。

ピボットテーブルで簡単集計

  1. データ範囲を選択してピボットテーブルを作成する
    メニューから「データ」→「ピボットテーブル」を選び、データ範囲を指定して新規シートに作成します。日付列と売上列を含めてください。
  2. 行に日付、値に売上を配置する
    ピボットテーブルエディタで、行に「日付」フィールドをドラッグし、値に「売上」フィールドをドラッグします。デフォルトでは各日付の合計が表示されます。
  3. 日付を月単位でグループ化する
    行の日付フィールドを右クリックし、「ピボットテーブルのグループ化」→「月」を選択します。これで月ごとの売上合計に一瞬で変わります。年も一緒にグループ化したい場合は「年」も追加できます。

操作時の注意点と失敗例

日付が文字列として入力されている場合

日付が文字列(例:「2023/01/01」のようなテキスト)だと、MONTH関数やQUERY関数が正しく動作しません。この場合は、DATEVALUE関数を使ってシリアル値に変換するか、スプレッドシートの「データ」→「テキストを列に分割」で日付形式に変換してから集計します。また、文字列のままだとピボットテーブルのグループ化もできないため、必ず日付形式に統一してください。

年をまたぐデータの集計で月が混同される

月番号だけを基準にすると、2023年1月と2024年1月が同じグループになってしまいます。QUERY関数やSUMIFを使う場合は、YEAR関数も含めてグループ化の条件に加えましょう。ピボットテーブルでは、行に「年」と「月」の両方を追加することで、年ごとに月が整理されます。MONTH関数を使う場合も、YEAR関数と組み合わせて一意のキーを作成することをおすすめします。

QUERY関数でヘッダー行の扱いを間違える

QUERY関数の第3引数でヘッダー行数を指定しますが、指定を忘れると1行目がデータとして扱われます。通常はヘッダー行を含めるなら「1」を指定します。また、データ範囲に空行があると結果がずれることもあるので、範囲は実データのみに絞るか、where句でnullを除外しましょう。

ADVERTISEMENT

各集計方法の比較

方法 メリット デメリット
MONTH関数+SUMIF 数式の仕組みが理解しやすい。他の条件と組み合わせやすい 作業列が必要。年またぎの対応には工夫がいる
QUERY関数 1つの数式で完結。年と月の同時グループ化が簡単 構文がSQLに慣れていないと難しい。エラーが出ると原因特定が大変
ピボットテーブル 数式不要で直感的。グループ化や並べ替えが簡単 データ更新時に手動で更新が必要。元データの変更に自動追従しない

まとめ

この記事では、Googleスプレッドシートで月別売上集計を実現する3つのテクニックを紹介しました。MONTH関数とSUMIFの組み合わせは理解しやすく、QUERY関数は強力な集計が1行でできます。ピボットテーブルは直感的な操作性が魅力です。データの量や自分のスキルに合わせて最適な方法を選んでください。さらに、年や四半期の集計にも同じテクニックが応用できます。また、FILTER関数やSUMIFSを使えば条件を追加した集計も可能です。ぜひ実践して、月次レポートの作業効率を向上させてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。