由于我是Google Apps脚本的新手,因此我很难理解在那里做了什么以及如何做。我想改变单元格的颜色,如果它是空的,其他列中的另外两个单元格也是空的。如果其中一个有价值,那就没关系。
在此屏幕截图中,只需要对第5,6和7行进行着色:
这意味着在运行时使用脚本,检查在给定列(电子邮件/主要电话等或任何给定列,取决于或要求)上缺少值的位置。
试试这个:
您的问题没有指定哪些列,因此根据图像我假设您需要列C,F和G.
function onEdit(e) {
var dflt='#ffffff';
var fill='#ffff00';
if(e.range.getSheet().getName()!='Sheet69'){return;}//you need to add your sheet name so that this only works on the appropriate sheets
var ss=e.source;
var sh=e.range.getSheet();
var rg=sh.getRange(1,1,sh.getMaxRows(),sh.getMaxColumns());
var vA=rg.getValues();
var bA=rg.getBackgrounds();
for(var i=0;i<vA.length;i++) {
if(!vA[i][2] && !vA[i][5] && !vA[i][6]){
for(var j=0;j<bA[i].length;j++) {
bA[i][j]=fill;
}
}else{
for(var j=0;j<bA[i].length;j++) {
bA[i][j]=dflt;
}
}
}
rg.setBackgrounds(bA);
}
您不应该使用应用程序脚本来获得所需的效果。我创建了一个虚拟测试,看看它是否适合你。它处于“查看”模式,因为......好......互联网。 https://docs.google.com/spreadsheets/d/1ozOITqXNwtvYYmulJV6nrs3MB6SlsRAF8l9a8ImXZkg/edit?usp=sharing
我为要格式化的范围单元格创建了一个自定义公式,用于单元格格式化,而不是整行(对于工作表引擎来说可能工作量太大)。
选择要应用格式的范围,然后从菜单中选择条件格式。对于我的示例,“格式化单元格”设置为“自定义公式为”,值为= AND(ISBLANK($ C2),ISBLANK($ D2),ISBLANK($ E2))
您可以将此公式复制到您希望显示格式的任何其他单元格,从而使整个行的外观格式化。