如何使用列标题引用Google Apps脚本电子表格中的单元格

时间:2015-07-03 21:24:22

标签: google-apps-script google-sheets

我有几张Google表格,我连接并更新它们之间的单元格。现在我必须使用R1C1或A1类型引用来定义基于特定列获取或设置单元格。

如果添加了新列,则所有这些引用现已关闭。

每张纸的第一行都有列标题作为这些单元格中的值。

我可以为[columnHeader] 5格式引用一个单元格作为该列第五行的单元格吗?

我想把每个列标题设置为一个命名范围'但我仍然坚持能够使用[命名范围] 5引用一个单元格。

我想我可以使用一些动态定义100个变量到当前列号(R1C1)格式(在所有工作表中)的方法,然后尝试在我的单元格引用中使用那些伪标题变量。但是我可能每天都要运行脚本100次,这种可怕的低效率会伤害我的工程师。

提前致谢。

卡盘

1 个答案:

答案 0 :(得分:15)

我使用一个小帮助函数,它将列索引作为我可以在getRange(row,col)

中使用的数字返回

这是非常基本的,就像这样:

function getColByName(name){
  var headers = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1').getDataRange().getValues().shift();
  var colindex = headers.indexOf(name);
  return colindex+1;
}
像这样测试:

function testgetColByName(){
  Logger.log(getColByName('header string'));  
}