3

関連する値がフィルター条件として使用される値の範囲内にある場合、セル範囲の合計を返そうとしています。たとえば、次のデータ テーブルを使用します。

  Keys      Values
   A        500
   B        300
   C        600
   D         20
   A        150
   C        600

および合計されるキーの次のリスト:

Sum Keys:
   A
   D

500+20+150 = 670 を返す定型的な方法を探しています。

複数のSUMIFを使用できることは知っていますが、ユーザーがフィルタリングしたいものに基づいてキーの数が変化し、最大の現実的なケース(10程度など)をカバーするのに十分なSUMIFを書くことは過剰に思えます。もっと簡単な方法。

私の頭の中では、式は次のようになります。

=SUMIFS(Values, Keys, OR(Sum Keys), ...(optional other conditions))

これは簡単な VBA の問題であることは認識していますが、VBA の知識がさまざまな (またはまったくない) 人々によってスプレッドシートが監査されるため、それを回避しようとしています。また、キーが範囲内にあるかどうかを示すインジケーター列をデータに追加することは、データをSum Keys要約する複数のタブがあり、それぞれに独自のフィルターがオンになっているため、現実的ではありません。Key

VBAなしでは不可能かもしれないことはわかっていますが、どんな助けも感謝しています。さらに情報が必要な場合はお知らせください。

ありがとう!

編集:答えてくれてありがとうバリー・フーディーニ!複数の範囲の許容基準に基づく合計の一般的な解決策については、彼の投稿のコメントを参照してください。

4

2 に答える 2

7

このような式を使用できます

=SUMPRODUCT(SUMIFS(Values,Key,Sum_Keys))

Sum_Keys に 4 つの値がある場合、SUMIFS 式は 4 つの値の「配列」 (Sum_Keys の各キーに 1 つ) を返すため、その配列を合計するには別の関数が必要です。「配列エントリ」の必要性を回避するため、SUMPRODUCT を使用します。

通常の方法でさらに条件を追加できます。

=SUMPRODUCT(SUMIFS(Values,Key,Sum_Keys,Dates,Specifc_date))

于 2013-11-08T15:01:09.123 に答える