2つの変数に基づいてデータを合計するGoogleスプレッドシートの数式を作成する方法


7

データセクション:

したがって、次のような1つのシートにデータがあります。

TYPE    AMOUNT     YES/NO
Pig         20     Y
Pig         30     N
Pig         10     Y
Cow         20     Y
Cow         30     N
Cow         50     N
Bat         10     N

結果セクション

Googleスプレッドシートを使用していて、別のシートに表があります。次のような合計が得られる式([=?]というラベルが付いたセルのようにセルに配置)が必要です。

TYPE        YES      NO
Bat         [=?]    [=?]
Cow         20      80
Pig         30      30

しかし、私はまだ式が必要です。

問題のセクション

苦労しています。結果テーブルに、データセクションで型の一致を検索し、その型のYを合計する数式が必要です。データセクションで型の一致を検索し、その型のNを合計する別の数式が必要です。私はVLOOKUPまたはHLOOKUPを想定していますが、SUMをさらに取得するのに苦労しています。ここにサンプルシートをリンクしました。

ポスト後の追加編集

クエリは必要ありません。結果セクションの各列の[=?]を置き換える数式が必要です。私は例としてそこに大量の情報を載せました。

回答:


11

2番目のシート(A1)に次の数式を追加するとします。

=QUERY(Sheet1!A1:C9;"SELECT A, SUM(B) WHERE B IS NOT NULL GROUP BY A PIVOT C")

その後、テーブルが希望どおりに表示されます。

説明しました

ここでは、内部から外部への式の説明:

  • PIVOT C転置列C(列に行を回す)からユニーク結果
  • GROUP BY A列Aで一意の値アウトのみフィルタ(シートTABLEと同じ!A2)
  • WHERE B IS NOT NULL空のセルを無視します
  • SUM(B)クエリの結果を追加します
  • SELECT A単にユニークな値として、列Aを表示します

個別の結果のみに関心がある場合は、次の式を使用することをお勧めします。

=IFERROR(SUM(FILTER(DATA!$B$2:B;DATA!$C$2:C=$B$1;DATA!$A$2:A=A2));"")

ここでは、内部から外部への式の説明:

  • このFILTER関数は、「いいえ」の範囲と「はい」の範囲をB2:Bフィルタリングすることにより、ヘッダーなしの列Bの範囲の金額を取得します。B2:BC2:C
  • SUMこの関数は、それらを一緒に追加されます。
  • IFERRORエラーが(発生しない)発生した場合は空白のセルを残します。

スクリーンショット

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

両方のサンプルが存在する、私が準備したサンプルファイルを参照してください:2つの変数に基づくSUMデータ

注意

サンプルファイルの式は少し異なります(範囲は完全な列を含むように設定されています)。


3
私はあなたが答えを持って来ることを知っていました。
エール

だから私はこれが答えだと信じていますが、私はそれを理解していません。説明できる?
ドルジェ

実際、私は何が起こったのかを理解しています。データを再フォーマットするクエリではなく、[=?]とマークされたセルを置き換えるための数式が必要です。データは行の長いリストになるため、表示されているものとは異なる順序が必要です。私はそれらを例として使用しました。
Dorje

@Dorjeフィードバックありがとうございます!答えも変更しました。これがあなたが探している答えであることを願っています。お気づきでしょうか、両方のテーブルは同じですか?
Jacob Jan Tuinstra 2013年

1
これだよ!答えとそれを説明する際の注意に感謝します。それは有り難いです。
ドルジェ2013年

0

同様の結果-少し異なるアプローチ:

=ARRAYFORMULA(SUMIF('DATA'!$A$2:$A&'DATA'!$C$2:$C;$A2&B$1;'DATA'!$B$2:$B))

-1; あなたの答えは0です。私が作成したサンプルファイルの最後のシートを参照してください。おそらくあなたは私たちを啓発し、それが機能することを示すことができますか?
Jacob Jan Tuinstra 2013年

ご覧ください:リンク
Andreas Wurm 2013年

このQUERY式は、一意のエントリも計算し、それらを合計して、テーブル全体を表示します。何が速くないのですか?3枚目を見てください。
Jacob Jan Tuinstra 2013年

ここではうまくいっていないと思いQUERYます。私の言い回しは誤解を招くものでした...
Andreas Wurm 2013年

ドルジェは、[=?]というラベルの付いたセルのような数式をセルに配置したいと考えていました。
Andreas Wurm 2013年

0

データがA1から始まるシートDATAにTYPEあり、別のシートのA1にあり、次にB2にコピーされ、ペアが下にコピーされると仮定します。

=sumifs(DATA!$B:$B,DATA!$A:$A,$A2,DATA!$C:$C,left(B$1))

Sheetのロケールによっては、;sではなくs が必要になる場合があります,

SUMIFS
LEFT

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