Googleスプレッドシートで月ごとにデータをグループ化する方法


38

毎日のさまざまな指標を含むGoogleスプレッドシートがあります。毎日独自の行があります:

day        | cost | impressions | clicks | conversions
2014-02-01 | $45  | 3,540       | 80     | 5
2014-02-02 | $49  | 3,700       | 88     | 7
2014-02-03 | $42  | 3,440       | 79     | 7
2014-02-04 | $51  | 3,940       | 91     | 10

テーブルをピボットし、次のようcostimpressions、(日ではなく)ごとに、、、clicksおよびconversion列を要約します。

Month        | Sum of cost | Sum of impressions | Sum of clicks | Sum of conversions
February     | $187        | 14620              | 338           | 29

ExcelではこのGroup by関数を使用しましたが、Googleスプレッドシートでは使用できません。


2
2018年現在の正解は次のとおりです
Kos

回答:


18

Data->Pivot table report...まさにあなたが求めているものを使用します。「新しいGoogleスプレッドシート」を使用しなければならない可能性があります。
これをデフォルト設定として使用し、Excelの場合と同様に、必要なものを簡単に実現できました。

ここで私の答えで、新しいスプレッドシートを有効にする方法を説明します。


私は問題を完全に理解していなかったようです。

最初に月が必要です。そのためには、新しい列を追加して、を使用して日付を抽出します=MONTH(DATE_COLUMN)

ここに画像の説明を入力してください

次に、ピボットレポートを作成します。

ここに画像の説明を入力してください


「新しいGoogleシート」を試してみましたが、ピボットテーブルレポートで月ごとに日付をグループ化するオプションはありません。
ボグダン14年

申し訳ありませんが、主な問題は、グループ化がまったく見つからないことだと思いました。次に、月のみを提供し、それによってグループ化する列を追加しませんか?
StampedeXV 14年

残念ながら、私は...別の列を追加、またはソースシートの書式設定を変更することがパワーにCyfeでダッシュボードを使われているとして、しかし、あなたの答えに感謝することはできません
ボグダン

列を追加し、非表示にして非表示にすることができます。それでも、ピボットレポートで使用できます。
StampedeXV 14年

素晴らしいアイデア。私はそれを試しましたが、Cyfeは隠された列を無視することができないようです。私は....この問題を回避するには、ソース・データとの2枚の重複シートを維持する必要がありますするつもりだ
ボグダン

30

Googleスプレッドシートは、これを「ピボット日付グループの作成」としてサポートするようになりました

日付/時刻列を行として追加したら:

  1. ピボットテーブルのいずれかの値を右クリックし、
  2. 「ピボット日付グループの作成」を選択します
  3. 目的のグループ化を選択します(たとえば、「月」または「年月」)

前+視覚的な例:

グループ化する前のピボットテーブル

後:

ここに画像の説明を入力してください

詳細情報


これはおそらく正しい答えになるはずです
-senseiwu

これは、2018
カルバン

何らかの方法でピボットテーブルで独自の数式を使用できますか?分位数を取得したい
Hubert Grzeskowiak

3
日付列にこのオプションが表示されません
Ian Hyzy

5

ヘルパー列なし:

=query(A:E,"select sum(B), sum(C), sum(D), sum (E) group by month(A) offset 1")  

dayA1にあると仮定します。

上記がどのように機能するかを今まで以上にうまく説明できるドキュメント


1
これは本当に便利に聞こえます。仕組みを説明してもらえますか?クエリ機能を使用したことはありません。
ショーンV.ウィルソン

月と年でグループ化することは可能ですか?
ヒューバート・グジェスコウィアク

@HubertGrzeskowiakはい、そうです
Lee Taylor

4

したがって、私と同様の質問をした人にとっては、Googleスプレッドシートのピボットのグループフィールド関数はまだありません(Excelの場合と同様)。したがって、最も簡単な方法は、週、月、年など、必要なグループに日付を変換する別の列を追加することです。機能がすぐにGoogleシートにも追加されることを願っています。


2

私が見つけたもっと簡単な方法は、日付セルを新しい列のテキストに変換することでした。

=Text(A1, "mmm-yy")

その後、ピボットすることができ、月ごとにグループ化されます。


1

入力としてフォームを使用しているため、以前の回答はどれも役に立ちませんでした。フォームシートに数式を追加することはできません。

これが私の回避策です。

上記を読んで、Pivo​​tテーブルには選択する月の列が必要です。週や金曜日など、さまざまな基準を使用できます。または、ジョン、ドゥー、フーまたはバー。「グループ化」するものは何でも。

私の場合、日付はBで=month(B2)、月を表します。だから私は追加の列が必要でした=month(B2)

フォームシートでは数式を使用できません。また、フォームのあるシートでは、数式を含む列を追加することはできません(正確にはできますが、新しいフォームエントリは対応する行の数式を削除します)。

セカンドシート

=page1!A1etcを使用して月の列を追加する単純な2番目のシートにも同じ問題があります。フォームの新しいエントリ=>が行を追加します。

溶液

だから私は次のことをした。

  • 余分なシートを追加しました
  • =importrange("longkeynumber";"sheet form!A1:E1000")A1で使用
  • (importrangeは別のドキュメントをインポートすることですが、ちょっと…それは動作します)
  • Fで使用 =if(B3>0;(MONTH(B3));"")
  • シートAに追加のデータを追加するとき、インポート範囲を持つシートBの数式は残ります。
  • これで、(この場合)Fを行または列として、ピボットテーブルを追加できます。

user165410の回答では、彼は次のように述べています。-Fで使用=if(B3>0;(MONTH(B3));"")これは良い解決策ですが、さらに簡単にすることができます。-F3では、=arrayformula(if(b3:b>0;(month(b3:b));""))これは、 B. 行の挿入または削除、または行の移動は、数式を台無しにしません!
ステファンヴァンアールスト

新しい回答がスプレッドシートに追加されると、新しい行が挿入されます。代わりに配列式(複数値の結果)またはスカラー式(単一値の結果)を使用できます。一方では、ソースデータが同じファイルから来るときあなたはIMPORTRANGEと同じ結果を返すように配列数式を使用することができ、彼らはすぐに更新
ルベン・

このソリューションが大好きです!F3では、= arrayformula(if(b3:b> 0;(month(b3:b)); ""))問題は、データが1年以上のもので、各月が前年。
ヴィックM

1

既に新しい列を追加している場合は、単に使用することもできますeomonth("reference cell",0)。その月の最後の日を常に取得します。またはeomonth("reference cell",-1)+1、月の初めを取得します。

テキストに変換するのではなく、このアプローチの利点は、データをピボットするときです。自動的に昇順で左から右にソートされます。


1

好きな方法を見つけました。次の手順で非表示の列を作成しました。


  • 月の毎日を月の最初の日に丸めます。

= A2-day(A2)+ 1(A2は標準日付)

  • 書式をカスタムに設定し、月/年を選択します。これには、日の設定を削除する必要があります。そのため、実際の値が月、月、年の最初の日になる場合、月/年が表示されます。
  • これで、ピボットテーブルはすべての同様のアイテムをグループ化し、月/年の列の書式を表示します。

このようにして、年が経つにつれて一意の値を取得します。私自身、問題の列を非表示にすることにしました。これは、このシートに接続しているDocがあり、追加するときに最初の2行をプルするためです。

日付とフォーマットの式

カスタム日付形式

ピボットテーブルの結果

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.