У меня есть большая электронная таблица: более 700 строк, каждая из которых имеет ссылки на предыдущую строку. Я использую эталонные функции: ROW()
, COLUMN()
и INDIRECT()
, ADDRESS()
. (Да, я решил зафиксировать значения каждые 50-100 строк, чтобы уменьшить след вычислений.)
До недавнего времени я использовал OpenOffice.org, и он работал нормально. LibreOffice, однако, когда файл открывается, кажется, сдается после некоторых строк, и дальнейшие вычисления становятся ошибкой 522. Иногда изменение заставляет его пересчитывать все это, и ошибки исчезают и не появляются снова, когда я отменяю изменение. Я также узнал о Ctrl-Shift-F9 (надо пересчитать), что также приводит к исчезновению ошибок.
Несмотря на то, что файл был сохранен и повторно сохранен LibreOffice несколько раз, он по-прежнему сообщает о ложной ошибке 522, когда я открываю файл, так что это не похоже на проблему совместимости.
Является ли проблема в том, что очень длинный разветвленный след вычислений заставляет программное обеспечение думать, что оно никогда не достигнет начальных значений, и поэтому оно должно быть циклическим? (Что решит моя идея фиксирования значений.) Или может быть что-то еще, что я мог упустить?
ОБНОВИТЬ
Я не вижу, как INDEX() может помочь. Я хочу сослаться на ячейку непосредственно выше или на ячейку из строки непосредственно выше. Ячейка d46 может указывать на d45, b45 или $a45, и это будет работать при копировании строки, но не при вставке или удалении строки: если вы вставите строку чуть выше, ссылки, указывающие на 1 строку выше, начнут указывать на 2 строки выше. , так что каждый раз мне приходилось бы редактировать формулы. Строка (каждая строка) содержит несколько ссылок на строку чуть выше, поэтому я подумал, что самым простым способом будет ДВССЫЛ(АДРЕС(СТРОКА()-1,СТОЛБЦ())) для того же столбца или ДВССЫЛ(АДРЕС(СТРОКА() -1,1)) для столбца A... Есть ли лучшие решения?