首页 > 解决方案 > Google 电子表格脚本 - 搜索功能

问题描述

当我在参考编号中搜索问题时,我试图让问题出现。预期输出:预期产出

每当我执行该函数时,我都会得到一个空框,而不是出现问题。我不知道我的代码有什么问题,因为我对 Google Apps 编码真的很陌生。

我的代码:

var SEARCH_COL_IDX = 0;

function SearchOutput() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var inputForm = ss.getSheetByName("FORM");

  var searchInput = inputForm.getRange("C3").getValue();
  var text = ss.getSheetByName("ARCHIVE").getDataRange().getValue;
  for (var i = 0; i < text.length; i++) {
    var row = text[i];
    if (row[SEARCH_COL_IDX] == searchInput) {
      inputForm.getRange("C7").setValues(row[0]);
      inputForm.getRange("C9").setValues(row[1]);
      inputForm.getRange("C11").setValues(row[2]);
      inputForm.getRange("F7").setValues(row[3]);
      inputForm.getRange("F9").setValues(row[4]);
      inputForm.getRange("F11").setValues(row[5]);
      inputForm.getRange("I7").setValues(row[7]);
      inputForm.getRange("I9").setValues(row[6])
    }
  }
}

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-api

解决方案


建议您return何时匹配。

var SEARCH_COL_IDX = 0;

function SearchOutput() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var inputForm = ss.getSheetByName("FORM");

  var searchInput = inputForm.getRange("C3").getValue();
  var text = ss.getSheetByName("ARCHIVE").getDataRange().getValues();
  for (var i = 0; i < text.length; i++) {
    var row = text[i];
    if (row[SEARCH_COL_IDX] == searchInput) {
      inputForm.getRange("C7").setValue(row[0]);
      inputForm.getRange("C9").setValue(row[1]);
      inputForm.getRange("C11").setValue(row[2]);
      inputForm.getRange("F7").setValue(row[3]);
      inputForm.getRange("F9").setValue(row[4]);
      inputForm.getRange("F11").setValue(row[5]);
      inputForm.getRange("I7").setValue(row[7]);
      inputForm.getRange("I9").setValue(row[6])
      // return;
    }
  }
}

推荐阅读