我正在尝试使用一个函数来获取单元格背景的十六进制代码,并将其与同一单元格中包含的文本连接起来。
即在sht1.cell(A1)
中输入红色背景的“ Hello”,在sht2.cell(A1)
中输入以下文本:“ [#FF0000] Hello”
我正在尝试:
function getHexValue(range) {
return SpreadsheetApp.getActiveSheet().getRange(range).getBackground();
}
,但是它并不总是有效,特别是如果我共享文件。我尝试使用编辑,更改或打开事件来设置一些触发器,但ID一直没有更新 this是我试图做的。
有什么建议吗?
如果我输入:=gethexvalue("A5")
,我将获得颜色代码,如果我将公式键入另一个单元格或另一张工作表,并且更新值或重新加载工作表,则它将无效。
答案 0 :(得分:0)
在公式=gethexvalue("A5")
中,“ A5”是文本,而不是动态范围。
阅读How to pass a range into a custom function in Google Spreadsheets?可获得完整的讨论和11个不同的答案。这本身可能是passing cell references to spreadsheet functions的副本。
此=getHexValue(ADDRESS(ROW(A1), COLUMN(A1)))&A1
是动态的。它将返回:
“#ff0000你好”
。如果要用大写十六进制,则将UPPER与getHexvalue一起使用。