#REF!使用ArrayFormula移动行时出错

时间:2019-06-04 19:38:25

标签: google-sheets google-sheets-formula array-formulas

在行移动时ArrayFormula中的

#REF!错误

当我在其第1行中具有数组公式的工作表中移动行(单击并拖动)时,似乎数组公式中的值被复制为“值”。 ArrayFormula变为#REF!

在此示例中,我在单元格T1中有一个数组公式。 当我将第5行(例如)移至第11行时,我有以下提示:

  

错误数组结果未扩展,因为它将覆盖其中的数据   T11。

  • 在T1单元格中,我有#REF!
  • 在单元格T11中,我现在有一个值
  • 该列的其余部分现在为空白

但是,排序正常。

如何在第1行的ArrayFormula上移动行而不产生任何#REF!错误?

1 个答案:

答案 0 :(得分:0)

解决方法是通过删除 ARRAYFORMULA 符号或插入 = 来暂时禁用 ' >在 = 符号前面-然后进行行交换,然后再次修复数组公式。

第二种解决方法是在移动行后删除静态值,以便展开数组公式,而不是发布 #REF! 错误。

第3个选项包括一个脚本,该脚本将删除给定的范围。

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();
  }
}