【问题标题】:OpenOffice.org Calc SUMIF statementOpenOffice.org Calc SUMIF 语句
【发布时间】:2011-04-13 13:53:52
【问题描述】:

如果 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),但这并不是我想要的。

【问题讨论】:

  • 我已尝试完成您希望在 MS Excel 中完成的工作,但遇到了同样的问题。 Excel 和 OpenOffice 似乎无法评估像“>10”和“
  • @Jubbles 谢谢,我看看有没有办法写复杂的条件,如果我找到解决办法,我会在这里发帖。

标签: openoffice.org openoffice-calc


【解决方案1】:

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

编辑添加备用选项:

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

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

我个人认为使用中间列更容易理解和维护。

【讨论】:

  • 可能,是的,但我想知道是否有一种直接的方法可以在 SUMIF、COUNTIF 等中使用复杂的逻辑语句。
【解决方案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 中是否有等价物。抱歉,我没有要测试的副本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多