我尝试了一些公式和谷歌搜索,但找不到任何能解决我的问题的东西。为了简单起见,如附图所示,我如何垂直向下拖动公式,同时继续公式中的水平单元格引用
?
如图所示 - 公式垂直方向 - 绿色箭头,而沿着水平单元格 - 橙色箭头。
非常感谢!
答案1
您可以使用该OFFSET
函数来指定单元格相对于单元格的偏移量A1
。即使公式被向下复制,这仍然可以是水平偏移。例如,B2
在屏幕截图中插入到单元格中的以下公式在向下复制时将向右偏移(它使用 A 列中的数字作为偏移值):
=OFFSET($A$1, 0, A2)
答案2
带有索引的非易失性建议:
=A2-INDEX($1:$1,ROW(A2))
偏移量是不稳定的,会导致整个工作簿在更改任何单元格时重新计算。这会导致包含许多公式的大型文件运行缓慢。
解释(请求澄清后):
第一行的数据从 B 列(即第二列)开始。上面的 Index() 函数查看整个第 1 行,然后指向第二列,因为函数 Row(A2) 返回值2
。
如果将公式往下拖,Row(A2)
位就会变成,并且返回Row(A3)
数字,因此 Index 将返回第 1 行的第三列。3
要将此场景调整为其他设置,您需要检查设置。第 1 行中的哪一列包含第一个数据值?第二列、第三列还是第 n 列?
第一个值的列号就是 Row() 函数引用中的数字部分所需的值。如果您的数据从第 2 列开始,则它将是Row(A2)
。如果您的数据从第 7 列开始,则它将需要Row(A7)
。然后向下拖动以让 Excel 调整相对引用。
最重要的是你要正确输入起始数字。
答案3
您所描述的是通过在要固定的地址部分(行和/或列)前面加上前缀来完成的$
。因此,如果您想将公式向下拖动并使下一个单元格为=A3-B1
,则要固定的是 B 列中的第 1 行引用。您可以制作 B2 单元格公式=A2-B$1
。当您在同一列中向下拖动时,A2 引用将增加,但 B1 引用不会增加。
如果您希望能够拖动,那么右侧的下一个单元格将包含=A2-C1
,这是您要锁定的 A 列引用。第一个单元格中的公式将是=$A2-B1
。
如果您想要水平和垂直拖动来以这种方式填充整个表格,则第一个单元格将是=$A2-B$1
。当您移动时水平,唯一会改变的是 B 列引用。移动垂直,唯一会改变的是第 2 行的引用。