Буквенное обозначение столбца (Microsoft Excel)
Вы можете легко определить числовой столбец ячейки, используя функцию 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 может использовать столбцы до IV.)
Эта формула будет работать для столбцов с одним и двумя символами:
=IF(COLUMN()<27,CHAR(COLUMN()+64),CHAR((COLUMN()/26)+64)& CHAR(MOD(COLUMN(),26)+64))
Как видите, когда в столбце используется несколько символов, формула довольно быстро становится длинной. Однако вы можете сделать формулу короче, используя функцию, отличную от COLUMN. Рассмотрим эту формулу, которая в первую очередь зависит от функции АДРЕС:
=LEFT(ADDRESS(1,COLUMN(),4),(COLUMN()>26)+1)
Функция АДРЕС возвращает адрес конкретной ячейки. В этом случае он возвращает адрес ячейки в первой строке текущего столбца. Таким образом, если формула находится в ячейке BF27, она возвращает BF1.
В формуле используется функция LEFT, чтобы вернуть правильное количество крайних левых символов в адресе за вычетом числа 1 в строке.
В еще более короткой версии формулы используется функция ЗАМЕНА вместо функции LEFT:
=SUBSTITUTE(ADDRESS(ROW(),COLUMN(),4),ROW(),"")
Эта версия использует функцию СТРОКА для объединения адресов, а затем удаляет значение СТРОКА из результата функции АДРЕС.
Конечно, вы также можете использовать решение на основе макросов, если хотите. Следующий макрос будет работать с любым столбцом на вашем листе:
Function AlphaCol() As String Dim J As Integer Dim K As Integer Dim iDiv As Integer Dim sTemp As String Application.Volatile J = Selection.Column iDiv = 26 ^ 2 sTemp = "" While J > 0 K = Int(J / iDiv) If K > 0 Then sTemp = sTemp & Chr(K + 64) J = J - (K * iDiv) iDiv = iDiv / 26 Wend AlphaCol = sTemp End Function
Макрос — это функция, определяемая пользователем, а это означает, что вы можете использовать ее в своих таблицах, просто добавив ее в любую ячейку:
=AlphaCol()
Возвращается текстовая строка, состоящая из обозначения столбца.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3254) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздние версии) здесь:
link: / excelribbon-Alphabetic_Column_Designation [Буквенное обозначение столбца]
.