求Google App Script自定义函数:按指定单元格RGB值设置单元格背景
Google App Script 自定义函数:setbackgroundRGB
功能说明
在单元格中输入=setbackgroundRGB(目标单元格),即可将当前单元格的背景色设置为目标单元格内的RGB代码对应的颜色。例如在D2输入=setbackgroundRGB(L2),D2的背景就会应用L2中的RGB颜色。
完整脚本代码
function setbackgroundRGB(targetCell) { // 获取调用函数的当前单元格 const activeCell = SpreadsheetApp.getActiveRange(); // 处理目标单元格的RGB字符串,兼容两种格式 let rgbStr = targetCell.toString().trim(); if (rgbStr.startsWith('rgb(') && rgbStr.endsWith(')')) { rgbStr = rgbStr.slice(4, -1); } // 拆分并转换为数值 const rgbValues = rgbStr.split(',').map(val => parseInt(val.trim(), 10)); // 验证RGB值合法性并设置背景色 if (rgbValues.length === 3 && rgbValues.every(val => !isNaN(val) && val >= 0 && val <= 255)) { activeCell.setBackgroundRGB(rgbValues[0], rgbValues[1], rgbValues[2]); return ""; // 避免单元格显示函数结果 } else { return "无效RGB格式,请输入'255,0,0'或'rgb(255,0,0)'这类内容"; } }
使用步骤
- 打开你的Google表格,点击顶部菜单栏的「扩展程序」→「Apps 脚本」
- 在脚本编辑器中删除默认代码,粘贴上面的脚本
- 点击保存按钮,给项目命名(比如"SetBackgroundRGB")
- 返回表格,在需要设置背景色的单元格中输入函数,例如
=setbackgroundRGB(L2)
注意事项
- 支持两种RGB格式:纯逗号分隔数字(如
255,0,0)或标准rgb格式(如rgb(255,0,0)) - 第一次运行时需要完成授权,按照页面提示操作即可
- 如果目标单元格的RGB值不合法(数字超出0-255范围或格式错误),单元格会显示错误提示
内容的提问来源于stack exchange,提问作者Alessio Bulckaen
相关产品推荐
相关产品推荐

