当前位置: 首页 > 知识库问答 >
问题:

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

蒋嘉颖
2023-03-14

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

如果添加了新列,所有这些引用现在都将关闭。

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

我能否以[columnHeader]5等格式引用该列第五行中的单元格?

我曾想过将每个单独的列标题设置为“命名范围”,但我一直无法使用[named range]5引用单元格。

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

提前谢谢。

扔出

共有1个答案

黄修永
2023-03-14

我使用了一个小的helper函数,它将列索引作为一个数字返回,我可以在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'));  
}
 类似资料:
  • 我有一个谷歌电子表格,里面有多张表格,我想把每一张表格复制到一个新的电子表格中,并在一个特定的单元格中以文本命名新的电子表格。我很高兴运行脚本多次,所以我想让它复制活动表。 即。我所拥有的=称为“颜色”的电子表格——工作表1=“红色”,工作表2=“蓝色”,工作表3=“黄色”,等等。 我想要什么= 名为“红色”的电子表格。电子表格叫做"蓝色",电子表格叫做"黄色" 到目前为止,我有这个脚本,但它告诉

  • 我的程序是这样工作的:

  • 它将始终返回,但我需要获得。 怎么啦?如何实现这一点?

  • 问题内容: 我想在不打开应用程序的情况下对excel中的单元格进行调整。我想和詹金斯一起做,这样我就可以自动化(回归)测试。(这甚至可能吗?) 正如您在附上的图像中看到的那样,我努力将excel中的“ N”值更改为“ Y”值,反之亦然。我想通过Jenkins的用户界面来实现这一目标。我已经听说过类似参数化构建的内容,但是我无法在任何网站上获得帮助,也无法提供有关该主题的更多信息。 我想要实现的是这

  • 我做了一个PHP脚本,使用api v4将一些信息导出到谷歌电子表格。当我尝试向单元格中添加注释时,我应该为每个注释向API发出请求,这对我来说是一个问题,前面已经解释过了。 我目前的方法是以下一种,我试图在单行的每一列上添加注释($HeaderNotes是一个数组): 在这种方法中,注释是一个接一个地添加的(使用循环),并且工作正常。主要的问题是,我做的请求和notes一样多,而谷歌的Cuota有

  • 我有一个谷歌电子表格,有两张叫做罗宾和露西的表格。每次我向列A添加一些数据时,我都制作/找到/破坏了一个脚本来对工作表上的数据进行排序 这个剧本很棒,但我只想把它应用在第一张纸上,罗宾。第二个工作表中的数据,Lucy,是不一样的,所以我将创建另一个脚本为不同的范围,一旦我得到了这个问题的头脑。 我想我需要使用getSheetByName(“罗宾”),但我似乎无法让它工作。提前感谢