Вы можете легко определить числовой столбец ячейки с помощью функции 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)
Ячейка, на которую ссылается вызов функции, является ячейкой ( любая ячейка) в столбце, букву которого вы хотите узнать. Функция находит этот адрес для этой ячейки и удаляет все, кроме обозначения столбца. Возвращается текстовая строка, состоящая из обозначения столбца.