移动行时 ArrayFormula 中#REF!
错误
当我在列在第 1 行具有数组公式的工作表中移动行(单击并拖动(时,似乎数组公式中的值被复制为"值"。数组公式变为#REF!
在此示例中,我在单元格 T1 中有一个数组公式。例如,当我将第 5 行移动到第 11 行时,我有这个:
错误数组结果未展开,因为它会覆盖 中的数据 T11.
- 在单元格 T1 中,我有
#REF!
- 在单元格 T11 中,我现在有一个值
- 列的其余部分现在为空白
但是,排序工作正常。
如何使用第 1 行上的 ArrayFormula 四处移动行而不会产生任何#REF!
错误???
解决方法是通过删除=
符号或在符号前面插入'
来暂时禁用ARRAYFORMULA
=
然后进行行交换,然后再次修复数组公式。
第二种解决方法是在移动行后删除静态值,以便数组公式可以推出,而不是发布错误#REF!
。
第三个选项包括一个将删除给定范围的脚本。
function moveValuesOnly() { var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getRange('Sheet1!B10');
source.copyTo(ss.getRange('Sheet1!AO3:AO'),
{contentsOnly: true}); }
或: function clearArrays() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
var rangesToClear = ['AO3:AO', 'AR4:AR8'];
for (var i=0; i < rangesToClear.length; i++) {
sheet.getRange(rangesToClear[i]).clearContent();
}
}