如何在Excel 中编写此逻辑?

How do I write this logic in Excel?

假设我有下面的 excel sheet 并且我想计算每行中数字的总和。

四列,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 个单元格一次一个地键入逻辑的情况下执行此操作?

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

怎么样:

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

等等。

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

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

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