use*_*740 1 google-sheets google-apps-script
我一直在寻找一种基于另一种单元格颜色更改单元格值(例如,如果单元格颜色为红色则为“文本”)的方法?
有没有办法做到这一点?
我知道有一种方法可以根据单元格值更改单元格颜色,但我想要相反的方式,
有人有想法吗?无论是脚本还是公式
Google appscript中有类似的东西,不确定电子表格中是否也有任何直接公式可用,但这里是:
我将Sheet1 的A1单元格着色为红色,即 #ff0000,然后使用以下代码获取颜色:
function test()
{
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var color = sheet.getRange(1, 1).getBackground();
Logger.log(color);
}
Run Code Online (Sandbox Code Playgroud)
输出
#ff0000
所以,你只需要检查if(color == "#ff0000")(或你想要的任何颜色的代码)然后设置值。
编辑
这是将满足您的要求的代码。我还添加了评论,以便您可以进一步开发它。
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
**/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8187 次 |
| 最近记录: |