Змест
У гэтым уроку мы разгледзім, як змяніць нумары слупкоў Excel на адпаведныя літары.
Пры стварэнні складаных формул у Excel вам часам можа спатрэбіцца атрымаць слупок літара пэўнай ячэйкі або з зададзенага ліку. Гэта можна зрабіць двума спосабамі: з дапамогай убудаваных функцый або карыстальніцкіх.
Як перавесці нумар слупка ў алфавіт (слупкі з адной літары)
У выпадку Імя слупка складаецца з адной літары ад A да Z, вы можаце атрымаць яго з дапамогай гэтай простай формулы:
CHAR(64 + col_number)Напрыклад, каб пераўтварыць лік 10 у літара слупка, формула:
=CHAR(64 + 10)
Таксама можна ўвесці лік у нейкую ячэйку і спасылацца на гэтую ячэйку ў сваёй формуле:
=CHAR(64 + A2)
Як працуе гэтая формула:
Функцыя CHAR вяртае сімвал на аснове кода сімвала ў наборы ASCII. Значэнні ASCII для вялікіх літар англійскага алфавіту складаюць ад 65 (A) да 90 (Z). Такім чынам, каб атрымаць код сімвала вялікай літары A, вы дадаеце 1 да 64; каб атрымаць код знака ў верхнім рэгістры B, трэба дадаць 2 да 64 і гэтак далей.
Як пераўтварыць нумар слупка Excel у літару (любы слупок)
Калі вы шукаеце універсальны формула, якая працуе для любога слупка ў Excel (1 літара, 2 літары і 3 літары), то вам трэба будзе выкарыстоўваць крыху больш складаны сінтаксіс:
ПАДСТАВІЦЬ (АДРАС (1, нумар_слупка, 4) ), "1", "")Злітара слупка ў A2, формула прымае наступны выгляд:
=SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")
Як працуе гэтая формула:
Спачатку вы ствараеце адрас ячэйкі з нумарам слупка, які вас цікавіць. Для гэтага задайце наступныя аргументы функцыі ADDRESS:
- 1 для нумар_радка (нумар радка не мае значэння, таму вы можаце выкарыстоўваць любы).
- A2 (ячэйка, якая змяшчае нумар слупка) для column_num .
- 4 для аргумента abs_num для вяртання адноснай спасылкі.
З прыведзенымі вышэй параметрамі функцыя ADDRESS вяртае тэкставы радок "A1" у якасці выніку.
Паколькі нам патрэбна толькі літара слупка, мы выдаляем нумар радка з дапамогай функцыі SUBSTITUTE, якая шукае "1" (ці любы іншы нумар радка, які вы жорстка закадзіравалі ў функцыі ADDRESS) у тэксце "A1" і замяняе яго пустым радком ("").
Атрымаць літару слупка з нумара слупка з дапамогай карыстальніцкай функцыі Карыстальніцкая функцыя
Калі вам трэба рэгулярна пераўтвараць нумары слупкоў у алфавітныя сімвалы, карыстальніцкая функцыя, вызначаная карыстальнікам (UDF), можа значна зэканоміць ваш час.
Код функцыі даволі прыгожы просты і зразумелы:
Public Function ColumnLetter(col_nu m) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End FunctionТут мы выкарыстоўваем уласцівасць Cells для спасылкі на ячэйку ў радку 1 і зададзены нумар слупка і ўласцівасць Address для вяртання aрадок, які змяшчае абсалютную спасылку на гэтую ячэйку (напрыклад, $A$1). Затым функцыя Split разбівае вернуты радок на асобныя элементы, выкарыстоўваючы знак $ у якасці падзельніка, і мы вяртаем элемент (1), які з'яўляецца літарай слупка.
Устаўце код у рэдактар VBA і ваш новая функцыя ColumnLetter гатовая да выкарыстання. Для атрымання падрабязных інструкцый, калі ласка, глядзіце: Як уставіць код VBA ў Excel.
З пункту гледжання канчатковага карыстальніка, сінтаксіс функцыі вельмі просты:
Дзе col_num - гэта нумар слупка, які вы хочаце пераўтварыць у літару.
Ваша рэальная формула можа выглядаць наступным чынам:
=ColumnLetter(A2)
І яна верне дакладна тыя ж вынікі, што і ўласныя функцыі Excel, разгледжаныя ў папярэднім прыкладзе:
Як атрымаць літару слупка пэўнай ячэйкі
Каб вызначыць літару слупка ў канкрэтнай ячэйкі, выкарыстоўвайце функцыю COLUMN, каб атрымаць нумар слупка, і перадайце гэты нумар функцыі ADDRESS. Поўная формула будзе мець такую форму:
ПАДСТАВІЦЬ(АДРАС(1, Слупок( адрас_ячэйкі), 4), "1", "")У якасці прыкладу давайце знойдзем літару ў слупку ячэйкі C5:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
Відавочна, вынік "C" :)
Як атрымаць літару слупка бягучага клетка
Каб вылічыць літару бягучай ячэйкі, формула амаль такая ж, як у прыведзеным вышэй прыкладзе. Адзіная розніца ў тым, што функцыя COLUMN().выкарыстоўваецца з пустым аргументам для спасылкі на ячэйку, дзе формула:
=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")
Як стварыць спасылку на дынамічны дыяпазон з нумара слупка
Спадзяемся, папярэднія прыклады далі вам некаторыя новыя тэмы для разважанняў, але вы можаце задацца пытаннем аб практычных прымяненнях.
У гэтым прыкладзе мы пакажам вам, як выкарыстоўваць "нумар слупка да літары » Формула рашэння рэальных жыццёвых задач. У прыватнасці, мы створым дынамічную формулу XLOOKUP, якая будзе атрымліваць значэнні з пэўнага слупка на аснове яго нумара.
Выкажам здагадку, што з прыкладу табліцы ніжэй вы хочаце атрымаць лічбу прыбытку для дадзенага праекта (H2 ) і тыдзень (H3).
Каб выканаць задачу, вам трэба прадаставіць XLOOKUP дыяпазон значэнняў, з якога трэба вяртаць. Паколькі ў нас ёсць толькі нумар тыдня, які адпавядае нумару слупка, мы збіраемся спачатку пераўтварыць гэты лік у літару слупка, а потым пабудаваць спасылку на дыяпазон.
Для зручнасці давайце разбяром увесь працэс. у 3 простыя крокі.
- Пераўтварыце нумар слупка ў літару
З нумарам слупка ў H3 выкарыстоўвайце ўжо знаёмую формулу, каб змяніць яго на алфавітны характар:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")
Савет. Калі лік у вашым наборы даных не супадае з нумарам слупка, абавязкова ўнясіце неабходную карэкцыю. Напрыклад, калі б у нас былі даныя тыдня 1 у слупку B, даныя тыдня 2 у слупку C іі гэтак далей, тады мы будзем выкарыстоўваць H3+1, каб атрымаць правільны нумар слупка.
- Стварыце радок, які прадстаўляе спасылку на дыяпазон
Каб пабудаваць спасылку на дыяпазон у выглядзе радка, вы аб'ядноўваеце літару слупка, якую вяртае прыведзеная вышэй формула, з першай і нумары апошняга радка. У нашым выпадку ячэйкі з данымі знаходзяцца ў радках з 3 па 8, таму мы выкарыстоўваем наступную формулу:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Улічваючы, што H3 утрымлівае "3", якое ператвараецца ў "C", наша формула перажывае наступнае пераўтварэнне:
="C"&"3:"&"C"&"8"
І стварае радок C3:C8.
- Зрабіць спасылка на дынамічны дыяпазон
Каб пераўтварыць тэкставы радок у сапраўдную спасылку, якую Excel можа зразумець, укладзіце прыведзеную вышэй формулу ў функцыю INDIRECT, а затым перадайце яе 3-му аргументу XLOOKUP:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")
Каб пазбавіцца ад лішняй ячэйкі, якая змяшчае радок дыяпазону вяртання, вы можаце размясціць формулу ЗАМЕНА АДРАС у самой функцыі УСКОСНЫЯ:
=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"), "Not found")
Гэта як знайсці літару слупка з ліку ў Excel. Я дзякую вам за чытанне і з нецярпеннем чакаю сустрэчы з вамі ў нашым блогу на наступным тыдні!
Практычны сшытак для спампоўкі
Слупок Excel да літары - прыклады (файл .xlsm)