10

D列の値が 3000 ~ 4000 の場合に列を合計する式が必要ですK。次のことを試しましたが、何も機能しません。

=SUMIF(K3:K67; ">= 3000 & < 4000";D3:D67)
=SUMIF(K3:K67; ">= 3000 " & " < 4000";D3:D67)
=SUMIF(K3:K67; ">= 3000 AND < 4000";D3:D67)

これは可能ですか、それともこの質問のように ArrayFormula 関数 (理解できません) を使用する必要がありますか?

編集:これは機能するため、データに問題はありません:

=SUMIF(K3:K67; ">= 3000";D3:D67)
4

2 に答える 2

16

編集: Google スプレッドシートでSUMIFSがサポートされるようになりました。

元の回答: これを行う方法はいくつかあります。少し前に、どのメソッドが最も水密であるかを調べるのに時間を費やしました(たとえば、リンクした質問の元の投稿の式が失敗した可能性があると推測しています。おそらく、ヘッダーにテキストエントリがあったためです。合計する列)。

IMO これは、Google スプレッドシートの多条件合計に対する最も完全な一般的なソリューションです。

=SUM(IFERROR(FILTER(sum_range;condition_1;condition_2;...)))

あなたの特定のケースでは:

=SUM(IFERROR(FILTER(D3:D67;K3:K67>=3000;K3:K67<4000)))

同じことは次の方法でも実現できますが

=SUMIF(K3:K67;"<4000";D3:D67)-SUMIF(K3:K67;"<3000";D3:D67)

しかし、これらの「中間」条件は、これを行うことができる特別なケースだと思います。最初の解決策は、おそらくより優れた一般的な解決策です。

于 2013-04-22T22:45:29.020 に答える
11

SUMIFSが含まれるようになったため、この質問の回答は非推奨になり、複数の基準のサポートが に追加されました。SUMIF

于 2016-03-07T14:41:19.923 に答える