我遇到了一个问题:客户希望客户端添加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
答案 0 :(得分:0)
最后一个条目关注我,所以我猜测它是一个异常或错字并且“固定”它。可以使用通过AGGREGATE¹ function获得的行位置使用标准公式收集总数的其余部分。
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。早期版本不提供。