4

特定の基準に一致する合計したいデータがあります

サンプルデータ:

  A    B   C   D
  Id   Id2 Id3 Val
  1    1   8   6
  1    2   7   7
  1    3   3   8
  1    4   6   4
  1    4   78  7
  1    1   2   9
  1    3   1   4
  1    4   3   6
  1    1   5   8
  1    4   7   2

ここで、100 個の値を持つすべてのIdの特定の基準 (Id2=4 および Id3=2 など) に基づいて、すべての IdのValを合計したいのですが、テーブルが重いため、すべてのIdの sumif を再実行することは避けたいと考えています。

私がこれまでやってきたことは、

= SUMIFS(D:D, A:A, "=1", B:B, "=4", C:C, "=2")
= SUMIFS(D:D, A:A, "=2", B:B, "=4", C:C, "=2")
= SUMIFS(D:D, A:A, "=3", B:B, "=4", C:C, "=2")
= SUMIFS(D:D, A:A, "=4", B:B, "=4", C:C, "=2") ... 

(sumifsの構文を正しく覚えていれば)

各Idの sumifs の再実行を回避するより高速な方法はありますか?

4

2 に答える 2

3

この方法で多数の を計算する場合は、ピボット テーブルSUMを使用するのが最適です。

も試すことDSUMができますが、SUMIF よりも高速になるとは思えません。

于 2011-12-18T21:11:31.073 に答える
2

また、非常に高速な配列数式を実行することもできます。

結果が必要な範囲を選択し、押しF2て最初の数式が必要な場所に入ります。次に、以下の配列式を入れます。

= SUMIFS(D:D, A:A, "="&{1;2;3;4}, B:B, "=4", C:C, "=2")

また

= SUMIFS(D:D, A:A, "="&G1:G4, B:B, "=4", C:C, "=2")

繰り返したい値をどこG1に置くか。G4

これにより、データを複数回ではなく 1 回だけ取得し、すべての値を複数回ではなく 1 回返すようになります。

左から右に繰り返したい場合は、配列で a のcomma代わりに aを使用します。semicolon

配列数式を入力するときは、次のように入力します。

Ctrl+Shift+Enter
于 2011-12-19T14:53:25.760 に答える