如何在 Google Sheets 中使用 INDEX(MATCH()) 对重叠数据范围求和?

问题描述 投票:0回答:1

总而言之,该公式正在检查多个条件,以根据年份、ISO 周数和指定的数据范围确定适当的折旧值。我被我的公式困住了,它几乎给了我想要的输出。谁能帮我找出我的缺陷吗?逻辑解释如下:

  1. 我有一份投资清单,每项投资都有不同的折旧区间。
  2. 目标是将折旧计入损益表,如果折旧间隔重叠,则应将其添加。

这是查找数据的来源:

几句话来说明背景:

  1. 创建名为 DATA_DEPRECIATION 的数据范围以汇总每个数据间隔的所有折旧金额。
  2. 损益表中每周显示折旧。在单独的输入表上添加投资并附有开始日期和结束日期。前两列显示根据日期字段计算出的年份和周数。这样它们就可以与损益表中的一周相匹配。

现在是问题。以下是损益表的快照以供参考:

  1. 第一笔投资于2023年9月1日开始,至2023年9月29日结束。对应的周代码是202335和202339。
  2. 第二次投资于2023年9月22日开始,于2023年10月27日结束。对应的周代码是202338和202343。

预期输出为: Cel B23:2500美元, Cel C23:2500美元, Cel D23:2500美元, Cel E23:3500 美元(重叠单元格,因此应添加发现的金额), Cel F23:1000美元, Cel G23:1000美元, Cel H23:1000美元, Cel I23:1000美元, 塞尔J23; $0

实际输出可以在示例中找到。我已经使用这个公式来达到这一点: 这是该表的链接。 我陷入困境,但感觉我已经接近所需的输出。谁能帮我找出我的公式中的缺陷吗?

这是一长串投资中的两项投资。这个想法只是将新投资添加到列表中,公式根据日期标准将它们放置在损益表(和其他报表)上的适当位置。

感谢任何可以帮助我摆脱困境的人!

google-sheets google-sheets-formula data-analysis
1个回答
0
投票

您可以尝试:

=map(B8:8,lambda(Σ,if(Σ="",,sumifs(investments!L:L,investments!F:F,"<="&Σ,investments!K:K,">"&Σ,investments!R:R,"Investment"))))

© www.soinside.com 2019 - 2024. All rights reserved.