1

Ячейка А1 имеет значение 1. Ячейка А2 имеет значение 2. Ячейка A3 имеет введенную формулу "= A1 + A2" и показывает значение 3. Аналогично столбцы B1, B2, B3, C1, C2, C3 и т.д. И т.д.

Я хочу скопировать формулу (в A3, B3 и т.д.) В ячейки A4, B4 и т.д., Чтобы A4 читала «A1 + A2», B4 - «B1 + B2» и т.д. Можно ли это сделать?

Возможно, запрос кажется странным, но только потому, что я упростил свой проект, чтобы показать суть проблемы. Мне нужно сделать это, чтобы проверить наличие повторяющихся записей, если какое-либо одно и то же выражение, скажем, A1 или A2 или C3, в более чем одной формуле.

3 ответа3

0

Идеальный способ - использовать абсолютные ссылки, как в ответе @ Gary's Student. Но если вы не хотите менять исходные формулы, то есть другие обходные пути.

Один умный способ - скопировать весь диапазон адресов, сначала удалив знак равенства, используя Find and Replace (или заменив a= как предложено здесь). Затем скопируйте и вставьте, и, наконец, измените его обратно на = . Это показано в методе 3 по адресу https://www.ablebits.com/office-addins-blog/2016/01/20/copy-formula-excel/#copy-formula-without-changing-references

В прошлом я использовал следующую последовательность клавиш:

  1. Изменить формулу: F2
  2. Выберите формулу: Ctrl+a
  3. Скопируйте формулу: Ctrl+C
  4. Выйти из формулы: Esc

Теперь вставьте неизменную формулу.

Если это то, что вам нужно делать часто, возможно, стоит установить такой макрос, который выполняет шаги 1-3.

Sub CopyLiteralFormula
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dispatcher.executeDispatch(document, ".uno:SetInputMode", "", 0, Array())
    dispatcher.executeDispatch(document, ".uno:SelectAll", "", 0, Array())
    dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
End Sub

Я играл с ним несколько минут, но не смог заставить его выполнить шаг 4 автоматически.

0

1) Выберите A3:C3 , Ctrl+C

2) Выберите A4 , Ctrl+V

3) Ctrl+X

4) Выберите A5 , Ctrl+V

5) Ctrl+C

6) Выберите A4 , Ctrl+V

После этого A4:C4 совпадает с A3:C3 , и мы можем очистить A5:C5 , если необходимо:

0

Вместо того, чтобы использовать:

=A1 + A2

использовать:

=$A$1 + $A$2

это будет копировать без настройки.

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