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

如何用Google Script按ID将某工作表的数值返回到另一工作表

Google Apps Script 按ID跨工作表数据回填开发

这是我第一次编写Google Script,在尝试将某一工作表特定单元格的数值传递到另一工作表的过程中遇到了一些困难。

我的数据源工作表共有18列,第一列为ID列,是用户需要输入的查询依据,用户输入ID后我需要将对应行第2至18列的内容提取并回填到目标工作表中。我的代码如下:

function SearchID() {
  var columnIndex = 0;
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var formS = ss.getSheetByName("Manual Costs App"); // 交互表

  var str = formS.getRange("D6").getValue(); // 待查询的ID在此处输入
  var dataS = ss.getSheetByName("Inputs").getDataRange().getValues(); // 读取数据源表全部数据
  for (var i = 0; i <= dataS.length; i++) {
    var row = dataS[i];
    if (row[columnIndex] == str) {
      formS.getRange("D9").setValue(row[1]);
      formS.getRange("D13").setValue(row[2]);
      formS.getRange("D14").setValue(row[3]);
      formS.getRange("D15").setValue(row[4]);
      formS.getRange("D16").setValue(row[5]);
      formS.getRange("D18").setValue(row[6]);
      formS.getRange("D19").setValue(row[7]);
      formS.getRange("D20").setValue(row[8]);
      formS.getRange("D21").setValue(row[9]);
      formS.getRange("D22").setValue(row[10]);
      formS.getRange("D23").setValue(row[11]);
      formS.getRange("D25").setValue(row[12]);
      formS.getRange("D26").setValue(row[13]);
      formS.getRange("D27").setValue(row[14]);
      formS.getRange("D28").setValue(row[15]);
      formS.getRange("D29").setValue(row[16]);
      formS.getRange("D30").setValue(row[17]);
      break;
    }
  }
}

更新:目前所有问题都已修复!我首先删除了for循环中的多余空格,成功拉取到数据后又出现TypeError: Cannot read property '0'报错,最终通过在匹配成功后添加break语句解决了该问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:09:03