![Excel 水平复制公式](https://linux22.com/image/1434437/Excel%20%E6%B0%B4%E5%B9%B3%E5%A4%8D%E5%88%B6%E5%85%AC%E5%BC%8F.png)
在第 1 行,AI 列上有 =Sheet!1K2,在 BI 列上有 =Sheet!1K3,在 C 列上有 =Sheet!1K3 等等。
在第 2 行、AI 列上有 =Sheet!1L2,在 BI 列上有 =Sheet!1L3,在 C 列上有 =Sheet!1L3 等等。
我尝试使用相同的公式复制它们,但当我从第 1 行复制到第 2 行时,行引用会发生变化。例如,如果我从第 2 行 A 列复制到第 3 行 A 列,粘贴的内容是 =Sheet!1L3,而不是我想要的 =Sheet!1M2。
换句话说,我想要的是水平复制公式应该更新垂直(行)引用而不是水平(列)引用。
如何复制它们而不必手动更改列和行引用?
答案1
我不确定我是否完全理解您想要的效果,但如果您希望能够复制(或拖动以扩展)公式同时保持某些引用相同,则可以在列或行(或两者)标识符前加上符号$
。
例如,如果您将单元格 A1 中的=B3
公式复制到单元格 A2 中,公式将变为固定的,=B4
因为引用已更新以反映新位置。如果您同样从单元格 A1 开始=B$3
并执行相同的复制操作,公式将保持不变,=B$3
因为$
符号(附加在3
它后面)强制固定引用。
列引用也一样。例如,=$B3
在 A1 中复制到 B1 会变成=$B3
而不是=C3
。=$B3
在 A1 中复制到 A2 会变成=$B4
因为只有行引用被更新。
要锁定行和列引用,请在两者前加上$
符号。例如,=$B$3
。
这在单元格引用有效的任何地方都有效(或至少应该有效)。
答案2
可以使用函数解决此问题OFFSET
,并COLUMNS
在新工作表中填写时进行计数。将以下内容粘贴到新工作表的 A1 中:
=OFFSET(Sheet1!$K$3,COLUMNS($A$1:A1)-1,0)
该OFFSET
函数从您指定的单元格开始,然后从该单元格右侧或下方查找给定数量的单元格以检索不同的结果。COLUMNS($A$1:A1)-1
计算您在新工作表中填充的列数(减去一列,因此第一列使用零偏移量)。当您正确填写此公式时,它将从其Sheet1!$K$3
下方的行开始并检索。