将Excel的SUMPRODUCT与SEARCH结合使用,并忽略空白单元格

时间:2018-10-04 12:11:10

标签: excel excel-formula

假设我有一排包含逗号分隔字符串的单元格,如下所示:

enter image description here

我想出了如何使用以下公式添加每个字符串的第一个字符:

=SUMPRODUCT(--(LEFT(C2:G2,SEARCH(",",C2:G2,1)-1)))

现在,我想像这样将公式扩展到单元格AA2

=SUMPRODUCT(--(LEFT(C2:AA2,SEARCH(",",C2:AA2,1)-1)))

但是,我似乎无法忽略空单元格-它引发了#VALUE!错误。我意识到,每次在后续单元格中输入数据时,我都可以简单地更新公式,但这并不十分有效。我认为这会引发错误,因为SEARCH函数返回一个空值。

我如何才能使其正常工作?

2 个答案:

答案 0 :(得分:1)

您可以尝试以下修改后的公式:

=SUMPRODUCT(--(LEFT(C2:AA2&"0,",SEARCH(",",C2:AA2&"0,",1)-1)))

对于右侧,您可以像下面一样使用MID并检查:

=SUMPRODUCT(--(MID(C2:AA2&".0",SEARCH(",",C2:AA2&",.0",1)+1,99)+0))

答案 1 :(得分:0)

如果您只想添加每个单元格的第一个字符,则不需要搜索逗号。只需抓住最左边的单个字符即可。

说我们可能有从 A1 Z1 的数据,其中可能包含一些空白单元格。选择一个单元格,然后输入 数组公式

=SUM(IF(LEN(A1:Z1)>1,--LEFT(A1:Z1),0))

例如:

enter image description here

数组公式必须使用 Ctrl + Shift + Enter 输入,而不仅仅是 Enter 键。如果正确完成此操作,则公式将显示在公式栏中,并带有大括号。