我在 Excel 中有一个类似于下面的表格,我想计算变量名称(第一行)中显示“* weightl *”的所有列的总和。
但是,如果值为 8888 或字符/字符串,则应忽略此值。
在这种情况下,结果应该是 64。
我尝试使用类似的东西{+sumproduct(sumif(A1:F1,"\*weightl\*",A2:F4))}
但是,这只返回 16(第一行的结果)。另外,我不知道如何排除 8888 值。
如果你能支持一个公式来解决这个问题,那就太好了!
我在 Excel 中有一个类似于下面的表格,我想计算变量名称(第一行)中显示“* weightl *”的所有列的总和。
但是,如果值为 8888 或字符/字符串,则应忽略此值。
在这种情况下,结果应该是 64。
我尝试使用类似的东西{+sumproduct(sumif(A1:F1,"\*weightl\*",A2:F4))}
但是,这只返回 16(第一行的结果)。另外,我不知道如何排除 8888 值。
如果你能支持一个公式来解决这个问题,那就太好了!
欢迎来到 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
这是如何工作的?
IF($A$2:$F$4<>8888,$A$2:$F$4)
将仅返回值不等于 8888 的那些单元格的数组IF(IFERROR(SEARCH("weight",$A$1:$F$1),0)>0,IF($A$2:$F$4<>8888,$A$2:$F$4))
将检查先前的值数组,并将搜索第 1 行中的单词权重。如果找到,这些值将被检查为ok。如果不是,这些值将在最终总和中被忽略。正如您在我发布的图片中看到的那样,最终结果是 64。
希望您可以根据自己的需要进行调整。