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

编辑:谷歌表格现在支持SUMIFS

原始答案: 有很多方法可以做到这一点。不久前,我花了一些时间找出哪种方法最可靠(例如,我猜测您链接的问题的原始帖子中的公式可能失败了,因为可能有文本条目 - 也许是标题 - 在列相加)。

IMO 这是谷歌表格中多条件总和最无懈可击的通用解决方案:

=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 回答