如何用MAP或ARRAYFORMULA将公式扩展到Google Sheets所有行
扩展Google Sheets还款计划公式至所有行
输入表格(从第4行开始)
| 描述 | 周期(月) | 分期数 | 金额($) | 起始日期 |
|---|---|---|---|---|
| Plan A | 3 | 3 | $15,000.00 | 1/1/2023 |
| Plan B | 12 | 5 | $1,000.00 | 1/3/2024 |
当前问题
现有公式仅能生成首行(Plan A)的还款计划,无法自动扩展处理后续行(如Plan B)。原公式如下:
=map(sequence(D4,1,0), lambda(i,let( j,i*C4, hstack( FECHA.MES(F4,j), join("",B4," (", i + 1, "/", D4, ")"), E4 ))))
注:FECHA.MES为西班牙语版函数,对应中文/英文版本的EDATE函数
解决方案公式
通过嵌套MAP函数先遍历所有数据行,再为每一行生成对应分期计划,公式如下:
=MAP(B4:B, C4:C, D4:D, E4:E, F4:F, LAMBDA(desc, cycle, terms, amt, start, IF(desc="",,MAP(SEQUENCE(terms,1,0), LAMBDA(i, LET( offset, i*cycle, HSTACK( EDATE(start, offset), desc&" ("&(i+1)&"/"&terms&")", amt ) ) ))) )
使用提示
- 将公式粘贴到输出区域的首个单元格(如H4),会自动扩展生成所有行的完整还款计划
- 公式会自动跳过空行,避免生成无效内容
- 若使用西班牙语版本的Google Sheets,需将公式中的
EDATE替换回FECHA.MES
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

