我解决了这个问题,但我想知道是否有更好的方法。我有一列一些命名范围(“NAME”),我想要一个右边的公式来查找命名范围并提供单元格引用(“C352”)。
我最终用这个解决了它:
=CHAR(64+COLUMN(INDIRECT(C2, FALSE)))&ROW(INDIRECT(C2, FALSE))
CHAR 部分是将列号 (3) 转换为字母 (C),并且它对 Z 列之后的部分不起作用。
这不应该是最好的方法。我看到了一些 VBA 解决方案,这是唯一可能做得更好的方法吗?
答案1
=ADDRESS(ROW(INDIRECT(C2)),COLUMN(INDIRECT(C2)),4,1)
怎么运行的
INDIRECT(C2)
返回由 指定的引用地址C2
。本例中为命名范围所引用的范围。ROW( ... )
返回指定单元格的行COLUMN( ... )
列同上ADDRESS( r, c, 4, 1)
返回地址或行r
、列c
。4
表示相对(即没有$
。1
表示A1
样式。因此 将是符号ADDRESS(ROW( ... ),COLUMN( ... ),4,1)
中命名范围的地址A1
答案2
如果您可以接受参考文献中的$,则可以使用:
=CELL("address",INDIRECT(C1))
或者:
=SUBSTITUTE(CELL("address",INDIRECT(C1)),"$",)
放弃美元
答案3
=地址(行(间接(C2,FALSE)),列(间接(C2,FALSE)),绝对值)
在哪里绝对值为 1 表示返回绝对地址(例如“ $C$352
”),为 4 表示返回相对地址(例如“ C352
”),为 2 表示“ C$352
”,为 3 表示“ $C352
”。(绝对值如果省略,则默认为 1(即绝对值)。