1

Я решил проблему, но мне интересно, есть ли лучший способ сделать это. У меня есть столбец с некоторыми именованными диапазонами ("ИМЯ"), и я хочу получить формулу справа, которая ищет именованный диапазон и дает мне ссылку на ячейку ("C352").

Я в конце концов решил это с этим:

=CHAR(64+COLUMN(INDIRECT(C2, FALSE)))&ROW(INDIRECT(C2, FALSE))

Часть CHAR предназначена для перевода номера столбца (3) в букву (C), и она не работает после столбца Z.

Это не должно быть лучшим способом сделать это. Я видел некоторые решения VBA, это единственный возможный способ сделать это лучше?

3 ответа3

3

Если вы можете жить с $ в ссылке, вы можете использовать:

=CELL("address",INDIRECT(C1))

или же:

=SUBSTITUTE(CELL("address",INDIRECT(C1)),"$",)

сбросить

2
=ADDRESS(ROW(INDIRECT(C2, FALSE)), COLUMN(INDIRECT(C2, FALSE)), abs_num)

где abs_num равно 1 для возврата абсолютного адреса (например, « $C$352 »), 4 для возврата относительного адреса (например, « C352 ») или 2 для « C$352 », или 3 для « $C352 ». (по умолчанию abs_num равен 1 (т.е. абсолютный), если не указан .)

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .