Excel中如何求和指定名称对应的最后5个关联数值?
Excel 指定姓名对应最后5个数值求和方案
方案1:适用于Excel 365/2021(支持动态数组)
直接用FILTER+TAKE+SUM组合,自动适配新增数据:
假设要计算A列中Bill对应的B列最后5个数值之和,公式如下:
=SUM(TAKE(FILTER(B:B,A:A="Bill"),-5))
- 逻辑:
FILTER(B:B,A:A="Bill")筛选出所有姓名为Bill的B列数值;TAKE(..., -5)提取筛选结果的最后5条;最后用SUM求和。 - 批量处理:如果C列每个单元格对应A列同行的姓名,把公式里的
"Bill"换成A2,下拉即可:
=SUM(TAKE(FILTER(B$2:B$1000,A$2:A$1000=A2),-5))
(建议用B$2:B$1000这类限定范围代替整列,减少计算量;新增数据超过范围时调整数值即可)
方案2:适用于旧版Excel(无动态数组支持)
用数组公式实现,输入完成后需按Ctrl+Shift+Enter确认:
计算Bill的最后5个数值之和:
=SUM(INDEX(B:B,N(IF(1,LARGE(IF(A:A="Bill",ROW(A:A)),ROW(INDIRECT("1:5")))))))
- 逻辑:
IF(A:A="Bill",ROW(A:A))获取所有Bill所在的行号;LARGE(...,ROW(INDIRECT("1:5")))提取最大的5个行号(即最新的5条记录);INDEX对应取出B列数值后求和。 - 批量处理:同样把
"Bill"换成A2,调整数据范围后下拉:
=SUM(INDEX(B$2:B$1000,N(IF(1,LARGE(IF(A$2:A$1000=A2,ROW(A$2:A$1000)-ROW(A$2)+1),ROW(INDIRECT("1:5")))))))
两种方案都能在新增姓名和数据时自动更新求和结果,若目标姓名的记录不足5条,会自动求和所有已存在的对应数值。
内容的提问来源于stack exchange,提问作者user21897381
相关产品推荐
相关产品推荐

