如何在Excel中编写此逻辑?

时间:2015-01-19 01:47:07

标签: excel excel-formula boolean-logic

假设我有下面的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个单元格的逻辑,我怎么能这样做呢?

如果有任何不清楚或需要更多信息,请说。我也希望以类似的逻辑得到细胞的平均值。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,只需:

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

并填写。 range的绝对引用样式将阻止这些引用在您填充时更改,而sum_range的相对引用样式将允许这些引用更改为正确的行。

答案 1 :(得分:0)

怎么样:

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

等等。