我正在尝试根据一列中一个单元格的颜色是否大于另一个单元格(同一行)来更改其颜色
我已经设置了条件格式设置,但是当我在工作表中复制粘贴时,公式变得混乱,因此我希望对gs做同样的事情。
我发现我需要使用# Allocate for the number of rows needed
results <- matrix(nrow = rows)
for (name in names(data[[1]])) {
# Data processing
# Append the results to the working data
results <- cbind(results, df)
}
# Drop the first placeholder column created upon allocation
results <- results[, -1];
(https://developers.google.com/apps-script/guides/triggers/#Simple)来获取每次单元格更改时更新的更改。
从另一个问题中获得了一些代码,但是我在getRange中遇到了错误。
onEdit()
我在值中选择的范围是P2:P243,在values_now E2:E243中,这最后一个范围是我希望为单元格着色的范围。
答案 0 :(得分:1)
此修改如何?此修改后的脚本的流程如下。请认为这只是几个答案之一。
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Programar');
var values = sheet.getRange("E2:P243").getValues();
var colorToRed = [];
var colorToBlue = [];
for (var i = 0; i < values.length; i++) {
var e = values[i][0];
var p = values[i][11];
if (e > p) {
colorToRed.push("E" + (i + 2));
} else if (e < p) {
colorToBlue.push("E" + (i + 2));
}
}
sheet.getRangeList(colorToRed).setBackground("#FFDD88"); // #FFDD88 is used as red?
sheet.getRangeList(colorToBlue).setBackground("#CC6666"); // #CC6666 is used as blue?
}
如果我误解了您的问题,而这不是您想要的结果,我深表歉意。
与其他示例脚本一样,使用setBackgrounds()
时,脚本如下。
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Programar');
var values = sheet.getRange("E2:P243").getValues();
var colors = [];
for (var i = 0; i < values.length; i++) {
var e = values[i][0];
var p = values[i][11];
if (e > p) {
colors.push(["#FFDD88"]); // #FFDD88 is used as red?
} else if (e < p) {
colors.push(["#CC6666"]); // #CC6666 is used as blue?
} else {
colors.push([""]);
}
}
sheet.getRange(2, 5, colors.length, 1).setBackgrounds(colors);
}