어떤 일이 생기나
회원 명단이나 주문 내역을 메모장·웹 화면에서 복사해 엑셀에 붙여넣으면 값이 바뀌는 일이 자주 생깁니다. 대표적인 경우는 세 가지입니다.
- 휴대폰 번호 01012345678이 1012345678로 바뀝니다.
- 우편번호 06236이 6236으로 바뀝니다.
- 16자리 카드 번호나 긴 주문번호가 1.23457E+15처럼 바뀌고, 셀을 눌러 보면 끝자리가 0으로 바뀌어 있습니다.
엑셀이 고장 난 것이 아니라 정해진 규칙대로 처리한 결과입니다. 규칙을 알면 어떤 값이 바뀔지 미리 알 수 있습니다.
원인 1: 숫자처럼 보이면 숫자로 바꾼다
Microsoft 지원 문서는 엑셀이 숫자 텍스트에서 앞에 오는 0을 제거하고 숫자로 바꾼다고 설명합니다. 계산에 쓸 수 있게 하려는 동작입니다. 숫자 1012345678과 01012345678은 값이 같으므로, 숫자로 바뀌는 순간 앞의 0은 의미 없는 글자가 되어 사라집니다.
전화번호·우편번호·사번·학번은 계산에 쓰는 값이 아니라 이름처럼 쓰는 번호입니다. 이런 값은 숫자가 아니라 글자(텍스트)로 받아야 0이 남습니다.
원인 2: 12자리부터 지수 표기, 15자리 넘으면 값이 바뀐다
긴 숫자는 두 가지 규칙이 겹칩니다. 둘은 성격이 다르므로 나눠서 봐야 합니다.
| 숫자 길이 | 엑셀이 하는 일 | 값이 바뀌나 | 근거 |
|---|---|---|---|
| 11자리 이하 | 그대로 보여 줍니다 | 아니요 (앞의 0만 사라짐) | 앞에 오는 0과 더 큰 숫자를 유지 |
| 12 ~ 15자리 | 일반 서식에서 1.23E+11 같은 지수 표기로 보여 줍니다 | 아니요, 보이는 모양만 바뀝니다 | Excel에서 사용 가능한 숫자 서식 (일반 서식은 12자리 이상을 지수 표기) |
| 16자리 이상 | 지수 표기로 보이고, 16번째 자리부터 0으로 바뀝니다 | 예, 저장된 값이 바뀝니다 | Excel 사양 및 제한 (숫자 정밀도 15자리) |
12 ~ 15자리는 셀 서식을 "숫자"로 바꾸면 원래 숫자가 다시 보입니다. 16자리 이상은 이미 끝자리가 0으로 저장되었으므로 서식을 바꿔도 되돌아오지 않습니다. 예를 들어 1234567890123456을 숫자로 받으면 1234567890123450이 됩니다. 이 경우에는 원본에서 다시 붙여넣어야 합니다.
해결법 4가지
Microsoft 지원 문서가 안내하는 방법을 상황별로 정리했습니다.
| 방법 | 하는 법 | 알맞은 상황 | 주의할 점 |
|---|---|---|---|
| 셀 서식을 텍스트로 | 붙여넣을 열을 고르고 Ctrl+1 → 표시 형식 탭 → 텍스트 | 붙여넣기 전에 열을 미리 정할 수 있을 때 | 서식을 바꾼 뒤에 넣은 값에만 적용됩니다. 이미 바뀐 값은 다시 넣어야 합니다 |
| 숫자 앞에 작은따옴표(') | '01012345678 처럼 입력 | 값 몇 개를 직접 고칠 때 | Enter를 누르면 셀에는 '가 보이지 않습니다 |
| 데이터 가져오기 | 데이터 탭 → 텍스트/CSV에서 → 미리 보기 창에서 [편집] → 열 머리글 선택 → 홈 > 변환 > 데이터 형식 > 텍스트 → 열 형식 변경 창에서 현재 항목 바꾸기 → 닫기 및 로드 | CSV 파일을 열 때, 행이 많을 때 | 열마다 형식을 정해야 합니다. 단추 이름은 버전에 따라 다를 수 있습니다 |
| 자동 데이터 변환 끄기 | 파일 → 옵션 → 데이터 → 자동 데이터 변환에서 "앞에 오는 0을 제거하고 숫자로 변환", "긴 숫자의 처음 15자리를 유지하고 필요한 경우 과학적 표기법으로 표시"를 끔 | 번호를 자주 붙여넣는 PC에서 매번 손대기 싫을 때 | Microsoft 365용 Excel, Excel 2024에만 있습니다. 파워 쿼리로 가져온 데이터에는 직접 영향을 주지 않습니다 |
우편번호처럼 자릿수가 정해진 번호는 사용자 지정 서식 00000을 쓰는 방법도 문서에 나옵니다. 다만 이 방법은 0을 보이게만 할 뿐 셀의 값은 숫자 6236입니다. 다른 프로그램으로 옮기면 0이 다시 사라질 수 있으므로, 번호를 그대로 지켜야 하면 텍스트로 받는 편이 안전합니다.
자동 데이터 변환 설정은 파일 열기(.csv, .txt)뿐 아니라 직접 입력과 외부에서 복사해 붙여넣을 때도 적용된다고 문서에 나옵니다. 같은 화면에 "연속된 문자와 숫자를 날짜로 변환" 항목도 있습니다. 12/2처럼 슬래시가 든 값이 날짜로 바뀌는 문제도 같은 원리이며, 이때도 셀 서식을 텍스트로 두거나 앞에 작은따옴표를 붙이면 그대로 남습니다.
텍스트 정리 도구로 한 번에 붙이기
줄이 수백 개라면 작은따옴표를 손으로 붙이기 어렵습니다. 텍스트 정리 도구의 "붙이기" 탭에 있는 "엑셀에서 숫자 그대로 두기"를 켜면, 결과의 칸마다 아래 규칙으로 작은따옴표를 붙입니다. 칸은 탭과 줄바꿈으로 나뉘므로, 엑셀에서 여러 열을 복사해 온 표도 칸 단위로 처리합니다.
| 원본 칸 | 결과 | 이유 |
|---|---|---|
| 01012345678 | '01012345678 | 0으로 시작하는 2자리 이상 숫자 |
| 06236 | '06236 | 0으로 시작하는 2자리 이상 숫자 |
| 1234567890123456 | '1234567890123456 | 12자리 이상 숫자 |
| 12345678901 | 12345678901 | 11자리이고 0으로 시작하지 않아 그대로 둡니다 |
| 010-1234-5678 | 010-1234-5678 | 하이픈이 있어 숫자로만 된 칸이 아니므로 건드리지 않습니다 |
| 0 | 0 | 한 자리 0은 그대로 둡니다 |
규칙의 12자리는 엑셀 일반 서식이 지수 표기를 시작하는 길이와 같습니다. 숫자로만 된 칸 전부에 붙이고 싶다면 아래의 "숫자로 된 칸 모두에 붙이기"를 함께 켭니다.
직접 해 보는 순서는 다음과 같습니다.
- 텍스트 정리 화면의 원본 칸에 번호 목록을 붙여넣습니다.
- "붙이기" 탭에서 "엑셀에서 숫자 그대로 두기"를 켭니다.
- [결과 복사]를 누른 뒤 엑셀에 붙여넣습니다.
모든 처리는 브라우저 안에서만 이뤄지고, 붙여넣은 글은 서버로 보내지 않습니다. 명단처럼 개인정보가 섞인 글을 다루는 화면이라 광고·분석 스크립트도 넣지 않았습니다.
알아 둘 한계
- 작은따옴표는 엑셀에 붙여넣을 때를 위한 표시입니다. [.txt 내려받기]로 파일을 저장하면 앞의 '도 글자 그대로 함께 저장됩니다. 파일로 넘길 때는 이 옵션을 끄고, 받는 쪽에서 데이터 가져오기로 열을 텍스트로 지정하는 편이 맞습니다.
- 텍스트로 받은 번호는 엑셀이 계산하지 않습니다. 합계·평균이 필요한 열(금액, 수량)에는 이 옵션을 쓰지 않습니다.
- 이미 16자리 이상이 숫자로 저장된 파일은 이 도구로도 되살릴 수 없습니다. 원본 데이터에서 다시 가져와야 합니다.
이 글은 참고용입니다. 엑셀 버전과 언어 설정에 따라 메뉴 이름과 동작이 다를 수 있습니다.