Все пользователи* эксель и гугл-таблиц привыкли к A1-нотации, когда номер колонки кодируется буквами (от A до ZZZ), а номер строки — числом (* за исключением ретроградов, использующих R1C1 нотацию😂).
Расскажу, как легко конвертировать буквенный номер столбца в числовой и обратно!
От ссылки на ячейку к номеру столбца
Все просто! Есть встроенная функция КОЛОНКА (COLUMN), которая возвращает номер колонки. Если вызвать ее без аргументов, она возвращает номер колонки для ячейки, в которой она указана. Если вызвать ее с ссылкой на ячейку, она вернет номер указанной колонки.
От букв к номеру
Укажем в ячейке A1 (и ниже) названия столбцов, которые мы хотим преобразовать в числовое представлением. Тогда формула в B1 (и ниже) будет выглядеть так:
=КОЛОНКА(ДВССЫЛ(A1&1))
=COLUMN(INDIRECT(A1&1))
Разберем, как работает эта формула.
A1&1 — это слияние двух строк. К строке в ячейке A1 дописывается строка "1". Кстати, вместо "1" может быть любое число, оно ни на что не влияет, и нужно только для того, чтобы сделать правильный указатель на ячейку.
ДВССЫЛ(A1&1) — преобразует название ячейки в виде текста в рабочую ссылку на саму ячейку.
Наконец, КОЛОНКА(ДВССЫЛ(A1&1)) возвращает номер колонки. Что нам и нужно было.
От номера к буквам
Перейти от номера к буквам тоже несложно. Продолжим табличку, которую начали в предыдущем разделе и в C1 напишем формулу (точно также ее можно копировать вниз):
=ПОДСТАВИТЬ(АДРЕС(1, B1, 4), "1", "")
=SUBSTITUTE(ADDRESS(1,B1,4),"1","")
Разберем эту формулу:
АДРЕС - возвращает в строчном виде адрес ячейки, заданной координатами. Первый параметр номер строки (1), второй параметр - номер колонки (в ячейке B1), третий параметр - тип адреса абсолютный или относительный. 4 - это относительный (без знаков $)
ПОДСТАВИТЬ - замена части текста на другой. Мы меняем текст, возвращаемый функцией АДРЕС - она вернет "M1" для первой строки, "AA1" для второй и так далее. Первый параметр - исходный текст. Второй параметр - какие вхождения подстроки мы хотим заменить. Третий параметр - на что меням вхождения подстроки. В этой формуле мы меняем "1" на пустую строку.