#REF!使用数组公式移动行时出错



移动行时 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();
  }
}

最新更新