月次の売上集計を行う際、毎月手作業で範囲を指定して集計していませんか。日付データが大量にあると、月初から月末までの範囲を毎回指定するのは手間がかかります。この記事では、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を使った月別集計
- 月番号を抽出する作業列を作成する
日付列(例:A2:A)の隣のセル(例:B2)に=MONTH(A2)と入力して、オートフィルで下までコピーします。これで各日付の月番号が取得できます。年も考慮したい場合は、=YEAR(A2) & "-" & MONTH(A2)のように連結すると便利です。 - SUMIF関数で月別合計を計算する
別の場所に1〜12の月番号を並べ、隣のセルに=SUMIF($B:$B, 月番号のセル, 売上列)を入力します。例:月番号がB列、売上がC列の場合、=SUMIF($B:$B, E2, $C:$C)とします。これで各月の合計が瞬時に求まります。 - 結果を確認する
月ごとに売上合計が表示されます。年次をまたぐ場合は、YEAR関数も組み合わせて条件を追加すると正確です。
QUERY関数で月別集計を一行で行う
- QUERY関数の基本構文を理解する
QUERY関数は=QUERY(データ範囲, "クエリ文字列", ヘッダー行数)の形式で使います。ここでは、日付から月を抽出するためにmonth(A)またはmonth(A)+1を利用します(MONTH関数は0始まりのため)。 - 月別合計を取得するクエリを書く
データが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)と入力します。これで月番号と売上合計が並んだ表が出力されます。 - 年のグループ化も追加する
年別に分けたい場合は、select year(A), month(A)+1, sum(B) ... group by year(A), month(A)+1とします。ラベルも適宜調整します。
ピボットテーブルで簡単集計
- データ範囲を選択してピボットテーブルを作成する
メニューから「データ」→「ピボットテーブル」を選び、データ範囲を指定して新規シートに作成します。日付列と売上列を含めてください。 - 行に日付、値に売上を配置する
ピボットテーブルエディタで、行に「日付」フィールドをドラッグし、値に「売上」フィールドをドラッグします。デフォルトでは各日付の合計が表示されます。 - 日付を月単位でグループ化する
行の日付フィールドを右クリックし、「ピボットテーブルのグループ化」→「月」を選択します。これで月ごとの売上合計に一瞬で変わります。年も一緒にグループ化したい場合は「年」も追加できます。
操作時の注意点と失敗例
日付が文字列として入力されている場合
日付が文字列(例:「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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
