如何用单个数组公式计算平均支出回报天数

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

在我的 Google 表格中(请参阅我的示例表格),我有 2 个选项卡,一个“主”选项卡,其中列出了 A3:A 中的名称,一个“数据”选项卡,其中名称出现在 B1:1 中的某处,以及三列每个名称下的数据,名为 SPEND、INCOME 和 MISC。 A3:A 包含按升序排列的日期。

SPEND 列包含每个名称在特定日期花费的随机金额。 INCOME 列包含每个姓名在特定日期收到的随机收入金额。 MISC 列用于其他不相关的数据。

Data Tab

在主选项卡上,我试图弄清楚如何为单元格 B2 编写一个数组公式,该公式将计算 A2:A 中列出的每个名称达到其收到的收入所花费的金额所需的平均天数。

Main Tab

每个名字唯一适用的支出是第一行之后收入大于0的支出,如果收入尚未达到最后支出金额,则也不计入平均值。

我能得到的最接近的解决方案是E3中的这个公式,它被拖下来以获得特定名称的平均天数(请参阅我的示例中的“测试”选项卡):

=IF(B3<>"",MATCH(TRUE,INDEX(SUMIF(ROW(C3:C28),"<="&ROW(C3:C28),C3:C28)>=B3,0),0),"")
但它不是从正确的行,我不确定如何将其放入数组公式中。

Testing Tab

实现我正在寻找的目标的最佳方法是什么?

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

在示例表中,激活名为

Testing Tab
的表,并在单元格
E3
中输入以下单个公式,如下图所示;

=BYROW(B3:B,LAMBDA(Ø,IF(AND(Ø>0,OFFSET(Ø,0,1)>0,SUM(INDIRECT("C" & ROW(Ø) & ":C1000"))>Ø),COUNT(SCAN(Ø,INDIRECT("C" & ROW(Ø) & ":C"), LAMBDA(acc,val,IF(acc-val>0,acc-val,""))))+1,"")))

.

enter image description here

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