엑셀 숫자 인식 안됨 문제의 흔한 원인은 숫자가 텍스트로 저장되어 있는 것인데요.
겉보기엔 숫자인데 엑셀은 글자로 다루고 있어서, 합계에서 빠지거나 정렬이 엉키고, VLOOKUP에서 #N/A가 나기도 합니다.
셀 왼쪽 위의 녹색 삼각형으로 알아볼 수 있고, 숫자로 변환 메뉴나 선택하여 붙여넣기의 곱하기, VALUE 함수로 진짜 숫자로 바꿀 수 있습니다.
"매출 열을 SUM으로 더했는데 합계가 이상하게 작아요." 광고 매체나 쇼핑몰 관리자에서 내려받은 데이터를 엑셀로 옮기다 보면 이런 일을 한 번쯤 겪어 보셨을 텐데요, 숫자가 분명히 보이는데 계산에는 들어가지 않으니 답답하죠. 디지털 마케팅 일을 하다 보니 내려받은 리포트를 엑셀로 정리할 일이 많아서, 저도 이 문제를 한 번 제대로 정리해 두고 싶었습니다. 이번 글에서는 Microsoft의 텍스트로 저장된 숫자 변환 도움말을 따라 원인과 알아보는 법, 바꾸는 방법 세 가지와 잘 안 바뀔 때 볼 것을 정리해 보겠습니다.
1. 엑셀이 숫자를 숫자로 인식하지 못하는 이유는 무엇일까요?
텍스트 서식이 지정된 숫자 수정 도움말은 숫자가 텍스트로 저장되는 대표적인 경우로 두 가지를 듭니다.
- 텍스트 서식 셀에 입력할 때: 텍스트로 서식이 지정된 셀에 숫자를 입력하면 숫자가 아니라 글자로 저장됩니다.
- 외부에서 가져오거나 복사할 때: 데이터베이스나 다른 외부 데이터 원본에서 데이터를 텍스트로 가져오거나 복사하는 경우입니다.
엑셀의 오류 검사 규칙 이름이 「앞에 아포스트로피가 있거나 텍스트로 서식이 지정된 숫자」인 것을 보면, 숫자 앞에 아포스트로피(')를 붙여 입력한 경우도 같은 경고 대상인데요. 비유하자면 계산기 버튼에 숫자 스티커만 붙여 둔 것과 비슷합니다. 눈에는 7이 보이지만 누른다고 계산이 되지는 않는 것이죠. 그렇다면 내 시트의 숫자가 이런 「스티커 숫자」인지는 어떻게 알 수 있을까요?
2. 텍스트로 저장된 숫자는 어떻게 알아볼까요?
도움말이 꼽는 신호는 두 가지입니다. 텍스트로 서식이 지정된 숫자는 셀에서 오른쪽이 아닌 왼쪽에 맞춰지고, 셀 왼쪽 위에 작은 녹색 삼각형(오류 표시기)이 나타나는 경우가 많습니다. 이 상태로 두면 계산할 때 문제가 생기거나 정렬 순서가 뒤섞일 수 있는데요, SUM 함수 도움말에 따르면 SUM은 텍스트 값을 무시하고 숫자 값만 더하기 때문에 합계가 생각보다 작게 나올 수 있습니다.
예시 그림: 왼쪽에 붙은 B3·B5 셀은 텍스트라서
=SUM(B2:B5) 합계에 들어가지 않습니다(가상 데이터).
찾기 함수에서도 문제가 되는데요. #N/A 오류 수정 도움말은 VLOOKUP에서 숫자를 찾도록 했는데 원본 데이터가 텍스트로 저장되어 있으면 데이터 형식이 달라 #N/A가 날 수 있다고 설명합니다.
상품 코드나 주문 번호로 두 시트를 맞춰 볼 때 분명히 있는 값인데 못 찾는다면, 한쪽이 텍스트인지부터 의심해 보시면 됩니다.
3. 엑셀 텍스트로 저장된 숫자를 숫자로 바꾸는 방법은?
도움말에 나온 방법을 상황별로 묶으면 세 가지인데요.
| 방법 | 이럴 때 | 순서 (Microsoft 한국어 도움말 표기) |
|---|---|---|
| 숫자로 변환 | 녹색 삼각형이 보일 때 | 셀을 선택하고 왼쪽 위의 오류 표시기를 선택(또는 Alt+Shift+F10)한 뒤 메뉴에서 숫자로 변환 |
| 선택하여 붙여넣기 곱하기 | 녹색 삼각형 없이 한 번에 바꾸고 싶을 때 | 빈 셀에 1을 넣어 복사하고, 바꿀 범위에 선택하여 붙여넣기 > 연산의 곱하기 |
| VALUE 함수 | 원본은 두고 새 열에서 바꾸고 싶을 때 | 옆 열에 =VALUE(E23)처럼 넣어 채우고, 결과를 복사해 값 붙여넣기 |
숫자로 변환이 가장 간단한 방법입니다. 녹색 삼각형이 붙은 셀이나 범위를 선택하면 옆에 경고 단추가 나타나고, 거기서 숫자로 변환을 누르면 됩니다. 값은 그대로 두고 경고만 없애려면 오류 무시를 고르면 되죠. 삼각형이 아예 보이지 않는다면 오류 검사가 꺼져 있을 수 있는데요, 파일 > 옵션 > 수식에서 백그라운드 오류 검사 사용을 선택하면 다시 켤 수 있습니다.
선택하여 붙여넣기 곱하기는 각 셀에 1을 곱해 텍스트를 숫자로 바꾸는 방법입니다. 1을 곱하니 보이는 값은 같지만 실제 셀 내용은 숫자로 바뀌는데요, 순서는 아래 그림과 같습니다.
1을 곱해도 값은 그대로라서, 내용만 숫자로 바뀝니다. 다 바꾼 뒤 1을 넣은 셀은 지웁니다.
VALUE 함수는 숫자를 나타내는 텍스트를 숫자로 바꿔 줍니다. 텍스트 열 옆에 새 열을 넣고 =VALUE() 괄호 안에 셀을 넣어 아래로 채운 뒤, 결과를 복사해 원래 열의 첫 셀에 홈 탭 붙여넣기 아래 화살표 > 특수 > 값 붙여넣기(Ctrl+Shift+V)로 덮으면 됩니다.
참고로 VALUE 함수 도움말은 엑셀이 필요할 때 텍스트를 자동으로 숫자로 바꾸기 때문에 수식에 VALUE를 꼭 써야 하는 것은 아니고, 다른 스프레드시트 프로그램과의 호환을 위해 제공되는 함수라고 적고 있는데요. 그래서 이 글에서는 열 전체를 정리하는 용도로만 소개했습니다.
그런데 이렇게 해도 숫자로 바뀌지 않는 셀이 남는다면 무엇을 봐야 할까요?
4. 숫자로 변환이 안 될 때는 무엇을 확인할까요?
가장 흔한 원인은 눈에 보이지 않는 공백이나 문자입니다. 데이터를 정리하는 10가지 주요 방법 도움말은 외부 원본에서 가져온 데이터에 앞뒤 공백이나 인쇄할 수 없는 문자가 섞일 수 있다고 설명합니다.
- TRIM 함수: 단어 사이 공백 하나만 남기고 나머지 공백을 지웁니다. 다만 값 32인 일반 공백용이라, 웹 페이지에서
로 흔히 쓰이는 값 160의 줄 바꿈하지 않는 공백은 TRIM만으로 지울 수 없습니다. - CLEAN 함수: 인쇄할 수 없는 문자(7비트 ASCII 0번부터 31번)를 지웁니다.
- SUBSTITUTE 함수: 값 160 같은 문자를 TRIM·CLEAN이 처리할 수 있는 문자로 바꿀 때 함께 씁니다.
나라마다 소수점과 천 단위 구분 기호가 다른 데이터라면 NUMBERVALUE 함수가 편한데요. 로캘에 영향을 받지 않고 텍스트를 숫자로 바꾸며, =NUMBERVALUE("2.500,27",",",".")처럼 구분 기호를 직접 지정하면 2,500.27을 돌려줍니다. 텍스트 안의 공백은 중간에 있어도 무시해서 " 3 000 "은 3000이 되죠.
회계 프로그램에서 내려받은 데이터는 156-처럼 음수 기호가 오른쪽에 붙어 있기도 한데요, 이때는 도움말 예시처럼 =LEFT(A2,LEN(A2)-1)*-1로 마지막 문자를 뺀 뒤 -1을 곱해 -156으로 바꿉니다.
※ 참고 사항: 텍스트로 둬야 하는 숫자도 있을까요?
모든 숫자를 숫자로 바꿔야 하는 건 아닌데요. 숫자를 텍스트로 서식 지정 도움말은 계산하지 않는 번호는 숫자로 두면 오히려 값이 바뀔 수 있다고 설명합니다.
더하고 평균 낼 값인지, 이름표처럼 붙이는 번호인지로 나누면 헷갈리지 않습니다.
엑셀의 숫자 정밀도는 최대 15자리라서 16자리 이상인 카드 번호 같은 숫자를 숫자로 넣으면 15번째 자리 뒤가 0으로 바뀌기 때문에, 도움말은 이런 번호에 텍스트 서식을 쓰라고 안내하는데요. 0으로 시작하는 상품 코드도 숫자로 넣으면 앞의 0이 지워져서, 텍스트로 두거나 0000000000 같은 사용자 지정 숫자 서식으로 자릿수를 지켜야 합니다.
그래서 금액·수량·클릭 수처럼 더하고 비교할 값은 숫자로, 주문 번호나 상품 코드처럼 붙여 두기만 할 값은 텍스트로 두는 편이 안전한데요. 다만 VLOOKUP으로 맞춰 볼 두 시트에서는 코드 열의 형식을 양쪽이 같게 맞춰 두셔야 합니다.
이 글의 메뉴 이름은 변환 도움말의 적용 대상인 Microsoft 365용 Excel, Excel 2024·2021·2019·2016 한국어 표기를 따랐고, 웹용 Excel은 VALUE 함수 절차가 조금 다르게 안내되어 있습니다.
정리하면 엑셀 숫자 인식 안됨은 숫자가 텍스트로 저장된 경우가 흔하고, 녹색 삼각형을 확인한 뒤 숫자로 변환, 곱하기 붙여넣기, VALUE 함수 중 상황에 맞는 방법으로 바꾸면 됩니다. 저도 내려받은 리포트를 정리할 때 합계가 이상하면 먼저 정렬 방향과 녹색 삼각형부터 보려고 하는데요, 더 자세한 절차는 Microsoft 도움말을 참고해 주세요.
자주 묻는 질문
- 엑셀에서 숫자가 합계에 안 들어가요. 왜 그런가요?
- 숫자가 텍스트로 저장되어 있을 가능성이 높습니다. Microsoft SUM 함수 도움말에 따르면 SUM은 텍스트 값을 무시하고 숫자 값만 더합니다. 셀이 왼쪽에 붙어 있거나 왼쪽 위에 녹색 삼각형이 있다면 해당 셀을 선택하고 경고 단추에서 숫자로 변환을 누르세요.
- 녹색 삼각형이 안 보이는데 텍스트로 저장된 숫자를 숫자로 변환하려면?
- 파일 > 옵션 > 수식에서 백그라운드 오류 검사 사용을 켜면 녹색 삼각형이 다시 나타납니다. 또는 빈 셀에 1을 넣어 복사한 뒤 바꿀 범위에 선택하여 붙여넣기 > 곱하기를 적용하거나, 옆 열에 VALUE 함수를 써서 바꿀 수 있습니다.
- 숫자로 변환을 눌러도 바뀌지 않는 셀은 어떻게 하나요?
- 앞뒤 공백이나 인쇄할 수 없는 문자가 섞여 있을 수 있습니다. TRIM 함수로 공백을, CLEAN 함수로 인쇄할 수 없는 문자를 지우고, 웹 페이지에서 가져온 데이터에 값 160의 줄 바꿈하지 않는 공백이 섞여 있다면 SUBSTITUTE 함수로 먼저 바꿔 주세요.
관련 글 더 보기
내려받은 데이터를 엑셀로 정리할 때 함께 보면 좋은 글들입니다.
- 엑셀 데이터 한글 텍스트 깨질 때 변환하는 법 - 내려받은 CSV 를 엑셀로 열 때 한글이 깨지는 문제 해결
- 엑셀 피벗테이블이란? 뜻부터 만들기·새로고침까지 실무 활용법 - 숫자로 정리한 데이터를 여러 기준으로 요약하는 방법
- VLOOKUP XLOOKUP 차이 | 엑셀 찾기 함수, 언제 무엇을 쓸까 - 코드로 두 시트를 맞춰 볼 때 쓰는 찾기 함수 비교
