【问题标题】:Excel: SUMIF column A = x and (y or z)Excel:SUMIF 列 A = x 和(y 或 z)
【发布时间】:2017-07-05 12:18:55
【问题描述】:

这是我正在使用的数据示例。

0 |      A      |    B
1 | Information |   Time  
2 | ----------- | ---------
3 |   x y abc   |    3
4 |   x z abc   |    4
5 |   y z abc   |    5

我希望这会返回值 7。

我了解 SUMIF(B:B,A:A,"x") 并将 SUMIF 用于多个标准,但我正在努力弄清楚如何整合和/或 SUMIF 的能力.

数据表

50e flute dolley tripped twice          |   0.29
dolly tripped paser flute               |   0.21
No 5 tripeed. Waiting for sparky.       |   0.18
No 2 tripped - waiting for sparky.      |   0.14
No 2 dolly tripped - waiting for sparky |   0.09
Dolly tripped, waiting for sparky       |   0.08
No 2 dolly - waiting for sparky         |   0.08
50e flute dolly                         |   0.07
dolly tripped 50e flute                 |   0.06
no 2 dolley tripped                     |   0.06
50e flute dolley (side 1) tripped       |   0.06
No 2 - waiting for sparky               |   0.06

我想要 5 种不同的功能用于 5 种不同的卷轴小车。所以对于 5 号,我想确保我只计算 5 号小车而不是 50e 长笛小车。这是一个外部输入的数据集,因此我希望能够涵盖包括拼写错误的单词和特定卷轴小车的多个名称的标准。

【问题讨论】:

    标签: arrays if-statement filter excel-formula sumifs


    【解决方案1】:

    您可能正在寻找这个:

    =SUM(SUMIFS(B:B,A:A, "*x*",A:A, {"*y*","*z*"}))
    

    这意味着对 B 列求和 *其中 A 包含“x”以及“y”和“z”中的一个。

    这个构造的逻辑是:

    • 强制标准单独出现

    • “ORed”标准位于 {...} 数组中。

    例如,2 号小车:

    =SUM(SUMIFS(B:B,A:A, "* 2 *",A:A, {"*dolly*","*dolley*", "no *"}))
    

    【讨论】:

    • 我已根据要求添加了我的数据集以更精确。
    • @Danny 仍然不完全清楚。您会在示例数据中显示哪些行应包含在总和中吗?
    • 它将包括整个列,因为它可以具有不同的大小。因此 B:B 将是某个范围,而 A:A 将是标准范围。清楚吗?
    • 还有一点:为了设置标准来总结卷轴小车 2 号的时间,它需要“2”和“没有或小车或小车等”。这个数据集的总和应该等于 0.43,使用 0.14 + 0.09 + 0.08 + 0.06 + 0.06
    • @Danny 然后是 =SUM(SUMIFS(B:B,A:A, " 2 ",A:A, {"*dolly*","*dolley*", "no *"}))... 你看逻辑:强制标准单独出现,ORed 标准在 {...} 数组中。
    【解决方案2】:

    我试图找到任何确切的公式,但找不到相同的公式,我们有一些其他技巧可以让你做同样的事情。

    =(SUM(SUMIFS(D2:D11,A2:A11,"South", C2:C11,"Meat"),SUMIFS(D2:D11,A2:A11,"South", C2:C11,"Beverages")))
    

    或

    =(SUMIFS(D2:D11,A2:A11,"South", C2:C11,"Meat")+SUMIFS(D2:D11,A2:A11,"South", C2:C11,"Beverages"))
    

    希望这会有所帮助

    【讨论】:

    • 感谢您的帮助,请您解释一下这些功能是做什么的?
    • 根据您的查询,SUMIFS 将根据条件添加值(并且条件 SUMIFS(D2:D11,A2:A11,"South", C2:C11,"Meat") 表示,这将给出来自 D2-->D11 的某些列有两个条件一个是 A2-->A11 是南,第二个条件 C2-->C11 是肉类,这是和条件示例,因为我们没有或条件所以我们可以使用两个 SumIF 并添加两个达到或条件的值,如下所示 =(SUMIFS(D2:D11,A2:A11,"South", C2:C11,"Meat")+SUMIFS(D2:D11,A2:A11," South", C2:C11,"Beverages")) ,它将给出 South with Meat 或 South with Beverages 的结果,我希望这会对你有所帮助
    • 有道理,谢谢。在我选择答案之前,我想看看 A.S.H 给出了什么:)
    • 对于我的情况,我只使用 2 列,其中所有文本都在一个单元格内。我注意到这只能识别单词何时以正确的顺序出现,是否有任何方法可以使用标准,而不管文本单元格中的单词顺序如何?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 2013-02-26
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 2016-12-29
    • 2019-09-29
    相关资源
    最近更新 更多