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

如何让Google Apps Script搜索脚本读取多个Sheet的数据?

Google Apps Script多Sheet搜索功能实现

可行性说明

完全可以实现多Sheet数据检索,只需调整代码逻辑,遍历指定的多个Sheet并逐一检查数据。

修改后的完整代码

// Buscar
var NUM_COLUMNA_BUSQUEDA = 0;
function Buscar() {

  var hojaActiva = SpreadsheetApp.getActiveSpreadsheet();
  var formulario = hojaActiva.getSheetByName("Formulario"); // Nombre de hoja del formulario
 
  var valor = formulario.getRange("B3").getValue();
  // 定义需要检索的多个Sheet名称数组
  var sheetNames = ["Data", "Data2", "Data3"];
  
  // 遍历每个目标Sheet
  sheetNames.forEach(function(sheetName) {
    var targetSheet = hojaActiva.getSheetByName(sheetName);
    // 检查Sheet是否存在,避免报错
    if (!targetSheet) return;
    
    var valores = targetSheet.getDataRange().getValues();
    for (var i = 0; i < valores.length; i++) {
       var fila = valores[i];
      if (fila[NUM_COLUMNA_BUSQUEDA] == valor) {
        
        formulario.getRange("B6").setValue(fila[0]);
        formulario.getRange("B8").setValue(fila[5]);
        formulario.getRange("B10").setValue(fila[11]);
        formulario.getRange("D6").setValue(fila[14]);
        formulario.getRange("D8").setValue(fila[16]);
        formulario.getRange("D10").setValue(fila[17]);
      }
    }
  });
}

关键修改点

  • 将原第9行的单Sheet数据获取逻辑替换为遍历指定Sheet名称数组,逐个处理每个Sheet
  • 增加targetSheet存在性检查,防止因Sheet名称拼写错误或不存在导致脚本异常终止
  • 保留原有的匹配和数据填充逻辑,若多个Sheet存在相同ID,最后一个匹配的结果会覆盖之前的(若需仅保留第一个匹配项,可在找到后添加break和return终止遍历)

内容的提问来源于stack exchange,提问作者Josué Pérez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 15:35:01