Excel如何用函数实现Ctrl+End等效效果 无VBA计算表头与表末行乘积
Excel无VBA实现最新日期面值总金额计算方案
前置参数说明(可根据你的实际表格调整)
- 日期列:A列,表头
A1="日期",数据从A2行开始录入 - 面值表头:
B1、C1、D1...依次对应2000、500、200等面值 - 张数录入区:B列及之后的连续列,对应各面值的每日张数
方案1:Excel 365/2021及以上版本(支持动态数组)
批量获取所有面值总金额(自动溢出)
在你要放置结果的第一个单元格输入以下公式,按回车后会自动生成所有面值对应的总金额:
=B1:F1*XLOOKUP(MAX(A:A),A:A,B:F,,,-1)
公式说明:
MAX(A:A)定位最新日期,XLOOKUP匹配该日期最后一行的张数数据,和对应面值直接相乘得到结果,末尾的-1参数控制匹配同日期的最后一条数据,避免单日多条数据的误差。
单面值总金额计算(比如只算2000面值的总金额)
=B1*XLOOKUP(MAX(A:A),A:A,B:B,,,-1)
所有面值总合计
=SUM(B1:F1*XLOOKUP(MAX(A:A),A:A,B:F,,,-1))
方案2:全Excel版本兼容(含2019及更早版本)
单面值总金额计算(以B列2000面值为例)
=B1*INDEX(B:B,MATCH(MAX(A:A),A:A,0))
将公式复制到其他面值对应的结果单元格即可批量计算。
所有面值总合计
=SUMPRODUCT(B1:F1*INDEX(B:F,MATCH(MAX(A:A),A:A,0),0))
注意事项
- 若日期列存在无效值,可将
MAX(A:A)调整为MAX(A2:A1000)限定搜索范围,范围只要覆盖所有可能的数据行即可,不需要精确匹配现有行数 - 公式无需随每日新增数据手动调整,会自动识别最新日期对应行计算,完全不受表格下方其他数据的影响
内容的提问来源于stack exchange,提问作者Anupam Sarkar
相关产品推荐
相关产品推荐

