0

我在 Excel 中有一个类似于下面的表格,我想计算变量名称(第一行)中显示“* weightl *”的所有列的总和。

但是,如果值为 8888 或字符/字符串,则应忽略此值。

在此处输入图像描述

在这种情况下,结果应该是 64。

我尝试使用类似的东西{+sumproduct(sumif(A1:F1,"\*weightl\*",A2:F4))}

但是,这只返回 16(第一行的结果)。另外,我不知道如何排除 8888 值。

如果你能支持一个公式来解决这个问题,那就太好了!

4

1 回答 1

1

欢迎来到 SO。为此,您需要一个数组公式:

=SUM(IF(IFERROR(SEARCH("weight",$A$1:$F$1),0)>0,IF($A$2:$F$4<>8888,$A$2:$F$4)))

注意:因为这是在数组公式中,所以必须使用 ++ 而不是 only 插入,CTRL否则将 不起作用!ENTERSHIFTENTER

在此处输入图像描述

这是如何工作的?

  1. IF($A$2:$F$4<>8888,$A$2:$F$4)将仅返回值不等于 8888 的那些单元格的数组
  2. IF(IFERROR(SEARCH("weight",$A$1:$F$1),0)>0,IF($A$2:$F$4<>8888,$A$2:$F$4))将检查先前的值数组,并将搜索第 1 行中的单词权重。如果找到,这些值将被检查为ok。如果不是,这些值将在最终总和中被忽略。

正如您在我发布的图片中看到的那样,最终结果是 64。

希望您可以根据自己的需要进行调整。

于 2019-07-31T13:37:29.960 回答