当我获得行号作为搜索答案时,我需要特定电子表格单元格的值

问题描述 投票:0回答:1

我是论坛新手,也不是程序员,所以对于任何错误,我提前表示歉意。

我使用 Google 表格作为订单库存。我使用两张表作为具有相同字段的数据表,一张用于当前订单,一张用于旧订单。我还有第三张表,用作用户输入表单。

我正在尝试编写一个脚本来搜索两个数据表中的字符串,用户可以将其放入表单中的特定单元格中,例如客户的姓名或电话号码。我需要的结果是我存储在两个数据表的 A 列中的所有 orderId。

通过我在here找到的以下代码,我得到了工作表的名称和行号。我需要工作表的名称,以便用户知道客户是否有其他订单(旧的或当前的)以及每个结果的 A 列的值而不是行号。

function searchString(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var search_string = sheet.getRange("C3").getValue();
  var textFinder = ss.createTextFinder(search_string);
  var search_rows = textFinder.findAll().map(r => ({sheetName: r.getSheet().getSheetName(), code: r.getRow()}));
  var ui = SpreadsheetApp.getUi();
  ui.alert(JSON.stringify(search_rows));
}

我还想从搜索中排除表单,但这并不重要。

提前致谢

search spreadsheet multiple-results
1个回答
0
投票

我通过电子邮件从朋友那里得到了有效的答案,我在这里发布了代码。正如我所说,我不是程序员,答案是显而易见的。我尝试过 r.getRow(getValue()),但正确的语法是 r.getValue()。

`

function searchString(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var search_string = sheet.getRange("C3").getValue();
  var textFinder = ss.createTextFinder(search_string);
  var search_rows = textFinder.findAll().map(r => ({sheetName: r.getSheet().getSheetName(), value: r.getValue()}));
  var ui = SpreadsheetApp.getUi();
  ui.alert(JSON.stringify(search_rows));
}

`

感谢我在这里找到的所有有用的代码。

© www.soinside.com 2019 - 2024. All rights reserved.