Excel/Sheets中如何基于指定动态月份累计求和薪资行?
按所选月份自动累计薪资的解决方案
方案1:INDEX + SUM 快速求和
假设你的薪资数据行是 B9:M9,顶部月份标题为 B1:M1,下拉选择的月份在单元格 U3,直接使用以下公式即可实现累计:
=SUM(B9:INDEX(B9:M9,MONTH(1&LEFT(U3,3))))
- 逻辑说明:
MONTH(1&LEFT(U3,3))将选中的月份(如「3月」)转换为数字3;INDEX(B9:M9, 数字)定位到对应月份的薪资单元格,SUM自动计算从1月到该单元格的区域总和。
如果已经将月份数字单独存放在 U4(即 U4=MONTH(1&LEFT(U3,3))),公式可以简化为:
=SUM(B9:INDEX(B9:M9,U4))
方案2:SUMPRODUCT 条件求和
若需要兼容更复杂的筛选场景,可使用SUMPRODUCT实现条件累计:
=SUMPRODUCT(B9:M9,--(MONTH(1&LEFT($B$1:$M$1,3))<=MONTH(1&LEFT(U3,3))))
- 逻辑说明:先将所有顶部月份转换为数字,判断每个月份是否≤所选月份,将符合条件的列标记为1,最后通过乘积求和实现累计。
注意事项
- 确保
B1:M1的月份格式统一(如「1月」「2月」),避免月份数字转换出错 - 上述公式同时适用于Excel和Google Sheets
内容的提问来源于stack exchange,提问作者Terry
相关产品推荐
相关产品推荐

