5

ここにサンプルのGoogle スプレッドシートがあります。そのスプレッドシートの Sheet2 で、次のクエリを使用して概要を作成しました。

=Query(Sheet1!A1:E24, "Select A, Count(E) GROUP BY A Pivot C")

しかし、次の行で各測量士の数を合計し、3 番目のシートに示されているピボットテーブルのようにその総計を合計したいと考えています。クエリ自体を使用して総計を計算することは可能ですか? 誰でも助けてください。

4

2 に答える 2

6

これは古い質問ですが、私はこれを理解しました。={} を使用して、複数のクエリから得られた配列を 1 つの関数に結合できます。{} を使用した配列の作成については、こちらで説明しています: Google スプレッドシートでの配列の使用

それを設定する最も簡単な方法は、各部分を別々に行い、それらを 1 つの式に再結合することです。

最初の部分は、最初に実行したクエリです。

=Query(Sheet1!A1:E24, "Select A, Count(E) GROUP BY A Pivot C")

2 番目の部分は、合計の列です。この数式を、最初のクエリ結果のすぐ右にある列の一番上のセルに入力します。

=Query(Sheet1!A1:E24, "Select Count(E) GROUP BY A label Count(E) 'Grand Total'")

3 番目の部分は、一番下の行の合計です。これを最初のクエリ結果の下に置きます。ピボットのヘッダー行を削除する方法はないため、代わりに非ピボット クエリの結果を転置します。

=transpose(Query(Sheet1!A1:E24, "Select Count(E) GROUP BY C label Count(E) 'Grand Total'"))

4 番目の部分は、右下の最後の合計セルです。ラベルの '' は、ラベルを削除し、合計を 1 つのセルに入れることです。

=Query(Sheet1!A1:E24, "Select Count(E) Label Count(E) ''")

すべてが思い通りに見える場合は、それを 1 つの数式にまとめて、元のクエリを置き換え、他のクエリを削除します。すべて {} 内に含まれ、列を で区切り、行を ; で区切ります。

={Query(Sheet1!A1:E24, "Select A, Count(E) GROUP BY A Pivot C"),Query(Sheet1!A1:E24, "Select Count(E) GROUP BY A label Count(E) 'Total'");transpose(Query(Sheet1!A1:E24, "Select Count(E) GROUP BY C label Count(E) 'Total'")),Query(Sheet1!A1:E24, "Select Count(E) Label Count(E) ''")}
于 2016-05-05T20:04:49.923 に答える