2017-06-16 9 views
0

私はサンプル添付データを持っていると私はデータシンプルかつ効率的なIFSとSUMIFS

例えば

enter image description here

、与えられた以下の基準や複数の条件を評価するためにSUMIFSを使用したい

クラス: つぶやく
センター:TRE
単位:
章:X

が、私は簡単にそうようSUMIFSを書き込むことができます。

=SUMIFS(Amount,Class,buz,Centre,tre,Unit,a,Section,x) 

しかし一つまたは二つの範囲のすべての値が1つだけでなく、それを上記のように評価し、する必要がある場合には、
クラス:すべてのクラス(例えば、私はすべてのクラスだけでなくbuzをしたい)私はsumifs

条件でifを組み合わせることができますテーブルに
センター:TRE
単位:
章:X

=If(Class=all classes in a range, 
SUMIFS(Amount,Centre,tre,Unit,a,Section,x), 
SUMIFS(Amount,Class,buz,Centre,tre,Unit,a,Section,x)) 

私はその上に達成するためのより良い方法を探していますが、特に単純となります大きいデータセットでは遅くなる傾向があり、SUMIFSは高速で効率的です。

+0

SUMIFSは、あなたの最も早い解決策になるだろう、それはこの種のもののために最も合理式です。他はすべて配列型になり、SUMIFSよりも遅くなります。 VBAでもさらに遅くなります。 –

答えて

1

クラスの代わりに*文字を使用すると、式を変更することなく、すべてのクラスを返すことができます。

スピードが懸念される場合、特に多くのカテゴリについてこの合計を計算する場合は、VBAでより高速なソリューションを提供することもできます。

0

SUBTOTALとフィルタでこれを行う方がはるかに簡単です。

は、小計式

=SUBTOTAL(9,Amount)

を有する細胞を作成し、列にフィルタを適用します。そのよう

Filtered on prod = r and loc = y

Filtered on class = b and prod = e

関連する問題