Excel:SUMIF由空白单元格设置的未定义范围

我正在尝试总结一系列具有变化范围的单元格。

A 0 0 5 0 B 1 C 2 4 

正如在“A”中应该返回5,“B”1和“C”6.一些研究告诉我,OFFSET公式可能工作,但我没有运气。

怎么样:在你的数据列之间插入一列并粘贴公式:(假设Col A现在有A,B,C, Col C有数字,你把它粘贴在Col B ):

 =IF(AND(A2="",A1<>""),B1,IF(AND(A2="",A1=""),B1,A2)) 

请添加一个标题行以避免第一列出现错误…

这将填充值,您的数据现在将如下所示:

 ColA ColB ColC AA 0 A 0 A 5 A 0 BB 1 CC 2 C 4 

现在你可以使用一个sumif甚至是一个数组input公式来总结这些值:

公式在Col F =SUM(IF($B:$B=E2,$C:$C,0)) (使用CTRL + Shift + Enter代替普通input,

 ColE ColF C 6 B 1 A 5 

希望这可以帮助。

没有填补Column A空白,这是完成你的目标的公式。 假设您想要填写公式(这是一个数组公式,请单击Ctrl + Shift + Enter一起)从cell C1

 {=IF(A1="","",SUM(OFFSET($A1,0,1,MATCH(0,ISNUMBER(VALUE(A2:$A$7&B2:$B$7))*1,0))))} 

这是使用OFFSET来查找要聚合的范围。 棘手的部分是OFFSETHeight 。 为了find它,我连接column A and column B并检查返回值是否使用ISNUMBER*1TRUEFALSE更改为0和1.查找下一个0并返回行号,以便知道停止哪里添加号码。 希望这有帮助,但让我知道如果你有任何问题。

在这里输入图像说明

Column C尝试这个公式并将其拖下来,

 =IF(A1<>"",SUM(INDIRECT("B" & ROW() & ":B" & IFERROR(MATCH("*",A2:A$10,0)+ROW()-ROW($1:$1),999))),"") 

在这里输入图像说明

注意: – 这not an array公式。