我在P列中有一个复杂的公式来检查大约6个条件并返回1或0.我想在P列中隐藏每一行1。我使用这个脚本:
function onEdit(e){
var sheet = e.source.getActiveSheet();
var r = sheet.getActiveRange();
if (r.getColumnIndex() == 16 && r.getValue() == "1")
sheet.hideRows(r.getRowIndex(),1);
}
由于原因未知,脚本无效。似乎onEdit不能在公式上触发......真的是这样吗?如何使脚本有效?
答案 0 :(得分:2)
它不起作用,因为没有编辑具有公式本身的单元格。这不是有效范围,因此r.getValue() != 1
,它等于您刚输入的内容,r.getColumnIndex()
永远不应该是16。
组:
var r=sheet.getActiveRange();
var row=r.getRowIndex();
var p=sheet.getRange("P"+row);
并且
if(p.getValue()==1)
sheet.hideRows(row,1);
这应该有效,假设您的条件与您要测试的p
位于同一行。
答案 1 :(得分:1)
2013年5月,为电子表格添加了“更改”触发器,并为公式更改提供了一个事件。