2017-01-07 1 views
1

ゲームの統計情報を含むスプレッドシートがあり、一般的およびゲームごとに勝率のある円グラフを表示する必要があります。動的値を持つデータセットから一意の行ごとの合計を計算する

私は今、プレイヤーごとの勝利の合計を計算することは簡単ですので、

Date  | Game | Player 1 | Player 2 
---------|--------|----------|---------- 
01.01.17 | Game 1 |  1 |  0 
02.01.17 | Game 2 |  0 |  1 
03.01.17 | Game 2 |  0.5 |  0.5 

のように私のメインのデータテーブルを作成しました。しかし、ゲームごとにそれを生成することはそれほど簡単ではありません。私はゲームのリストのためのUNIQUEと各セルのDSUMを使用してい

​​

: は今のところ私は計算は次のようになります。表で起こっている第二のテーブルを持っています。 これには2つの問題があります。

  1. は、私は(新しいプレーヤーが追加されたとき、私はケースをカバーする必要はありませんので、シートのみのための2つのプレーヤーをである)DSUM声明新しいゲームが追加されるたびにコピーする必要が
  2. ときが名前の一部を共有する2つの異なるゲーム(のような「フェーズ10」と「フェーズ10 Brettspielは」第二のゲームの勝利は私の声明は、この

    ように見える最初のゲームの勝利

に数えるんです

DSUM(Data!B1:D100, E1, {"Game";D2}) 

Dataには最初のテーブルが含まれ、Gameはユニークなゲームの列で、E1にはプレイヤー名が含まれています。

最初の問題は実際にはそれほど深刻ではありませんが、2番目の問題を修正したいと思います。私は本当にGoogleスプレッドシートで経験していないので、私は純粋なスプレッドシートコマンドでこれを解決したいのですが、カスタムスクリプトでは解決したくありません。

ご協力いただければ幸いです。

+0

私は第二の問題の権利を読んでいるかわかりません。 「Phase 10」と「Phase 10 Brettspiel」を一緒に数えたいのですか? – FTP

+0

私はそれらを一緒に数えたくありません。 –

答えて

2

uniqueとの代わりに、私はqueryを使用して両方のことを同時に行うことができます。単一のqueryがすべての計算を実行するため、数式をコピー・ペーストする必要がなくなります。データがである場合、例えば:

  • がBにそれぞれ別個のエントリのC及びDの内容を追加
  • 無視:D、クエリが

    =query(B:D, "select B, sum(C), sum(D) where B <> '' group by B order by B asc", 1) 
    
    手段

    かもしれませんBソートBによって結果アルファベット

  • 範囲B
  • 空である行:D 1つのヘッダ行(それはデータと間違えないように、最後の引数で指定された)を有します0

結果のために他のヘッダは、好ましくは以下のように「ラベル」を使用している場合:

=query(B:D, "select B, sum(C), sum(D) where B <> '' group by B order by B asc label sum(C) 'Player 1', sum(D) 'Player 2'", 1) 
+0

は完璧に動作します、ありがとう。 また、TILシートにはSQLライクな言語があります。 –

関連する問題