绝对引用的主要目的是在复制/粘贴到其他地方后仍指向同一个单元格。但我想要的是,如果引用的单元格是复制的数据的一部分,则绝对引用会更新:
| 一 | 乙 | |---|---|-------------| | 1 | 1 | =$A1 + 1 |
B1 的值为 2。
现在,如果我将 B1 复制到 C1,我希望 C1 再次引用 A1。Excel 会这样做。
| 一 | 乙 | 丙 | |---|---|-------------|----------| | 1 | 1 | =$A1 + 1 | =$A1 + 1 |
但是如果我将 A1:B1 复制到 C1:D1(因此我将复制引用单元格以及引用单元格),Excel 仍将按照绝对引用定义:
| 一 | 乙 | 丙 | 丁 | |---|---|-------------|---|----------| | 1 | 1 | =$A1 + 1 | 1 | =$A1 + 1 |
但是因为我包含了 A1(被引用)所以我希望 D1 引用 C1 而不是 A1,所以:
| 一 | 乙 | 丙 | 丁 | |---|---|-------------|---|----------| | 1 | 1 | =$A1 + 1 | 1 | =$C1 + 1 |
请注意,在这种情况下,手动解决它相对容易,但这只是一个示例,对于实际应用,它涉及整个公式块。
我想要使用绝对引用的主要原因是针对这样的场景(最简单的形式):
| 一 | 乙 | 丙 | |---|---|-----------|-----------| | 1 | | 4 | 2 | |---|---|-----------|-----------| | 2 | 1 | =$A2 + B1 | =$A2 + C1 |
想法是将公式上方的值添加到公共值 $A2。您可以将单元格 B2 复制到 C2,而无需手动更新公式;$A2 将保留为 $A1,而 B1 将更新为 C1。现在,如果我想将整个块 A1:C2 复制到其他位置,则分别在 B2 和 C2 中粘贴的公式(如前面的示例一样)仍将引用 $A2,而我希望它们引用从中粘贴的单元格。我可以通过从一开始就不使用绝对引用来避免此问题。但是,我无法再将单元格 B2 复制到 C2,因为那样的话 C2 会说 B2 + C1,而我想要的是 A2 + C1。
谁知道一个简单且可行的方法来解决这个问题?
顺便说一句,请注意,Excel 对绝对引用的要求并不严格;如果您剪切整列,它将更新绝对引用。如果您剪切/粘贴引用的单元格,它将更新对它的绝对引用。我认为上述场景也应该得到支持。
答案1
正如您的问题所得到的沉默所表明的那样,这实际上不可行,因为您问的是如何违反绝对引用的原则。绝对引用的要点是,无论您如何复制或填充数据,引用都保持不变,这就是它的设计目的。
最好的情况是,我为你提供了一个解决方法:
- 复制您想要复制的单元格(以及它们的源数据,如上所述)
- 粘贴将它们复制到另一张表中的相同坐标中(示例中为 A1:C2),您会发现您有一组复制的公式没有引用原始表。
- 选择您的重复区域和拖将其移动到您希望它在原始工作表上所在的坐标。这将“更新”绝对引用。
- 复制和粘贴将单元格返回到原始工作表,它们将保留其“更新”的引用。