필요한 툴을, 바로 쓸 수 있게

엑셀 열 문자·번호 변환기

열 문자 칸이나 열 번호 칸 중 아는 쪽에 넣으면 다른 칸이 바로 바뀝니다. A~Z가 1~26번째이고 Z 다음은 AA(27번째), Excel의 마지막 열 XFD는 16,384번째입니다. AA10 같은 셀 주소나 R10C27 같은 R1C1 주소도 읽고, 아래 시트 머리글 띠에서 앞뒤 열과 표 범위 안 순번을, 수식 칸에서 지금 열로 채운 COLUMN·ADDRESS 식과 VBA·Python 코드를 보여 줍니다.

최종 수정 2026-10-21계산은 브라우저 안에서만 처리

자주 찾는 열

시트 머리글머리글을 누르거나 ← → 키로 한 열씩 옮깁니다

자릿값 풀이글자마다 A=1 … Z=26, 자리마다 26배

0을 뜻하는 글자가 없어서 Z(26) 다음 열은 BA가 아니라 AA(27)입니다.

시트 안 위치로그 눈금, 글자 수마다 한 구간
  • Excel 97–2003 (.xls)IV열(256) · 65,536행까지
  • Excel 2007 이후 (.xlsx)XFD열(16,384) · 1,048,576행까지

수식·코드로 바꾸기지금 고른 열로 채워집니다

    여러 개 한꺼번에한 줄에 하나씩, 또는 탭·쉼표·공백으로 나눠 붙여 넣으세요. 문자와 번호를 섞어도 됩니다

    예시

    최종 수정 2026-10-21입력값은 저장하지 않습니다

    ROBERIN 기준필요한 툴을,
    바로 쓸 수 있게.
    • 바로 보이는 화면입력 위치와 결과 위치를 또렷하게 둡니다.
    • 결과 먼저핵심 결과를 앞에 두고, 과정은 필요할 때만 보여줍니다.
    • 요구 줄이기가입이나 불필요한 정보 입력 없이 바로 쓰게 합니다.

    AA는 27번째 열, 엑셀의 마지막 열 XFD는 16,384번째 열입니다

    엑셀 열 문자는 A부터 Z까지 26개 글자를 쓰고, Z 다음부터는 AA, AB처럼 두 글자로, ZZ 다음부터는 AAA처럼 세 글자로 늘어납니다. 그래서 A는 1번째, Z는 26번째, AA는 27번째, ZZ는 702번째, AAA는 703번째 열입니다. Microsoft가 밝힌 Excel 워크시트 크기는 1,048,576행 × 16,384열이므로, 지금 쓰는 Excel의 마지막 열 XFD가 16,384번째 열입니다.

    위 변환기는 열 문자 칸과 열 번호 칸이 서로 따라 바뀝니다. AA10이나 $AA$10 같은 셀 주소, R10C27 같은 R1C1 주소를 넣어도 열을 읽어 번호로 바꾸고 행 번호와 R1C1 표기를 함께 보여 줍니다. 시트 머리글 띠에서 앞뒤 열을 보며 옮겨 다닐 수 있고, 표 범위를 넣으면 VLOOKUP에 넣을 범위 안 순번을, 아래 칸에서는 지금 열로 채운 수식·VBA·Python 코드를 확인할 수 있습니다. 목록 여러 개는 '여러 개 한꺼번에' 칸에서 같은 순서로 한 번에 바꿉니다.

    열 문자와 번호를 오가야 하는 상황

    • VLOOKUP·INDEX에 열 번호를 넣을 때: VLOOKUP의 셋째 인수는 시트 전체가 아니라 고른 범위의 첫 열을 1로 센 순번입니다. 범위가 C열에서 시작하면 F열은 6번째가 아니라 4번째이므로, 시트 열 번호와 범위 안 순번을 따로 확인해야 합니다.
    • 매크로(VBA)에서 칸을 고를 때: VBA의 Cells(행, 열)은 열을 숫자로 받습니다. AA10 칸을 가리키려면 Cells(10, 27)로 써야 하고, 반대로 매크로가 돌려준 열 번호를 사람이 보는 머리글로 바꿔 읽어야 할 때도 많습니다.
    • 머리글이 숫자로 바뀐 시트를 받았을 때: R1C1 참조 스타일이 켜진 엑셀은 열 머리글을 1, 2, 3으로 보이고 수식 주소도 R10C27처럼 씁니다. 동료가 "27열"이라고 말하거나 이런 주소가 적힌 자료를 받았다면 AA열로 바꿔 읽어야 합니다.
    • 코드로 엑셀 파일을 다룰 때: Python의 openpyxl은 열을 1부터 세지만, pandas의 iloc이나 JavaScript 배열은 0부터 셉니다. 같은 AA열이 라이브러리에 따라 27이 되기도 하고 26이 되기도 해서, 어느 쪽 기준인지 맞추지 않으면 한 칸 옆 열을 읽게 됩니다.
    • 옛 .xls 형식으로 저장하거나 넘겨받을 때: Excel 97–2003 형식은 256번째 열인 IV열까지만 담습니다. 쓰는 열이 IV를 넘는지 미리 확인하지 않으면, .xls로 저장할 때 그 오른쪽 데이터가 빠집니다.

    쓰는 법

    1. 열 문자를 알면 왼쪽 칸에, 번호를 알면 오른쪽 칸에 넣습니다. 소문자 aa, 전각 문자 AA도 AA로 읽습니다. 방금 친 칸이 기준이고 다른 칸은 그 값을 따라 바뀝니다.
    2. 셀 주소를 그대로 붙여 넣어도 됩니다. AA10·$AA$10은 열 AA와 10행으로, R10C27은 10행·27번째 열로 읽고 결과 줄에 반대 표기를 보여 줍니다.
    3. '시트 머리글' 띠는 고른 열과 앞뒤 열을 엑셀 화면처럼 보여 줍니다. 윗줄은 평소 머리글(A1), 아랫줄은 R1C1 스타일에서 보이는 번호입니다. 머리글을 누르거나 띠를 고른 뒤 ← → 키를 누르면 한 열씩, PageUp·PageDown은 26열씩 옮깁니다.
    4. '표 범위' 칸에 B:F나 B2:F100처럼 범위를 넣으면 띠에 범위가 빗금으로 표시되고, 고른 열이 그 범위 안에서 몇 번째인지와 VLOOKUP 식을 보여 줍니다.
    5. '수식·코드로 바꾸기'에서 Excel·Google 시트, VBA, Python 탭을 고르면 지금 열로 채운 식이 나옵니다. 오른쪽 버튼으로 식만 복사할 수 있습니다.
    6. 목록이 여러 개면 '여러 개 한꺼번에' 칸에 붙여 넣습니다. 한 줄에 하나씩이든, 엑셀에서 복사한 탭 구분 행이든 같은 자리·같은 순서로 바꾸고, 바꿀 수 없는 값은 ?로 남기며 몇 행인지 알려 줍니다. '두 열로 복사'는 원래 값과 바꾼 값을 탭으로 이어 엑셀 두 열에 바로 붙일 수 있게 합니다.

    계산 방법: 0이 없는 26진법

    1. 글자 값: A = 1, B = 2, …, Z = 26으로 둡니다. 보통의 26진법은 0부터 25까지 쓰지만 열 문자에는 0에 해당하는 글자가 없습니다.
    2. 열 문자 → 번호: 왼쪽 글자부터 '지금까지 값 × 26 + 다음 글자 값'을 되풀이합니다. XFD는 X = 24, F = 6, D = 4이므로 (24 × 26 + 6) × 26 + 4 = 16,384입니다. 자릿값으로 펼치면 24 × 676 + 6 × 26 + 4 × 1 = 16,224 + 156 + 4입니다.
    3. 번호 → 열 문자: 번호에서 1을 빼고 26으로 나눈 나머지가 맨 오른쪽 글자입니다(나머지 0 = A, 25 = Z). 몫으로 같은 일을 되풀이하다가 몫이 0이 되면 멈춥니다. 703은 702 ÷ 26 = 27 나머지 0 → A, 27 − 1 = 26 ÷ 26 = 1 나머지 0 → A, 1 − 1 = 0 → A이므로 AAA입니다.
    4. 1을 빼는 이유: 0이 없어서 Z(26)는 '10'처럼 두 자리가 되지 않고 한 글자로 남습니다. 그 대신 다음 열에서 한 자리가 늘어 AA(1 × 26 + 1 = 27)가 됩니다. 1을 빼지 않고 나누면 26을 'A@'처럼 잘못 만들게 됩니다.
    5. 글자 수별 열 개수: 한 글자 열은 26개, 두 글자 열은 26 × 26 = 676개(27~702번째), 세 글자 열은 26³ = 17,576개가 가능하지만 엑셀은 XFD까지라 703~16,384번째의 15,682개만 씁니다. 위 '시트 안 위치' 눈금이 이 세 구간을 로그 눈금으로 보여 줍니다.

    열 문자·번호 대응표

    한 글자 열 (A~Z)
    열번호열번호열번호열번호
    A1H8O15V22
    B2I9P16W23
    C3J10Q17X24
    D4K11R18Y25
    E5L12S19Z26
    F6M13T20
    G7N14U21
    두 글자 열의 첫 열 (첫 글자 값 × 26 + 1)
    열번호열번호열번호열번호
    AA27HA209OA391VA573
    BA53IA235PA417WA599
    CA79JA261QA443XA625
    DA105KA287RA469YA651
    EA131LA313SA495ZA677
    FA157MA339TA521
    GA183NA365UA547
    자주 찾는 경계와 큰 번호
    열번호무엇인가
    Z26한 글자 열의 마지막
    AZ52A로 시작하는 두 글자 열의 마지막
    CV100100번째 열
    IV256Excel 97–2003(.xls)의 마지막 열
    IW257.xls에는 없는 첫 열
    ZZ702두 글자 열의 마지막
    AAA703세 글자 열의 처음
    ALL1,0001,000번째 열
    NTP10,00010,000번째 열
    XFD16,384Excel 2007 이후 형식의 마지막 열

    열 머리글이 숫자로 바뀌었을 때: R1C1 참조 스타일

    엑셀을 열었더니 열 머리글이 A, B, C가 아니라 1, 2, 3으로 나오고 수식이 =R2C3처럼 보인다면 R1C1 참조 스타일이 켜진 상태입니다. 이 스타일은 행과 열을 모두 숫자로 적고, R 뒤에 행 번호, C 뒤에 열 번호를 씁니다. Microsoft 설명서는 매크로에서 행·열 위치를 계산할 때 쓸모가 있고, 매크로를 기록하면 일부 명령이 이 스타일로 기록된다고 설명합니다.

    • Windows Excel에서 끄기: 파일 탭 → 옵션 → 수식으로 들어가 '수식 작업' 아래 'R1C1 참조 스타일' 확인란을 해제합니다.
    • Mac Excel에서 끄기: Excel 메뉴 → 기본 설정 → 계산(수식 및 목록)에서 'R1C1 참조 스타일 사용'을 해제합니다.
    • 스타일은 보기 방식만 바꿉니다: 끄고 켜도 셀의 값과 수식이 가리키는 칸은 그대로이고, 머리글과 수식의 주소 표기만 바뀝니다.
    A1 표기와 R1C1 표기
    A1 표기R1C1 표기뜻
    $AA$10R10C2710행·27번째 열(AA) 칸, 절대 참조
    $B$2R2C22행·2번째 열 칸, 절대 참조
    $C:$CC33번째 열 전체
    (지금 칸 기준)R[-2]C두 행 위, 같은 열의 칸(상대 참조)
    (지금 칸 기준)R[2]C[2]두 행 아래, 두 열 오른쪽 칸(상대 참조)

    대괄호가 붙은 R[-2]C 같은 상대 참조는 수식이 들어 있는 칸을 기준으로 정해지므로 기준 칸 없이 A1 주소로 바꿀 수 없습니다. 이 변환기는 R10C27처럼 숫자가 정해진 절대 주소만 바꿉니다.

    엑셀·Google 시트·VBA·Python에서 바꾸는 식

    AA열(27번째)을 예로 든 식
    하려는 일식결과
    열 문자 → 번호=COLUMN(AA1)27
    A2 칸에 적힌 열 문자 → 번호=COLUMN(INDIRECT(A2&"1"))27
    번호 → 열 문자=SUBSTITUTE(ADDRESS(1,27,4),"1","")AA
    행·열 번호 → A1 주소=ADDRESS(10,27,4)AA10
    행·열 번호 → R1C1 주소=ADDRESS(10,27,1,FALSE)R10C27
    VBA: 열 문자 → 번호Range("AA1").Column27
    VBA: 번호 → 열 문자Split(Cells(1, 27).Address, "$")(1)AA
    Python(openpyxl): 열 문자 → 번호column_index_from_string("AA")27
    Python(openpyxl): 번호 → 열 문자get_column_letter(27)AA
    • COLUMN은 참조한 칸의 열 번호를 돌려줍니다. 뒤의 행 번호는 결과와 상관이 없어서 =COLUMN(AA100)도 27입니다. 괄호를 비운 =COLUMN()은 수식이 들어 있는 칸의 열 번호입니다.
    • ADDRESS의 셋째 인수 4는 행·열 모두 상대 참조라는 뜻이라 $ 없이 "AA1"을 만듭니다. 넷째 인수를 FALSE로 두면 R1C1 표기로 만듭니다. Google 시트의 ADDRESS도 같은 순서와 같은 값(4 = 행·열 상대, FALSE = R1C1)을 씁니다.
    • SUBSTITUTE로 1을 지우는 식은 행을 1로 고정했기 때문에 맞습니다. =SUBSTITUTE(ADDRESS(21,27,4),"1","")처럼 다른 행을 쓰면 "AA21"에서 1만 지워져 "AA2"가 되니, 행 인수는 늘 1로 둡니다.
    • VBA의 Range.Address는 따로 정하지 않으면 "$AA$1"처럼 행과 열을 모두 절대 참조로 돌려주므로, $로 나눈 두 번째 조각이 열 문자입니다. Address(ReferenceStyle:=xlR1C1)로 부르면 R1C1 표기를 받습니다.
    • openpyxl의 두 함수는 1부터 셉니다. pandas의 iloc처럼 0부터 세는 위치가 필요하면 결과에서 1을 빼야 AA열이 26이 됩니다.

    표 범위 안에서 몇 번째 열인지 세기 (VLOOKUP·INDEX)

    VLOOKUP의 셋째 인수(열 번호)는 고른 범위의 맨 왼쪽 열을 1로 센 순번입니다. Microsoft 설명서의 예처럼 범위가 B2:D11이면 B열이 1, C열이 2입니다. 그래서 순번은 '찾을 열의 번호 − 범위 첫 열의 번호 + 1'로 구하고, 엑셀 안에서는 =COLUMN(F1)-COLUMN(C1)+1처럼 계산할 수 있습니다. INDEX의 열 번호도 같은 방식으로 셉니다.

    범위 안 순번 계산 예
    표 범위찾을 열계산순번
    C:FF6 − 3 + 14
    B2:D11C3 − 2 + 12
    Y:ADAA27 − 25 + 13
    A:ZZ26 − 1 + 126
    H:AKAF32 − 8 + 125

    범위가 A열에서 시작할 때만 순번과 시트 열 번호가 같습니다. 범위에 열을 끼워 넣거나 지우면 VLOOKUP에 숫자로 적어 둔 순번은 저절로 바뀌지 않으므로, 순번을 COLUMN 식으로 계산해 두면 더 안전합니다.

    프로그램과 파일 형식별 마지막 열

    열·행 한계(공식 문서 기준)
    프로그램·형식마지막 열열 수행 수
    Excel 2007 이후(.xlsx·.xlsm·.xlsb)XFD16,3841,048,576
    Excel 97–2003(.xls)IV25665,536
    Google 시트도움말에 열 수 한도 없음——

    Microsoft 호환성 문서는 Excel 97–2003 형식이 65,536행 × 256열이고, 그 범위를 넘는 데이터는 저장되지 않는다고 설명합니다. Google 드라이브 도움말은 Google 시트로 만들거나 변환한 스프레드시트를 셀 2,000만 개(또는 100MB)까지로 정하고, 열 수 한도는 따로 적지 않습니다. 이 변환기는 Excel 기준인 XFD(16,384번째)까지 바꿉니다.

    기준: Microsoft 'Excel 사양 및 제한'·호환성 문서, Google 드라이브 저장 한도 도움말을 2026년 10월 21일에 확인했습니다. 열 문자와 번호의 대응 자체는 정해진 계산이라 바뀌지 않습니다.

    자주 틀리는 경우

    • Z 다음을 BA로 생각하기: 십진법처럼 '9 다음 10'을 떠올리면 Z 다음을 BA로 잡기 쉽지만 실제로는 AA입니다. BA는 53번째 열입니다.
    • 시트 열 번호를 VLOOKUP 순번에 그대로 넣기: 범위가 C:F인데 F열 번호 6을 넣으면 범위의 열 수(4개)보다 커서 #REF! 오류가 납니다. 범위가 더 넓었다면 오류 없이 엉뚱한 열의 값을 가져오므로 더 알아채기 어렵습니다. 순번은 4입니다.
    • 0부터 세는 인덱스와 섞기: 코드에서 26을 받은 열이 실제로는 AA(27번째)일 수 있습니다. 이 변환기는 결과 줄에 '0부터 세면' 값을 함께 보여 줍니다.
    • SUBSTITUTE 식의 행을 바꾸기: 번호 → 문자 식에서 ADDRESS의 첫 인수를 1이 아닌 행으로 바꾸면 행 번호 속 1이 지워져 엉뚱한 글자가 남습니다.
    • 글자 O·I와 숫자 0·1을 섞어 치기: 열 이름에는 O와 I도 들어갑니다(IO는 249번째 열). 숫자 0이나 1을 대신 치면 다른 열이 되거나 'I0'처럼 0행 주소가 되어 오류가 납니다.
    • 한글 자판 상태로 치기: 한/영 전환 없이 AA를 치면 'ㅁㅁ'이 들어갑니다. 이 변환기는 한글이 들어오면 바꾸지 않고 영문 입력으로 바꿔 달라고 알립니다.

    한계

    • Excel 워크시트 범위인 A~XFD(1~16,384번째) 열과 1~1,048,576행만 바꿉니다. XFE처럼 그 밖의 글자는 몇 번째에 해당하는지만 알리고 결과로 쓰지 않습니다.
    • R[-2]C 같은 상대 R1C1 참조, 이름 정의, 'Sheet1'!A1 같은 다른 시트 참조는 읽지 않습니다. 표 범위 칸은 열만 쓰고 행 번호는 무시합니다.
    • '여러 개 한꺼번에'는 낱말마다 열만 바꿉니다. AA10 같은 셀 주소는 열 번호 27로, R10C27은 열 문자 AA로 바꾸며 행은 남기지 않습니다.
    • 수식 줄의 식은 쉼표로 인수를 나누는 엑셀·Google 시트를 기준으로 적었습니다. 목록 구분 기호가 세미콜론인 환경에서는 쉼표를 ;로 바꿔 넣습니다.
    • 입력값은 이 기기 브라우저에서만 계산하고 어디에도 보내지 않습니다. 링크 복사를 누르면 지금 값이 주소에 들어갑니다.

    출처

    자주 묻는 질문

    엑셀에서 AA열은 몇 번째 열인가요?

    27번째 열입니다. A~Z가 1~26번째이고, Z 다음 열이 두 글자로 시작하는 AA라서 26 + 1 = 27입니다. AZ는 52번째, BA는 53번째, ZZ는 702번째 열입니다.

    엑셀의 마지막 열은 무엇이고 몇 번째인가요?

    Excel 2007 이후 형식(.xlsx 등)의 마지막 열은 XFD이고 16,384번째 열입니다. Microsoft 사양표의 워크시트 크기는 1,048,576행 × 16,384열입니다. Excel 97–2003 형식(.xls)은 256번째 열인 IV열까지만 있어서, 그보다 오른쪽 데이터는 .xls로 저장할 때 남지 않습니다.

    열 번호를 알파벳(열 문자)으로 바꾸는 엑셀 수식은 무엇인가요?

    =SUBSTITUTE(ADDRESS(1,27,4),"1","")처럼 씁니다. ADDRESS(1, 27, 4)가 1행의 상대 주소 "AA1"을 만들고 SUBSTITUTE가 행 번호 1을 지워 "AA"만 남깁니다. 행은 반드시 1로 둡니다. 21행으로 만들면 "AA21"에서 1만 지워져 "AA2"가 됩니다.

    열 문자를 번호로 바꾸는 수식은 무엇인가요?

    =COLUMN(AA1)처럼 그 열의 칸 참조를 COLUMN 함수에 넣으면 27이 나옵니다. 뒤의 행 번호는 결과에 영향을 주지 않습니다. 열 문자가 A2 칸에 글자로 적혀 있으면 =COLUMN(INDIRECT(A2&"1"))로 바꿀 수 있습니다.

    엑셀 열 머리글이 A, B, C가 아니라 1, 2, 3으로 나와요.

    R1C1 참조 스타일이 켜진 상태입니다. Windows Excel에서는 파일 > 옵션 > 수식으로 들어가 '수식 작업' 아래 'R1C1 참조 스타일' 확인란을 해제하면 다시 A, B, C로 보입니다. Mac에서는 Excel 메뉴 > 기본 설정 > 계산에서 'R1C1 참조 스타일 사용'을 해제합니다. 이 상태에서 R10C27로 보이는 주소는 AA10 칸입니다.

    왜 Z 다음이 BA가 아니라 AA인가요?

    열 문자에는 0에 해당하는 글자가 없기 때문입니다. A부터 Z까지가 1부터 26을 뜻하므로, 십진법의 9 다음 10처럼 1과 0을 쓰는 대신 한 자리가 늘어 AA(1 × 26 + 1 = 27)로 이어집니다. 그래서 번호를 글자로 바꿀 때는 단계마다 1을 빼고 26으로 나눕니다.

    VLOOKUP에 넣는 열 번호와 이 변환기의 열 번호가 같나요?

    범위가 A열에서 시작할 때만 같습니다. VLOOKUP의 열 번호는 고른 범위의 첫 열을 1로 센 순번이고, 이 변환기의 번호는 시트 전체에서 센 위치입니다. C:F 범위에서 F열은 6 − 3 + 1 = 4번째입니다. 위 '표 범위' 칸에 범위를 넣으면 이 순번을 바로 셉니다.

    VBA나 Python에서는 어떻게 바꾸나요?

    VBA에서는 Range("AA1").Column이 27을, Split(Cells(1, 27).Address, "$")(1)이 "AA"를 돌려줍니다. Python의 openpyxl에서는 column_index_from_string("AA")가 27, get_column_letter(27)이 'AA'입니다. pandas의 iloc처럼 0부터 세는 위치가 필요하면 1을 빼서 26으로 씁니다.