ilya kanavin , благодарю за вариант с =INDIRECT("A1"). Он, действительно работает, однако очень сильно падает производительность таблицы, так как функция INDIRECT запускается каждый раз при изменении любой ячейки в листе, а таких ссылок в нем более десятка тысяч.
Однако обдумав комментарий
Alexander Ivanov (благодарю за грамотное объяснение), возникла идея создать решение не на стороне интерфейса, а на стороне сервера.
Что если сделать скрипт на стороне сервера, который, например, каждые 2 часа проходит по таблице (заранее заданным строкам), находит ячейки с формулами и просто перезаписывает в них правильные формулы? Если брать наш пример, в котором ячейку А1 сдвинули на ячейку А2 и ссылки сбились:
![6018ef476dc06604708054.png](https://habrastorage.org/webt/60/18/ef/6018ef476dc06604708054.png)
с точки зрения формул выглядит так:
![6018ef6ac3f00530907245.png](https://habrastorage.org/webt/60/18/ef/6018ef6ac3f00530907245.png)
В нем формулы первой строки теперь указывают на ячейку второй строки (что для нашей задачи неверно), а формулы второй строки стали битыми (что для нашей задачи также неверно).
Поэтому можно сделать скрипт, который на стороне сервера прошелся по этим двум строкам и сделал следующее:
![6018efc2d4728322078936.png](https://habrastorage.org/webt/60/18/ef/6018efc2d4728322078936.png)
это будет выглядеть вот так:
![6018efd6e3a5c950482650.png](https://habrastorage.org/webt/60/18/ef/6018efd6e3a5c950482650.png)
результат получился такой: формулы в первой строке вновь ссылаются на ячейку А1, а формулы второй строки на ячейку А2.
Если брать более приближенный пример к нашей задачи с несколькими тысячами ссылок, то у нас есть блок ячеек с исходной информацией B2:F4 и далее множество аналогичных по размеру колонок и строк блоков с ячейками, которые ссылаются на эти исходные ячейки
скрипту необходимо будет пробежать по всем ячейкам этих строк и заменить формулы на новые формулы по схеме знак равно "=" + "Название столбца, на который ссылается ячейка" + "Номер строки, в которой находится эта текущая ячейка"
С номером строки тут все понятно, он вычисляется из самой обрабатываемой ячейки. А с номером столбца посложнее, тут надо подумать как его вычислять.
Что скажете насчет такого варианта?