Excel中的公式,用于根据合并的单元格添加值

时间:2015-09-04 16:57:19

标签: excel excel-formula

我遇到了一个问题:客户希望客户端添加14列数字,但客户端位于多个不同的行或有时只有一行。 更糟糕的是,客户端名称单元格被合并,VLOOKUP只返回最高值。 有没有办法在客户端的条件下添加所有列(John,例如在下表中)?然后将该公式复制到列表中并根据客户名称出现的次数进行更改?

*这是一个模拟问题,所有虚假信息

Column A    Column B    Column C    Column D    Column E
JOHN        500           1000      Total(B:C)  Total for Johns (B:C)'s
            600           6007      Total(B:C)
            550           1000      Total(B:C)
JANE        1200         15220      Total(B:C)  Total for Jane's (B:C)'s
CARL        1400          5430  
            500           5610                  Total for Carl's (B:C)'s
AL          700          15112  
AL          8000          1677  

1 个答案:

答案 0 :(得分:0)

最后一个条目关注我,所以我猜测它是一个异常或错字并且“固定”它。可以使用通过AGGREGATE¹ function获得的行位置使用标准公式收集总数的其余部分。

SUM to next non-blank entry

E2中的公式是,

=IF(LEN(A2), SUM(INDEX(B:B,MATCH(A2,A:A,0)):INDEX(C:C, IFERROR(AGGREGATE(15, 6, ROW(2:$9999)/SIGN(LEN(A2:A$9999)), 2)-1, 9999))), "")

如果您需要XL2010之前的解决方案或需要保持与XL2010之前版本的向后兼容性,请回复版本要求,并提供此公式的其他(更长和更复杂)版本。

¹ Excel 2010引入了AGGREGATE function。早期版本不提供。