google-apps-script - 带来细胞的位置而不是它的价值
问题描述
我正在尝试使用 Apps 脚本为 Google 表格创建自定义公式。该函数将返回单元格的十六进制背景颜色(例如,=getHEX(B1)
将返回单元格 B1 的颜色)。
我的问题是我可以带来单元格的价值,而不是位置。如果我在函数中使用引号,它可以工作(=getHEX("B1")
)但我想知道如何避免使用引号并仍然获得单元格的值。
我尝试使用A1Notation函数,据说它带来了位置(B1),但是当添加到函数中时,我仍然得到相同的错误(未找到范围)。以下是作为参考的功能:
function getHEX(cellReference) {
const getCell = SpreadsheetApp.getActiveSheet().getRange(cellReference.toString()).getBackground();
return getCell;
}
解决方案
问题:
简单的解决方法:
- 您可以使用ADDRESS、ROW和COLUMN将引用作为字符串在 google 表格端获取,并将其作为参数传递到您的自定义函数中,以便getRange(a1Notation)方法可以使用它。
解决方案:
解决方案1:
谷歌应用脚本:
function getHEX(cellReference) {
const getCell = SpreadsheetApp.getActiveSheet().getRange(cellReference).getBackground();
return getCell;
}
谷歌表格:
=getHEX(ADDRESS(row(E4),column(E4),4))
获取单元格的背景颜色E4
。您也可以通过这种方式向下拖动公式。
解决方案2:
直接使用坐标,但构造函数以接受两个参数(x 和 y)。
谷歌应用脚本:
function getHEX(x,y) {
const getCell = SpreadsheetApp.getActiveSheet().getRange(x,y).getBackground();
return getCell;
}
谷歌表格:
=getHEX(row(E4),column(E4))
推荐阅读
- swift - 如何获取核心数据 sqlite 文件位置
- c# - 如何防止使用过多内存的 StreamReader.ReadLine( ... )?
- python-3.x - 索引错误:标量变量的索引无效
- linux - How do I run multiple behave+python tests simultaneously without errors?
- typo3 - 可以选中通量字段复选框吗?
- python - 找不到“胶水”的索引页
- html - 子菜单项无法在导航中呈现
- php - 如何使用 PHP 将从文本文件返回的数据解析为 HTML 表
- c# - 注销后未清除许可证信息缓存
- java - 如何检查所有其他元素是否是偶数