#REF!ошибка при перемещении строк с ArrayFormula - PullRequest
0 голосов
/ 04 июня 2019

#REF! ошибка в ArrayFormula при перемещении строк

Когда я перемещаю строки (щелкаю и перетаскиваю) на листе, столбцы которого имеют формулу массива в строке 1, кажется, что значения в формуле массивакопируются как «значения».ArrayFormula превращается в #REF!

В этом примере у меня есть формула массива в ячейке T1.Когда я перемещаю строку 5 (например) в строку 11, я получаю следующее:

Результат массива ошибок не был расширен, поскольку он перезапишет данные в T11.

  • в ячейке T1 у меня есть #REF!
  • в ячейке T11 у меня теперь есть значение
  • остальная часть столбца теперь пуста

Сортировка работает нормально, тем не мение.

Как перемещать строки с помощью ArrayFormula в строке 1, не создавая ошибки #REF! ???

1 Ответ

0 голосов
/ 04 июня 2019

Временное решение: временно отключить 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(); } }

...