有人可以提供一个公式的脚本,该脚本允许使用另一个单元格范围的 RGB 代码来绘制一系列单元格的背景吗?
例如:如果在 D2 中插入
=setbackgroundRGB(L2)
,则 D2 的背景从 L2 中的 RGB 代码获取颜色,如果在 D3 中插入 =setbackgroundRGB(L3)
,则 D3 的背景将使用 L3 中的 RGB 代码的颜色进行绘制。请注意,“setbackgroundRGB”是用 Google App 脚本编写的自定义函数的虚构名称。
我不熟悉Google App Script,但我希望有人可以提供脚本来获取上述公式。
这可以通过添加具有此自定义函数的脚本来完成: 在这种情况下,“A2:A202”范围内的单元格(从第 2 行开始的 200 行)将使用单元格 B、C 和 D 中的 RGB 代码进行着色。我喜欢这个公式,因为您可以根据您的需要在输入和输出范围内移动需求,这就是我一直在寻找的。我希望这对其他人有帮助!
function setRGBBackgroundColor() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// Loop over the first 200 rows, starting from row 1
for (var i = 2; i <= 200; i++) {
var red = parseInt(sheet.getRange("B" + i).getValue());
var green = parseInt(sheet.getRange("C" + i).getValue());
var blue = parseInt(sheet.getRange("D" + i).getValue());
// Check if RGB values are valid (numbers between 0 and 255)
if (isValidRGB(red) && isValidRGB(green) && isValidRGB(blue)) {
// Set the background color of column A for the corresponding row
sheet.getRange("A" + i).setBackgroundRGB(red, green, blue);
} else {
// Clear the background if values are invalid or empty
sheet.getRange("A" + i).setBackground(null);
}
}
}