Як перетворити номер стовпця Excel на літеру

  • Поділитися Цим
Michael Brown

У цьому уроці ми розглянемо, як змінити номери стовпців Excel на відповідні алфавітні символи.

При побудові складних формул в Excel іноді може виникнути необхідність отримати букву стовпця з певної комірки або з заданого числа. Це можна зробити двома способами: за допомогою вбудованих функцій або користувацьким.

    Як перетворити номер стовпця в алфавіт (однолітерні стовпці)

    Якщо назва колонки складається з однієї літери, від А до Я, її можна отримати за допомогою цієї простої формули:

    CHAR(64 + col_number )

    Наприклад, для перетворення числа 10 в літеру стовпчика, формула має вигляд:

    =CHAR(64 + 10)

    Також можна ввести число в якусь комірку і посилатися на цю комірку у своїй формулі:

    =CHAR(64 + A2)

    Як працює ця формула:

    Функція CHAR повертає символ на основі коду символу в наборі ASCII. ASCII-значення прописних літер англійського алфавіту - від 65 (A) до 90 (Z). Таким чином, щоб отримати код символу прописної літери A, потрібно до 64 додати 1; щоб отримати код символу прописної літери B, потрібно до 64 додати 2 і так далі.

    Як перетворити номер стовпця Excel в букву (будь-якого стовпця)

    Якщо ви шукаєте універсальну формулу, яка працює для будь-якого стовпця в Excel (1 буква, 2 букви і 3 букви), то вам доведеться використовувати трохи складніший синтаксис:

    ЗАМІНА(АДРЕСА(1, col_number , 4), "1", "")

    З літерою стовпчика в А2 формула набуває такого вигляду:

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

    Як працює ця формула:

    Спочатку будується адреса комірки з номером стовпця, що цікавить. Для цього у функцію АДРЕСА передаються наступні аргументи:

    • 1 за row_num (номер рядка не має особливого значення, тому можна використовувати будь-який).
    • A2 (комірка, що містить номер стовпчика) для column_num .
    • 4 за abs_num аргумент для повернення відносного посилання.

    При наведених вище параметрах функція ADDRESS повертає в якості результату текстовий рядок "А1".

    Оскільки нам потрібна тільки буква стовпчика, то номер рядка видаляємо за допомогою функції ЗАМЕНА, яка шукає в тексті "А1" "1" (або будь-який номер рядка, який ви задали у функції АДРЕСА) і замінює його на порожній рядок ("").

    Отримати літеру стовпця з номера стовпця за допомогою користувацької функції Користувацька функція

    Якщо вам потрібно регулярно перетворювати номери стовпців в алфавітні символи, то користувальницька функція (UDF) може значно заощадити ваш час.

    Код функції досить простий і зрозумілий:

    Public Function ColumnLetter(col_num) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End Function

    Тут ми використовуємо Клітини для посилання на комірку в рядку 1 і вказаний номер стовпця та властивість Адреса повертає рядок, що містить абсолютне посилання на цю комірку (наприклад, $A$1). Потім функція Split розбиває повернутий рядок на окремі елементи, використовуючи знак $ як роздільник, і ми повертаємо елемент (1), який є літерою стовпчика.

    Вставте код в редакторі VBA, і ваш новий ColumnLetter Функція готова до використання. Детальну інструкцію див. у статті: Як вставити код VBA в Excel.

    З точки зору кінцевого користувача, синтаксис функції дуже простий:

    ColumnLetter(col_num)

    Де col_num номер стовпця, який потрібно перетворити на літеру.

    Ваша реальна формула може виглядати наступним чином:

    =ColumnLetter(A2)

    І вона поверне точно такі ж результати, як і вбудовані функції Excel, розглянуті в попередньому прикладі:

    Як отримати літеру стовпця певної комірки

    Для визначення літери стовпчика певної комірки, використовуйте функцію СТАВКА для отримання номера стовпчика, і передайте цей номер функції АДРЕСА. Повна формула набуде такого вигляду:

    SUBSTITUTE(ADDRESS(1, COLUMN( адреса комірки ), 4), "1", "")

    Як приклад, знайдемо літеру стовпчика комірки С5:

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

    Очевидно, що результат - трійка :)

    Як отримати літеру стовпчика поточної комірки

    Для відпрацювання букви поточної комірки формула майже така ж, як і в наведеному вище прикладі. Єдина відмінність полягає в тому, що функція СЧЕТЧИК() використовується з порожнім аргументом для посилання на комірку, де знаходиться формула:

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

    Як створити посилання на динамічний діапазон з номера стовпця

    Сподіваємося, що попередні приклади дали вам нові теми для роздумів, але ви можете задатися питанням про практичне застосування.

    У цьому прикладі ми покажемо, як використовувати формулу "номер стовпця в букву" для вирішення реальних завдань. Зокрема, ми створимо динамічну формулу XLOOKUP, яка буде витягувати значення з певного стовпця на основі його номера.

    Припустимо, що з наведеної нижче таблиці ви хочете отримати показник прибутку для даного проекту (H2) та тижня (H3).

    Для виконання завдання потрібно надати XLOOKUP діапазон, з якого потрібно повертати значення. Оскільки у нас є тільки номер тижня, який відповідає номеру стовпця, то спочатку перетворимо його в букву стовпця, а потім побудуємо посилання на діапазон.

    Для зручності розбиваємо весь процес на 3 простих кроки.

    1. Перетворення номера стовпця в літеру

      З номером колонки в H3 за допомогою вже знайомої формули змініть його на алфавітний символ:

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

      Порада: Якщо номер у вашому наборі даних не відповідає номеру стовпчика, обов'язково зробіть необхідну корекцію. Наприклад, якщо у нас є дані за тиждень 1 у стовпчику B, дані за тиждень 2 у стовпчику C і т.д., то ми використаємо H3+1, щоб отримати правильний номер стовпчика.

    2. Побудувати рядок, що представляє посилання на діапазон

      Щоб побудувати посилання на діапазон у вигляді рядка, необхідно об'єднати літеру стовпця, що повертається вищенаведеною формулою, з номерами першого та останнього рядків. У нашому випадку комірки з даними знаходяться в рядках з 3 по 8, тому ми використовуємо цю формулу:

      =SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"

      Враховуючи, що Н3 містить "3", яка перетворюється на "С", наша формула зазнає наступної трансформації:

      ="C"&"3:"&"C"&"8"

      І видає рядок С3:С8.

    3. Зробіть еталонний динамічний діапазон

      Для перетворення текстового рядка в коректне посилання, яке розуміє Excel, вкладіть наведену вище формулу в функцію НЕПРЯМА, а потім передайте її в 3-й аргумент XLOOKUP:

      =XLOOKUP(H2, E3:E8, INDIRECT(H4, "Не знайдено"))

      Щоб позбутися зайвої комірки, що містить рядок діапазону повернення, можна помістити формулу ПІДСТАНОВКА АДРЕСИ в саму функцію НЕПРЯМА:

      =XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found")

    З нашою спеціальною функцією ColumnLetter ви можете отримати більш компактне та елегантне рішення:

    =XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Не знайдено")

    Ось так можна знайти букву стовпчика за числом в Excel. Дякую за прочитання і чекаю вас на нашому блозі наступного тижня!

    Практичний посібник для завантаження

    Переклад стовпця Excel з номера на літеру - приклади (файл .xlsm)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.