![如何使用绝对公式相对地自动填充 Excel 单元格](https://linux22.com/image/1614071/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E7%BB%9D%E5%AF%B9%E5%85%AC%E5%BC%8F%E7%9B%B8%E5%AF%B9%E5%9C%B0%E8%87%AA%E5%8A%A8%E5%A1%AB%E5%85%85%20Excel%20%E5%8D%95%E5%85%83%E6%A0%BC.png)
我有两张“数据”和“主”工作表,其中“数据”电子表格从外部源读取并自动更新。现在已设置“主”工作表,以便每个单元格引用“数据”工作表中的相应单元格,即“主”工作表中的 A1 读取=IF(data!A1<>0, data!A1, "")
,并且我已将这些公式扩展到 A 列。
问题是,当“数据”表从其外部数据源读取时,它可能会改变大小,最终会改变“主”表中的某些单元格引用。因此,我理想情况下希望设置以下内容:
main!A1 = IF(data!$A$1<>0, data!$A$1, "")
main!A2 = IF(data!$A$2<>0, data!$A$2, "")
main!A3 = IF(data!$A$3<>0, data!$A$3, "")
- 等等等等...
但是,一旦我在公式中引入绝对引用,自动填充似乎就不再起作用了。我有什么办法可以改变它的运行方式,让自动填充正常工作吗?我最好不要使用宏/VBA 来解决这个问题。
答案1
您可以使用当前行来建立列中的行引用。
=IF(INDEX(Data!$A:$A, ROW())<>0, INDEX(Data!$A:$A, ROW()), "")
这应该填充并保留对数据工作表的交叉引用。