핵심 요약
=VALUE(A2)는 텍스트로 저장된 숫자·날짜·백분율을 계산할 수 있는 숫자로 바꿉니다.- 수식 안에서는
=--A2,=A2*1로도 같은 결과를 얻고, 이미 입력된 열 전체는숫자로 변환이나텍스트 나누기로 한 번에 바꿀 수 있습니다. 1,250원처럼 단위 글자나 웹에서 복사한 특수 공백이 섞이면 VALUE도#VALUE!를 내므로 SUBSTITUTE로 먼저 지웁니다.
분명히 숫자가 들어 있는데 SUM 결과가 0이거나 일부만 더해지고, VLOOKUP이 같은 번호를 찾지 못하는 경우가 있습니다. 다른 프로그램에서 내려받은 데이터나 LEFT·MID로 잘라 낸 값에서 흔히 생기는 일로, 숫자가 텍스트로 저장되어 있기 때문입니다.
이 글에서는 텍스트 숫자를 알아보는 방법, VALUE 함수 사용법, VALUE 없이 바꾸는 여러 방법, 그리고 VALUE로도 바뀌지 않을 때의 해결책을 정리합니다.
숫자가 텍스트로 저장됐는지 확인하기
다음 증상이 보이면 텍스트 숫자를 의심해 볼 수 있습니다.
- 맞춤을 따로 지정하지 않았는데 숫자가 셀 왼쪽에 붙어 있습니다.
- 셀 왼쪽 위에 녹색 삼각형이 있고, 선택하면 "텍스트 형식으로 저장된 숫자"(Number Stored as Text) 경고가 나옵니다.
=ISTEXT(A2)가 TRUE를 돌려줍니다.- 범위를 선택했을 때 상태 표시줄에 합계가 나오지 않고 개수만 나옵니다.
주의할 점은 =A2+A3처럼 셀끼리 직접 계산하면 엑셀이 텍스트 숫자를 알아서 숫자로 바꿔 준다는 것입니다. 반면 =SUM(A2:A10), COUNT, AVERAGE처럼 범위를 받는 함수는 텍스트를 건너뛰기 때문에 결과가 조용히 틀립니다.
VALUE 함수 기본 사용법
=VALUE(text)
| 인수 | 뜻 | 예시 |
|---|---|---|
text | 숫자로 바꿀 텍스트 또는 셀 | A2, "1,250" |
| 수식 | 결과 | 설명 |
|---|---|---|
=VALUE("1,250") | 1250 | 천 단위 쉼표 인식 |
=VALUE("65%") | 0.65 | 백분율은 소수로 |
=VALUE("2026-09-17") | 46282 | 날짜 일련번호 |
=VALUE("18:00") | 0.75 | 하루 중 비율 |
=VALUE("DRV") | #VALUE! | 숫자로 읽을 수 없음 |
날짜 결과가 숫자로 보이는 것은 엑셀이 날짜를 1900-01-01을 1로 하는 일련번호로 저장하기 때문입니다. 홈 탭 > 표시 형식에서 날짜 형식으로 바꾸면 2026-09-17로 보입니다. 날짜 문자열을 어떤 순서로 읽는지는 Windows 지역 설정을 따르므로, 5/4/2025 같은 미국식 표기보다 2026-09-17처럼 연-월-일 순서로 쓰는 편이 안전합니다.
텍스트 함수로 뽑은 숫자 바꾸기
LEFT, RIGHT, MID로 잘라 낸 결과는 항상 텍스트입니다. 아래 목록에서 =RIGHT(B3, 5)로 우편번호를 뽑으면 02201이라는 텍스트가 나옵니다.
이것을 =VALUE(RIGHT(B3, 5))로 감싸면 숫자 2201이 됩니다. 숫자로 바뀌면서 앞자리 0이 사라진다는 점에 주의하세요. 우편번호나 00123 같은 상품코드처럼 계산하지 않고 자릿수가 중요한 값은 텍스트로 두는 것이 맞습니다.
반대로 날짜 문자열 20260917에서 연도를 뽑아 경과 연수를 계산한다면 =VALUE(LEFT(A2, 4))처럼 숫자로 바꿔 두어야 비교와 계산이 정확합니다.
VALUE 대신 쓸 수 있는 방법
| 방법 | 사용법 | 어울리는 경우 |
|---|---|---|
| 빼기 두 번 | =--A2 | 수식 안에서 짧게 변환 |
| 1 곱하기·0 더하기 | =A2*1, =A2+0 | 같은 원리, 읽기 쉬움 |
| 숫자로 변환 | 녹색 삼각형 셀 선택 → 느낌표 단추 → 숫자로 변환 | 열 일부를 원본에서 바로 수정 |
| 선택하여 붙여넣기 | 빈 셀에 1 입력 후 복사 → 대상 선택 → 선택하여 붙여넣기 → 곱하기 | 넓은 범위를 한 번에 |
| 텍스트 나누기 | 한 열 선택 → 데이터 탭 > 텍스트 나누기 → 마침 | 내려받은 열 전체 정리 |
--는 음수 부호를 두 번 붙여 값은 그대로 두고 숫자로만 바꾸는 방식입니다. 결과는 VALUE와 같고, 숫자로 읽을 수 없는 텍스트면 똑같이 #VALUE!가 납니다.
셀 서식이 텍스트로 지정된 상태에서 입력한 값은 나중에 서식을 일반으로 바꿔도 텍스트로 남습니다. 서식을 바꾼 뒤 위 방법으로 변환하거나 셀마다 F2, Enter를 눌러 다시 입력해야 숫자가 됩니다.
VALUE로도 #VALUE! 오류가 날 때
VALUE는 엑셀이 숫자로 읽을 수 있는 형태만 바꿉니다. 다음 경우에는 걸림돌을 먼저 지웁니다.
- 단위 글자:
1,250원,30건→=VALUE(SUBSTITUTE(A2, "원", "")) - 웹에서 복사한 특수 공백: 줄바꿈 없는 공백은 TRIM으로 지워지지 않으므로
=VALUE(SUBSTITUTE(A2, CHAR(160), "")) - 다른 나라 표기:
1.250,5처럼 소수점과 쉼표가 뒤바뀐 값은 엑셀 2013 이후의=NUMBERVALUE(A2, ",", ".")로 구분 기호를 지정해 바꿉니다.
구글 스프레드시트에서는
구글 스프레드시트에도 VALUE 함수가 있고 --, *1 방식도 똑같이 동작합니다. 열 전체를 나누면서 정리할 때는 데이터 메뉴 > 텍스트를 열로 분할(Split text to columns)을 쓸 수 있습니다. 엑셀의 녹색 삼각형 같은 경고는 표시되지 않으므로 ISTEXT로 확인하는 편이 확실합니다.
자주 묻는 질문
VALUE와 --는 결과가 다른가요?
숫자로 읽을 수 있는 텍스트에 대해서는 결과가 같습니다. --는 수식이 짧고, VALUE는 의도를 알아보기 쉽다는 차이만 있습니다. 둘 다 숫자로 읽을 수 없으면 #VALUE! 오류를 냅니다.
숫자로 바꿨더니 앞의 0이 사라졌습니다.
숫자에는 앞자리 0이 저장되지 않습니다. 코드처럼 자릿수가 중요한 값은 텍스트로 두거나, 숫자로 두되 =TEXT(A2, "00000") 또는 사용자 지정 표시 형식 00000으로 보이는 모양만 맞추세요.
원본 셀 자체를 숫자로 바꾸려면 어떻게 하나요?
옆 열에 VALUE 수식을 채운 뒤 복사해 값으로 붙여넣거나, 수식 없이 숫자로 변환, 선택하여 붙여넣기의 곱하기, 데이터 탭 > 텍스트 나누기로 원본을 바로 바꿀 수 있습니다.
함께 보면 좋은 글: 엑셀 LEFT RIGHT MID 함수로 글자 자르기, 엑셀 선택하여 붙여넣기 활용법, 엑셀 TRIM LEN 함수 공백 제거와 글자 수
댓글
댓글 남기기