Буквенное обозначение столбца

Автор: | 14.05.2021

Вы можете легко определить числовой столбец ячейки с помощью функции COLUMN. Все, что вам нужно сделать, это поместить такую ​​формулу в ячейку, и результатом будет значение, где A = 1, B = 2 и т. Д .:

 = COLUMN () 

Что, если вам нужно буквенное значение, а не числовое значение? Это можно сделать любым из нескольких способов. Например, следующая формула будет очень хорошо работать для первых 26 столбцов, от A до Z:

 = CHAR (COLUMN () + 64) 

Это работает, потому что буквы от A до Z используют коды символов от 65 до 90. Когда COLUMN возвращает значение для столбцов от A до Z (с 1 по 26), это можно добавить к 64, чтобы получить буквы этих столбцов, с 65 по 90.

Конечно, это решение не сработает, если вы хотите знать буквенные обозначения столбцов за пределами Z. Поскольку столбец в Excel может иметь до трех цифр (Excel может использовать столбцы до XFD), другой подход к поиску букв столбца следующий:

 = LEFT (ADDRESS (1, COLUMN (), 4), LEN (ADDRESS (1, COLUMN (), 4)) - 1) 

Функция АДРЕС возвращает адрес определенной ячейки. В этом случае он возвращает адрес ячейки в первой строке текущего столбца. Таким образом, если формула находится в ячейке BF27, она возвращает BF1. Формула использует функцию LEFT, чтобы вернуть правильное количество крайних левых символов в адресе за вычетом числа 1 для строки.

В еще более короткой версии формулы вместо этого используется функция ПОДСТАВИТЬ функции LEFT:

 = SUBSTITUTE (ADDRESS (1, COLUMN (), 4), 1, "") 

Конечно, вы также можете использовать решение на основе макросов, если хотите. Следующий макрос будет работать с одно-, двух- или трехсимвольными столбцами:

 Функция AlphaCol (c As Range) As String Dim sTemp As String Dim ad1 As String ad1 = c.Address sTemp = Mid (  ad1, InStr (ad1, "$") + 1, InStr (2, ad1, "$") - 2) AlphaCol = sTempEnd Function 

Макрос является определяемой пользователем функцией, что означает что вы можете использовать его в своих таблицах, просто добавив это в любую ячейку:

 = AlphaCol (J12) 

Ячейка, на которую ссылается вызов функции, является ячейкой ( любая ячейка) в столбце, букву которого вы хотите узнать. Функция находит этот адрес для этой ячейки и удаляет все, кроме обозначения столбца. Возвращается текстовая строка, состоящая из обозначения столбца.