如何查询 google sheet 列的某个值

how to query a google sheet column for a certain value

假设我的值为 10,并且我得到一个 google sheet,其第一列 ID 具有许多值。我想要 运行 一个遍历该列中所有值的脚本,一旦找到匹配项,它就会在该行上设置活动选择

以下脚本在活动 sheet 的第一列中搜索值 10,如果找到则在该值上设置选择。

function setActive() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var idValues = sheet.getRange(1, 1, sheet.getLastRow(), 1).getValues().map(function(a) {
    return a[0];
  });
  var row = idValues.indexOf(10) + 1;
  if (row > 0) {
    SpreadsheetApp.setActiveRange(sheet.getRange(row, 1));
  }
  else {
    throw new Error('Id not found');
  }
}

数组 idValues 在应用 indexOf 之前被展平,因为 getValues 返回的列是双精度数组 [[1], [2], [3]]