3

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

Пример:
A1 содержит =C2+B3 (и работает / разрешается)

Скопируйте А1 в X1
X1 теперь содержит =C2+B3 (и работает / разрешается)

Я делаю это и затем немного изменяю новую копию формул с помощью замен и других средств. (Так что мне нужно, чтобы они работали, а не вставляли специальные ссылки)

В настоящее время я просто заменяю = на x= , копирую / вставляю, а затем заменяю x= на = . Я видел, как люди годами использовали более причудливые способы с помощью встроенной функциональности XLS, но я не знаю как. Мне нужно сделать это для сотен различных формул одновременно, поэтому копирование / вставка формулы из каждой по отдельности не будет работать.

/// Осталось неполное решение, чтобы выяснить:

Измените формат ячейки на текст. Тип =A1 теперь вы получите только текст. Изменение формата обратно на общий не разрешает формулу. Как мы можем разрешить их массив, чтобы снова начать работать как формулы, а не просто как текст? (Кроме входа в каждый из них и нажатия Enter)

... (и для любого любопытного дополнения Kutools это делает - точная копия)

4 ответа4

2

Это при условии, что у вас есть сохраненная копия рабочей книги.


1. Вырежьте формулы для вашего ассортимента.
2. Откройте новую рабочую книгу и вставьте диапазон обрезки.
3. Закройте оригинальную книгу без сохранения.
4. Открыть оригинальную рабочую книгу.
5. Вырежьте и вставьте диапазон от новой рабочей книги до новой в исходной рабочей книге.

Вставленные ячейки теперь будут явно ссылаться на исходные позиции (например, [WorkBook1.xlsx]Sheet1!A1). Если вам не нужна явная ссылка, вы можете использовать поиск и замену, чтобы исключить дополнительный текст.

1

Вы можете использовать FORMULATEXT() . Если формула в A1 имеет вид =B1+C1 , в D1 если вы =FORMULATEXT(A1) , она вернет =C1+B1 в виде строки.

Затем вы можете перемещать формулу, копировать / вставлять и т.д.

0

Как насчет использования INDIRECT()?

=INDIRECT("A1") . Это покажет значение, которое возвращает формула A1 . Если вы обновите формулу в A1 , она будет обновляться везде. Вы также можете скопировать / вставить формулу INDIRECT() любом месте без необходимости настройки ссылки:

0

Я просто делаю это:

  1. В ячейку с формулой попал F2
  2. Выделите формулу и нажмите Ctrl+c, чтобы скопировать ее (как текст).
  3. Вставьте его в другую ячейку или диапазон ячеек :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .