我有一个有效的公式,可以在 Google 表格中生成付款计划的到期日、说明和金额,但它仅适用于输入表的第一行。我需要扩展它,使其适用于表中的每一行。
这是输入表(从第 4 行开始):
描述 | 频率(月) | 分期次数 | 金额(美元) | 开始日期 |
---|---|---|---|---|
计划 A | 3 | 3 | 15,000.00 美元 | 2023 年 1 月 1 日 |
B 计划 | 12 | 5 | 1,000.00 美元 | 2024 年 1 月 3 日 |
以下是输出(适用于第一行):
截止日期 | 描述 | 金额(美元) |
---|---|---|
2023 年 1 月 1 日 | 计划 A(1/3) | 15,000.00 美元 |
2023 年 1 月 4 日 | 计划 A(2/3) | 15,000.00 美元 |
2023 年 1 月 7 日 | 计划 A(3/3) | 15,000.00 美元 |
我使用以下公式来生成截止日期和说明:
=map(sequence(D4,1,0), lambda(i,let( j,i*C4, hstack( FECHA.MES(F4,j), join("",B4," (", i + 1, "/", D4, ")"), E4 ) )))
问题:
它适用于第一行,但我需要它应用于所有行。MAP 函数似乎只处理第一行,不会扩展其他行的计算。
我尝试过的:
我使用过 ARRAYFORMULA,但似乎无法将其应用于输入表中的所有行。我还考虑过将 SEQUENCE 与 MAP 结合使用,但它只返回第一行的结果。
PD:感谢用户“doubleunary”提出对我有帮助的公式。
使用数组操作公式(WRAPROWS 和 TOROW)
借助上一个公式,我通过添加
WRAPROWS
和TOROW
函数来转换答案,以规避函数的限制MAP/BYROW
(即这些函数每次迭代不能输出超过 1 行)。新公式如下所示:此外,由于我们要处理多行数据,因此需要将单元格区域转换为变量。这就是为什么
LET
在应用上一篇文章中的基本公式之前,有一个额外的函数为变量赋值。输出:
参考: