我一直在寻找一种方法,根据Google电子表格中下方单元格的值更改单元格的颜色。
A1:F1
范围内的每个单元格需要更改颜色,如果下面的直接单元格的值>或者<或=到0。
所以A1
始终会看A2
,B1
会一直关注B2
,依此类推。在我的表中,我可能需要一个值低于它的随机单元格范围,改变颜色。我也想使用命名范围,因为这永远不会改变。
我很乐意提供代码示例,但问题是我甚至不知道在函数onEdit()
之后从哪里开始并设置我认为变量应该是什么。
function onEdit(){
var e = SpreadsheetApp.getActiveSpreadsheet();
var sheet = e.getActiveSheet().getName('Basic');
var items = e.getRangeByName('avgt1v1name').getValues();
var values = e.getRangeByName('avg1t1b').getValues();
我不知道我是否应该使用IF语句或者使用FOR或WHILE进行循环。
非常感谢您的帮助。
提前致谢。 MoExius
答案 0 :(得分:0)
我的猜测......
function onEdit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Basic');
var values = ss.getRangeByName('avg1t1b').getValues();
var nameRange = ss.getRangeByName('avgt1v1name');
var rowIndex = nameRange.getRowIndex();
for (var i = 0; i <= values[0].length -1; i++) {
var col = i + 1;
var cell = values[0][i];
if (cell != '' && (cell <= 0 || cell > 0) ) {
nameRange.getCell(rowIndex, col ).setBackgroundColor('red');
}
else {nameRange.getCell(rowIndex, col ).setBackgroundColor('white');}
}
};
由于某种原因,当数字零位于电子表格中时不起作用。 Spreadsheet