【发布时间】:2019-04-21 23:13:24
【问题描述】:
我正在尝试根据列中单元格的颜色是否大于另一个单元格(在同一行中)
我已经设置了条件格式,但是当我在工作表中复制粘贴时,公式会变得混乱,因此我希望对 gs 做同样的事情。
我发现我需要使用onEdit() (https://developers.google.com/apps-script/guides/triggers/#Simple) 在每次单元格更改时更新更改。
并从此处的其他问题中获得了一些代码,但我在 getRange 中遇到错误。
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Programar');
var values = sheet.getRange(2, 16, 3).getValues();
var values_now = sheet.getRange(2, 5, 3).getValues();
var color = '';
var current_row = 2
for (var i = 0; i < values.length; i++)
{
if (values_now[i][0] > values[i][0])
{
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert(values_now[i][0] + ' ' + values[i][0]);
color='#FFDD88'
}
else if (values_now[i][0] < values[i][0])
{
color = '#CC6666'
}
sheet.getRange(current_row, 5).setBackgroundColor(color);
current_row++
}
}
我在 values 中选择的范围是 P2:P243,在 values_now E2:E243 中,最后一个范围是我喜欢为单元格着色的范围。
- 所以如果 P2 比 E2 大,E2 应该是蓝色的
- 如果 P32 小于 E32,则 E32 应为红色。等等……
【问题讨论】:
标签: google-apps-script google-sheets gs-conditional-formatting