首页 > 解决方案 > 查找脚本单元格地址的代码 - 谷歌表格

问题描述

我正在使用谷歌表格。

我有一个包含“B”列的电子表格,其中包含有条件地用背景颜色格式化的数据。

我需要将与“B”的每个单元格中的颜色对应的十六进制代码放入“C”中的相邻单元格中。

我有以下代码,它有效:

function GetBackColorCode(cell) 
{
return (SpreadsheetApp.getActiveSheet().getRange(cell).getBackground());
}

但是,如您所见,此代码需要在每个单元格中手动插入正确的列号和行号。因此,如果我想要十六进制。B14 中的颜色代码,我在 C14 中插入以下内容:

=GetBackColorCode("b14")

这种方法需要我手动输入大约三百个单元格。有没有办法自动获取单元格引用,例如,调用“this.someFunction()”?这样我就可以将调用“=GetBackColorCode(this.someFunction())”粘贴到“C”列中的所有单元格中,并且每个单元格都会自动提供对其左侧单元格的必要引用?

标签: google-apps-scriptgoogle-sheetsreference

解决方案


将您的脚本更改为

function getHexCodes(range) {
  return SpreadsheetApp.getActiveSheet()
 .getRange(range).getBackgrounds();
}

然后输入 C2 (或任何你的“起始行”)

=getHexCodes("B2:B")

推荐阅读