如何将ARRAYFORMULA置于表头单元格避免被脚本删除?
解决Google Sheets公式被脚本删除的问题
这里有几个实用方案帮你搞定:
方案1:把公式移到J1表头,同时保留表头文字
直接修改公式,让J1显示表头,下方行自动计算,公式如下:
=ARRAYFORMULA(IF(ROW(J:J)=1, "Calls", IF(REGEXMATCH(B2:B,"call"), 100*(G2:G*D2:D), "")))
原理是用ROW(J:J)=1判断当前行是表头行时,显示"Calls";其他行执行你原来的计算逻辑。这样J1作为表头,脚本一般不会删除表头行,公式就不会丢失。
方案2:用隐藏辅助列存放公式
找一个不常用的列(比如Z列),把你的原公式放到Z1:
=ARRAYFORMULA(IF(REGEXMATCH(B2:B,"call"), 100*(G2:G*D2:D), ""))
然后在J1输入公式引用辅助列:
=ARRAYFORMULA(IF(ROW(J:J)=1, "Calls", Z2:Z))
之后把Z列隐藏(右键列标→隐藏列)。这样即使脚本删除J列的0值行,Z列的公式始终保留,J列会自动同步计算结果。
方案3:修改脚本跳过公式行(如果有权限改脚本)
如果能调整删除行的脚本,加个判断:跳过公式所在的行(比如表头行)。比如脚本里可以检查当前行是否是第1行(表头)或者包含公式,就不执行删除操作。
内容的提问来源于stack exchange,提问作者reknirt
相关产品推荐
相关产品推荐

