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

Google Sheets使用ARRAYFORMULA和INDIRECT按地址读取单元格值实现自动填充

需求实现结论与方案

该需求完全可以实现,你可以通过ARRAYFORMULA搭配BYROW、INDIRECT函数组合完成整列自动填充,插入新行时会自动匹配B列的地址返回对应值。

具体实现公式

假设你C列的表头在C1,数据从C2行开始生效,直接在C2单元格输入以下公式即可:

=ARRAYFORMULA(IF(B2:B="",,BYROW(B2:B,LAMBDA(addr,INDIRECT(addr)))))

公式逻辑说明

  • 外层ARRAYFORMULA:让公式支持数组运算,自动向下扩展到整列,新增行时无需手动下拉填充
  • IF(B2:B="",,):过滤B列为空的行,对应C行返回空值,避免出现无意义的错误提示
  • BYROW(B2:B,LAMBDA(addr,INDIRECT(addr))):逐行遍历B列的地址文本,将每一行的地址作为参数传入INDIRECT函数,读取对应单元格的取值

优化方案(可选)

如果需要避免B列输入无效地址导致的报错,可以增加IFERROR做容错处理,修改后的公式如下:

=ARRAYFORMULA(IF(B2:B="",,BYROW(B2:B,LAMBDA(addr,IFERROR(INDIRECT(addr),"无效地址")))))

上述公式支持跨工作表的地址读取,只要B列存储的地址格式符合规范(如Sheet2!A3)即可正常返回结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:00:04