Google脚本表按名称获取列

时间:2019-03-29 18:01:20

标签: javascript google-apps-script

我找不到任何可以通过其名称找到Google工作表列索引号的Google脚本编辑器代码

已经搜索了其他问题和Google文档

function myFunction() 
{
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Form Responses 1");
  var rowNo = sheet.getLastRow();
  var colNo = sheet.getColumnName("Avg Price Per Seat");
  sheet.getRange(rowNo, colNo).setValue("=(E"+rowNo+"/M"+rowNo+")");
}

这应该在每次运行时计算“每位平均价格”列中的E和M两列

3 个答案:

答案 0 :(得分:1)

我们也可以使用findIndex。在某些情况下,某些列包含我们要到达的词。

function getColumnId(sheet) {
  var data = sheet.getDataRange().getValues();
  var col = data[0].findIndex((name) => name === 'ID') + 1;
  return col;
}

答案 1 :(得分:0)

您可以获得所有列的数组,然后使用列名找到所需的列。

var cols = sheet.getDataRange().getValues();
var colNo = cols[0].indexOf(colName);

答案 2 :(得分:0)

您可以使用此功能按列名获取列号。只需传递工作表和上校名称即可。

function getColumnFromName(sheet, name) {
  var headers = sheet.getRange(1,1,1,sheet.getLastRow()).getValues()[0];
  for (var i = 0; i < headers.length; i++) {
    if (headers[i] == name) return i + 1;
  }
  return -1;
}

用作-var rowNo = getColumnFromName(sheet, 'Column Name');