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

如何读取传递至Google Apps Script的单元格区域值?

解决Google Apps Script遍历单元格区域值的问题

你的代码有两个核心问题:

  1. 循环变量名不匹配:定义了cells但输出的是未声明的cell,会直接报错;
  2. 没处理Google Sheets单元格区域的二维数组结构:传递过来的cell_address是二维数组(每行对应一个子数组),必须嵌套遍历才能拿到每个单元格的值。

修正后的代码示例

方式一:嵌套for...of循环

function abb(cell_address) { 
  Logger.log(cell_address); // 输出二维数组,例如[[qw], [123]]
  // 遍历每一行
  for (let row of cell_address) {
    // 遍历当前行的每个单元格
    for (let cell of row) {
      Logger.log(cell); // 依次输出 qw、123
    }
  }
  return;
}

方式二:forEach嵌套遍历

function abb(cell_address) { 
  Logger.log(cell_address);
  cell_address.forEach(row => {
    row.forEach(cell => {
      Logger.log(cell);
    });
  });
  return;
}

补充说明

Google Apps Script中,单元格区域作为参数传入自定义函数时,始终以二维数组形式存在:

  • 单列多行区域(如A1:A2)会转为[[值1], [值2]]
  • 单行多列区域(如A1:B1)会转为[[值1, 值2]]
  • 多行多列区域则是[[行1值1, 行1值2], [行2值1, 行2值2]]

所以必须通过两层遍历,先拿到每一行的数组,再遍历行内的单元格值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:15:33