如何将一个单元格中使用的公式作为文字公式复制到另一个单元格中


1

单元格A1的值为1。单元格A2的值为2。单元格A3的公式输入为“ = A1 + A2”,并显示值3。类似地,列B1,B2,B3,C1,C2,C3等。 。

我想将公式(在A3,B3等中)复制到单元格A4,B4等中,以便A4读取“ A1 + A2”,B4读取“ B1 + B2”等。可以这样做吗?

也许这个请求看起来很奇怪,但这仅仅是因为我简化了项目以显示问题的实质。我需要执行此操作以检查是否在多个公式中重复输入(如果有相同的表达式,例如A1或A2或C3)。

Answers:


0

而不是使用:

=A1 + A2

采用:

=$A$1 + $A$2

这将复制而不会进行调整。


我需要单元格A4读取:A1 + A2
WDR

0

理想的方法是使用@Gary学生答案中的绝对引用。但是,如果您不想更改原始公式,则可以使用其他解决方法。

一种聪明的方法是复制整个地址范围,方法是先使用“查找并替换”(或使用此处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:C3Ctrl+C

2)选择A4Ctrl+V

在此处输入图片说明

3)Ctrl+X

4)选择A5Ctrl+V

在此处输入图片说明

5)Ctrl+C

6)选择A4Ctrl+V

之后,A4:C4与相同A3:C3,我们可以A5:C5根据需要进行清理:

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.