"Найти и заменить" формулу сохраняя ссылки на ячейки

Автор mishich666, 22 марта 2022, 14:59

0 Пользователи и 1 гость просматривают эту тему.

mishich666

Всем добра.
В книге (мсо), которую я портирую в ло, на нескольких листах много копий формулы  =ЕСЛИ(ЕПУСТО(G4);;СЕГОДНЯ()-G4), которую надо заменить на =ЕСЛИ(ЕПУСТО(G4);"";СЕГОДНЯ()-G4) (пустые кавычки). Обнаружилась такая особенность, которая важна для сохранения функциональности. Как массово "Найти и заменить" в LO Calc формулу, сохраняя ссылки на ячейки?
Конечно можно подстроку, но есть ненулевая вероятность найти подстроку в ненужном месте

bigor

Как вариант, первым шагом меняем СЕГОДНЯ, на что нибудь, чего явно нет в книге,
затем меняем ;;что нибудь, чего явно нет в книге на ;"";что нибудь, чего явно нет в книге, ну и третьим шагом восстанавливаем СЕГОДНЯ
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

mishich666

Спасибо, но СЕГОДНЯ и есть подстрока... Очень желателен вариант для всей формулы. Кстати, стоит уточнить: в каждой копии формулы своя ссылка на ячейку

mikekaganski

#3
Найти:
(=\s*ЕСЛИ\s*\(\s*ЕПУСТО\s*\(\s*([A-Za-z]{1,3}\d{1,7})\s*\)\s*;)\s*(;\s*СЕГОДНЯ\s*\(\s*\)\s*-\s*\2\s*\))
Заменить:
$1""$3
(x) Регулярные выражения
С уважением,
Михаил Каганский

mishich666

Спасибо. Сейчас нет возможности проверить - уже не на работе. Я правильно понимаю, что этот вариант подойдет и для ссылок на многобуквенные столбцы?

mikekaganski

Цитата: mishich666 от 22 марта 2022, 17:39Я правильно понимаю, что этот вариант подойдет и для ссылок на многобуквенные столбцы?
Да.
С уважением,
Михаил Каганский

mishich666