- 최초 작성일: 2001-04-17
- 최종 수정일: 2026-09-29
- 조회수: 30 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 숫자 앞에 0 붙이기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
질문 하나
안녕하세요? 항상 친절한 강좌와 답변을 주셔서 감사하게 생각하고 있습니다. 회사 서버에서 자료를 다운받았는데, 숫자 앞에 0이 있어야 하는데 모두 없어져 버렸어요. 어떻게 해야할 지… TT 자리수가 12자리인데 함수를 사용하면 될 것 같다는 생각은 드는데 어떻게 해야할 지 모르겠습니다. 도움을 주세요.
| 원래 값 | 받은 값 |
| 000012345678 | 12345678 |
| 000000232458 | 232458 |
| 000992741261 | 992741261 |
| 000000000035 | 35 |
| 004297541224 | 4297541224 |
이런 형태의 자료가 수천 건 됩니다. 도저히 수작업으로는…
'함수를 사용하면 될 것 같다'는 답을 알고 계시니까 이미 반은 맞춘거나 다름없으시군요. ^^ 만약 이런 것을 일일이 수작업으로 해야 한다면 얼마나 골치아픈 일이 될까요? 특히 질문하신 분의 경우처럼 데이터가 5천여 건이나 된다면 아마 불가능 할 것입니다(하다가 열받아서 중간에…)
숫자 앞에 0 붙이기
핵심 요약
- 자리수가 일정한 코드에서 사라진 앞자리 0은 REPT와 LEN 함수를 조합해 다시 채울 수 있습니다.
- 전체 자리수에서 현재 값의 길이를 뺀 만큼 0을 반복한 뒤 원래 값과 연결하면 원하는 형식을 만들 수 있습니다.
- 예제에서는 12자리 값을 기준으로 =REPT(0,12-LEN(B31))&B31 수식을 사용합니다.
아래의 표를 보세요.
| 원래 값 | 받은 값 | 수정한 값 |
| 000012345678 | 12345678 | =REPT(0,12-LEN(B31))&B31 |
| 000000232458 | 232458 | =REPT(0,12-LEN(B32))&B32 |
| 000992741261 | 992741261 | =REPT(0,12-LEN(B33))&B33 |
| 000000000035 | 35 | =REPT(0,12-LEN(B34))&B34 |
| 004297541224 | 4297541224 | =REPT(0,12-LEN(B35))&B35 |
=REPT(0,12-LEN(B31))&B31
언젠가 설명드린 기억이 나는데 '텍스트를 지정한 수만큼 반복'하는 기능을 수행하는 함수로 Rept라는 것이 있습니다. 이것을 약간 응용하여 위와 같은 형태로 사용하면 되는 것이지요. 만약 자리수가 12 자리가 아니라면 12를 다른 값으로 고치시면 되겠지요.
함수는 응용입니다(따지고 보면 VBA도 마찬가지이지만…). 자기가 알고 있는 것을 이런저런 방식으로 응용을 하고 약간의 창의력을 가미하면 해결하지 못할 것이 없지요. 물론 그러기 위해서는 어설프게 알고 있어서는 안됩니다. 하나를 알더라도 확실하게 알고 있어야 합니다.
오늘은 여기까지…
정리 — 숫자 앞에 0 붙이기
| 구분 | 내용 |
|---|---|
| 문제 | 12자리 코드의 앞자리 0이 사라져 숫자만 남음 |
| 핵심 수식 | =REPT(0,12-LEN(B31))&B31 |
| 원리 | 전체 자리수에서 현재 길이를 뺀 만큼 0을 반복한 뒤 원래 값과 연결 |
| 자리수가 다를 때 | 수식의 12를 필요한 자리수로 변경 |
자주 묻는 질문 (FAQ)
Q1. 앞자리 0이 없어진 데이터는 어떻게 복구하나요?
REPT 함수로 0을 필요한 개수만큼 반복해 원래 값 앞에 붙이면 됩니다. 반복할 개수는 전체 자리수에서 LEN 함수로 구한 현재 길이를 빼서 계산합니다.
Q2. 자리수가 12자리가 아니면 어떻게 하나요?
수식에 있는 12를 실제 자리수로 바꾸면 됩니다.
Q3. 수천 건의 데이터도 한 번에 처리할 수 있나요?
네, 수식을 한 번 작성한 뒤 아래로 복사하면 수작업 없이 모든 행에 적용할 수 있습니다.
마치며
이미 알고 있는 함수를 응용하는 힘이 실무에서는 가장 중요합니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.