我对Google表格非常陌生,特别是使用Apps Script API为表格制作功能。
我的目标是连续搜索3个单元格,如果三个中的两个包含' X'则第三个单元格不会变为蓝色。
目前,工作表具有以下条件格式:
因此,如果行中的其他两个单元格为Empty
,则意图将!
单元格更改为X
。
供参考的图片:
基本上,我需要一个可以检查一系列单元格内容的函数,但我不知道如何正确使用API,如果有人能给我一些帮助,我将不胜感激。
注意:这不适用于任何类型的项目,这仅适用于我的朋友和我自己。
我的想法是将范围作为函数参数(例如A1:C1),然后访问范围的单元格数据并相互检查它们。我的问题是,我不知道如何使用API来获取此数据。
答案 0 :(得分:1)
如果之前提到的场景适用,您可以使用此方法:
function checkRow() {
var ss = SpreadsheetApp.getActive();
var activeCell = ss.getActiveCell();
var currentRow = activeCell.getRow();
var currentCol = activeCell.getColumn();
var allRange = ss.getRange("A1:C3");
var activeValue = activeCell.getValue();
var secondCell, thirdCell;
if(activeValue == "x")
{
if ( currentCol == 1 )
{
secondCell = allRange.getCell( currentRow, currentCol+1 );
thirdCell = allRange.getCell( currentRow, currentCol+2 );
} else if ( currentCol == 2 )
{
secondCell = allRange.getCell( currentRow, currentCol-1 );
thirdCell = allRange.getCell( currentRow, currentCol+1 );
}
else if ( currentCol == 3 )
{
secondCell = allRange.getCell( currentRow, currentCol-1 );
thirdCell = allRange.getCell( currentRow, currentCol-2 );
}
if ( secondCell.getValue() == "x" && thirdCell.getValue() == "" )
{
thirdCell.setValue("!");
thirdCell.setBackground("#00FFFF");
} else if (thirdCell.getValue() == "x" && secondCell.getValue() == "" )
{
secondCell.setValue("!");
secondCell.setBackground("#00FFFF");
}
}
}