You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets中用INDEX(MATCH())对重叠折旧区间求和?

Google Sheets 折旧周维度累加解决方案

问题根源

INDEX(MATCH())类公式仅能匹配单个符合条件的记录,无法对重叠区间内的多个折旧项目进行金额累加,这是导致重叠周金额计算错误的核心原因。

解决方案

方法1:SUMIFS 单周计算(基础场景)

假设利润表当前周的ISO周码在A2,数据源DATA_DEPRECIATION结构为:

  • 起始周码列:DATA_DEPRECIATION!A:A
  • 结束周码列:DATA_DEPRECIATION!B:B
  • 周折旧额列:DATA_DEPRECIATION!C:C

在利润表折旧计算单元格输入:

=SUMIFS(DATA_DEPRECIATION!C:C, DATA_DEPRECIATION!A:A, "<="&A2, DATA_DEPRECIATION!B:B, ">="&A2)

该公式会筛选出所有起始周≤当前周且结束周≥当前周的项目,自动累加对应周折旧额,完美处理区间重叠的情况。

方法2:动态数组批量计算(高效场景)

若需一次性生成所有周的折旧数据,使用BYROW+FILTER+SUM组合(支持动态数组溢出):
假设利润表周码列表在A2:A100,在B2单元格输入:

=BYROW(A2:A100, LAMBDA(week, SUM(FILTER(DATA_DEPRECIATION!C:C, DATA_DEPRECIATION!A:A<=week, DATA_DEPRECIATION!B:B>=week))))

公式会自动遍历每个周码,计算对应周的累计折旧额并溢出到下方单元格。

原公式排查要点

  1. 确认原INDEX(MATCH())是否仅匹配了第一个符合条件的项目,未考虑后续重叠区间的项目
  2. 检查DATA_DEPRECIATION与利润表的周码格式是否完全一致(如均为文本型"202335"或数值型202335)

内容的提问来源于stack exchange,提问作者JP Douma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 10:56:09