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
来查找要聚合的范围。 棘手的部分是OFFSET
的Height
。 为了find它,我连接column A and column B
并检查返回值是否使用ISNUMBER
和*1
将TRUE
和FALSE
更改为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
公式。