You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets:基于指定字符串自动计算列值百分比变化

自动计算关联字符串的数值百分比变化(以姓名对应薪资为例)

需求说明

每次新增记录时,自动计算当前记录与同字符串(如姓名)上一次记录的数值(如薪资)的百分比变化,要求无需手动下拉公式,通过ArrayFormula、BYROW等函数实现自动填充。

现有可运行的下拉公式

K2单元格公式

=IFERROR((INDEX(QUERY(INDIRECT("A2:J"&ROW(A2)),"select J,H,A where J contains '"&J2&"' order by A desc"),1,2)-INDEX(QUERY(INDIRECT("A2:J"&ROW(A2)),"select J,H,A where J contains '"&J2&"' order by A desc"),2,2))/INDEX(QUERY(INDIRECT("A2:J"&ROW(A2)),"select J,H,A where J contains '"&J2&"' order by A desc"),2,2))

N2单元格公式

=IFERROR((INDEX(SORT(FILTER({INDIRECT("J2:J"&ROW(A2:A)),INDIRECT("H2:H"&ROW(A2:A)),INDIRECT("A2:A"&ROW(A2:A))},INDIRECT("J2:J"&ROW(A2:A))=J2),3,FALSE),1,2)-INDEX(SORT(FILTER({INDIRECT("J2:J"&ROW(A2:A)),INDIRECT("H2:H"&ROW(A2:A)),INDIRECT("A2:A"&ROW(A2:A))},INDIRECT("J2:J"&ROW(A2:A))=J2),3,FALSE),2,2))/INDEX(SORT(FILTER({INDIRECT("J2:J"&ROW(A2:A)),INDIRECT("H2:H"&ROW(A2:A)),INDIRECT("A2:A"&ROW(A2:A))},INDIRECT("J2:J"&ROW(A2:A))=J2),3,FALSE),2,2))

尝试未成功的公式(M2单元格)

无法将查询范围限制至当前行,公式如下:

=ArrayFormula(IF(J2:J="",,BYROW(J2:J,LAMBDA(name,INDEX(QUERY(FILTER({$J$2:$J,$H$2:$H,$A$2:$A},$J$2:$J=name),"order by Col3",0),1,2)))))

寻求解决方案

希望得到更简洁的替代方案,比如使用LOOKUP、INDEX/MATCH等函数,实现自动填充的百分比变化计算,替代现有冗长的下拉公式。

内容的提问来源于stack exchange,提问作者eirever

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:53:08