我使用Excel多年,所以我熟悉绝对和相对的引用。
今天我有一个很大的惊喜,那就是对于一行很好地工作的引用不适用于下一行。
细胞AN53的内容:
=TEXT(INDEX(A53:$AK$54;1;0+$B$61);"#.#;#.#;0")&AV53 & ", "&TEXT(INDEX(A53:$AK$54;1;1+$B$61);"#.#;#.#;0")&AW53
将一个单元格复制到AN54会得到预期的结果:
=TEXT(INDEX(A54:$AK$54;1;0+$B$61);"#.#;#.#;0")&AV54 & ", "&TEXT(INDEX(A54:$AK$54;1;1+$B$61);"#.#;#.#;0")&AW54
现在复制到AN55给出了
=TEXT(INDEX(A$54:$AK55;1;0+$B$61);"#.#;#.#;0")&AV55 & ", "&TEXT(INDEX(A$54:$AK55;1;1+$B$61);"#.#;#.#;0")&AW55
' ^^^^^^^^^^ ^^^^^^^^^^
显然Excel对我的引用做了一些非常奇怪的事情。 A54没有成为A55但是54美元,AK $ 54没有留下$ AK $ 54但是变成了AK55!另一方面,一切都适用于AV54和AW54以及$ B $ 61。
我检查了Microsoft页面,但是我没有看到非矩阵索引函数的第一个参数有什么特别之处。 在MrExcel和chandoo上,我看到了相关参考的一些问题,但不完全是我需要的。
任何想法可能是什么原因?我的工作表上是否有一个不可见的区域限制相对参考并影响绝对参考?
仅供参考:与自动填充相同的奇怪行为。