我一直在寻找一种根据另一种单元格颜色更改单元格值的方法(例如,如果单元格颜色为红色,则为“文本”)?
有没有办法做到这一点?
我知道有一种方法可以根据单元格值更改单元格颜色,但我想要相反的方法,
有人知道吗?无论是脚本还是公式
谷歌应用程序脚本中有类似的东西,不确定电子表格中是否也有任何直接公式可用,但这里是:
我上色了A1的细胞Sheet1 as Red即#ff0000,然后使用以下代码获取颜色:
function test()
{
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var color = sheet.getRange(1, 1).getBackground();
Logger.log(color);
}
Output
#ff0000
所以,你只需要检查if(color == "#ff0000")
(或您想要的任何颜色的代码),然后设置值。
EDIT
这是满足您的要求的代码。我还添加了评论,以便您可以进一步开发它。
function myFunction() {
var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
var data1 = sheet1.getDataRange().getValues(); //2D array of sheet1 cell values
var bg;
for(var i=1; i<data1.length; i++)
{
bg = sheet1.getRange(i+1, 2).getBackground();
if(bg == "#ff0000") //Add more colors in else if and else if you have 5-6 different colors, this one is for red
{
sheet2.getRange(i+1, 3).setValue("For Verification"); //Set value in corresponding row of sheet2
}
}
}
/**
* For to-be filled records in future, you can
* set a trigger of onEdit if you are manually
* filling sheet 1
**/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)