2

如果 A 列中的相应单元格在 (10; 20] 中,我正在尝试对 C2:C2000 中的所有单元格求和,但我遇到了条件问题。

我试过类似的东西=SUMIF(A2:A2000, AND(">10","<=20"), C2:C2000),但返回 0 这是不正确的。

谢谢。

[编辑]

可以使用=SUMIF(A2:A2000, ">10", C2:C2000) - SUMIF(A2:A2000, ">20", C2:C2000),但这并不是我想要的。

4

2 回答 2

2

解决复杂条件限制的简单方法是将另一列用作“局部变量” - 使 D 列成为条件的结果(AND(等)),如果您想减少屏幕混乱,请将其隐藏,然后使用D2:D2000 作为 SUMIF 的 if 部分。

编辑添加备用选项:

http://support.microsoft.com/kb/275165

使用 Sum(if( .. )) 代替 SUMIF,使用积和求和代替 ANDS 和 OR。

就个人而言,我认为使用中间列更易于遵循和维护。

于 2011-04-13T15:51:57.823 回答
2

OpenOffice 中一个相对优雅的解决方案是使用 Sumproduct——它将两个数组相乘。为 Sumproduct 提供范围内的连续真值测试(我认为它返回一个布尔值数组)。像这样的东西:

SUMPRODUCT(C2:C2000;A2:A2000>"10";A2:A2000>="20")

我从这里得到这个:

http://user.services.openoffice.org/en/forum/viewtopic.php?f=9&t=28585

在 OpenOffice 中测试——我不知道 Excel 中是否有等价物。抱歉,我没有要测试的副本。

于 2012-07-23T20:10:02.163 回答