如何对给定值范围内的命名函数求和 - Google 表格

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

我正在为房地产做一个财务分析模型。我创建了一个名为

INCOME
的命名函数,它从每个属性的不同收入类型的数据库中计算给定属性名称的总收入,例如租金,滞纳金,杂项。收入等

例如,如果您输入

=INCOME("Property A")
,它会从数据库中计算财产A的总收入。

现在我正在尝试计算整个资产组合的收入(以及许多其他更复杂的函数)。

所以我想列出所有属性,比如属性 A、属性 B 和属性 C,然后我想使用我的

INCOME
函数计算收入总和。请看下面的片段:

但我希望它是动态的。所以我真正想要的是输入一个公式:

INCOME(B5)
的总和到
INCOME(Bn)
其中
Bn
是最后一个非空行,即属性列中的最后一个属性。
这样它将在我添加更多属性时正确更新。

是否可以在 Google 表格中执行此操作(不使用 Apps 脚本)?

google-apps-script google-sheets sumifs sumproduct named-function
3个回答
1
投票

你可以试试看效果如何:

=let(Σ,tocol(B5:B,1),
       reduce(,sequence(counta(Σ)),lambda(a,c,a+index(INCOME(Σ),c))))

0
投票

只是为了运动而尝试!

假设我们有下面的自定义函数 INCOME :

function INCOME( value ) {
  
    return 2
}

使用 REDUCELAMBDA 与下面的 GS 公式似乎足以得到你想要的总和

reduce(0;B5:B;lambda(a;c;if(c="";a;a+INCOME(c))))

0
投票
  1. B4
    中输入“属性”,然后在
    B5
    中输入:
=SORT(UNIQUE(Sheet1!A2:A))

将“Sheet1!A2:A”替换为具有您的属性名称的任何工作表和列,以获得所有属性的动态列表。

  1. C4
    中输入“收入”,然后在
    C5
    中输入:
=BYROW(B5:B,LAMBDA(r,
    IF(r=“”,””,
    INCOME(r))))

这将为动态填充的属性列表中的每个属性执行并运行自定义 INCOME 函数。

  1. C3
    中输入
    =SUM(C5:C)
    这将动态地为您提供所有财产的总收入,并且无论财产列表多长或短,都将保留在同一个单元格中。

  2. 重复右侧列中的步骤 2 和 3,以获得您需要的许多自定义公式/指标!

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