【问题标题】:How do I write this logic in Excel?如何在 Excel 中编写此逻辑?
【发布时间】:2015-01-19 10:37:23
【问题描述】:

假设我有下面的 excel 表,我想计算每一行中数字的总和。

四列,100 行。前三列的第一行包含文本(以标记它是否包含在总和中)。其余 99 行包含数字。第四列是我要输出每行总和的地方。

我要实现的逻辑是检查每一列的第一行(那里的文本说“y”表示包含在总和中),然后计算行的总和,仅包括列中的单元格包括(如果该列中的第一行有“y”)。对于第一个单元格,我有命令:

IF(AND(A1="n",B1="n",C1="n"), 0,IF(AND(A1="y",B1="n",C1="n") A2, IF(AND(A1="n",B1="y",C1="n"), B2,IF(AND(A1="y",B1="y",C1="n"), A2+B2,IF(AND(A1="n",B1="n",C1="y"), C2) IF(AND(A1="y",B1="n",C1="y"), A2+C2, IF(AND(A1="n",B1="y",C1="y"), B2+C2, IF(AND(A1="y",B1="y",C1="y"), A2+C2+B2, "error"))) ) ) )) )

基本上,你找到总和的方法已经筋疲力尽了。我没有看到任何其他方式。 我遇到的主要问题是将此逻辑扩展到第 4 列上的每个单元格,因为我总是想查看第一行并取第 2 行的总和,然后是第 3 行,然后是第 4 行,依此类推,但是当跨越代码时其他单元格,它不再查看 A1,它增加 A1 然后 A2 等等。我基本上希望 A1,B1,C1 对于每一行都保持不变,但总和取决于行。

如何在不手动输入所有 99 个单元格的逻辑的情况下一次完成此操作?

如果有任何不清楚或需要更多信息,请直接说。我还想以类似的逻辑获得单元格的平均值。

【问题讨论】:

    标签: excel excel-formula boolean-logic


    【解决方案1】:

    如果我理解正确,简单地说:

    D2:  =SUMIF($A$1:$C$1,"Y",A2:C2)
    

    然后填写。 range 的绝对引用样式将防止这些引用在您填写时更改,而sum_range 的相对引用样式将允许这些更改到正确的行。

    【讨论】:

    • 谢谢。那么平均值应该是:=SUMIF($A$1:$C$1,"Y",A2:C2)/COUNTIF($A$1:$D$1,"Y") 或者我有更好的写法吗?
    【解决方案2】:

    怎么样:

    IF(A1="y",A2,0)+IF(B1="y",B2,0)+IF(C1="y",C2,0)+IF(D1="y",D2,0)
    

    等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多