通过列名而不是列索引获取列值

凯莉·罗迪(Kelli Roddy):

我是Google Apps脚本的新手。我想通过它的列名而不是列索引来获取特定单元格的值。这是我所拥有的:

var rows = sheet.getDataRange();
var values = rows.getValues();
var row =values[1];
var rowStaffName = row[0];

row[0]我不想使用,而是要使用列名。有没有简单的方法可以做到这一点?

用户3717023:

以下函数在给定行中以给定名称重试列中的值。

function getByName(colName, row) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var col = data[0].indexOf(colName);
  if (col != -1) {
    return data[row-1][col];
  }
}

具体来说,var col = data[0].indexOf(colName);在工作表的第一行中查找给定名称。如果找到,则返回该列给定行中的值(row-1用于说明基于0的JavaScript索引)。

要测试它是否可行,请尝试类似

function test() {
  Logger.log(getByName('Price', 4)); // Or whatever name or row you want
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章