원본 데이터를 다루다 보면 숫자와 텍스트가 한 셀에 뒤섞여 있는 경우를 자주 마주하게 됩니다. 이럴 때 숫자만 골라서 제거해야 분석 작업이 한결 수월해지는데요. 이번 글에서는 엑셀에서 셀에 포함된 숫자 문자를 손쉽게 제거할 수 있는 5가지 방법을 단계별로 자세히 소개합니다. 함수 공식부터 VBA 매크로까지, 상황에 맞는 방법을 골라 바로 활용해 보세요.
글을 읽으면서 직접 연습해 보고 싶다면 아래 예제 파일을 내려받아 함께 따라 해 보세요.
엑셀에서 셀의 숫자 문자를 제거하는 5가지 방법
분석용 원본 데이터를 받았는데 한 열에 숫자와 텍스트가 섞여 있다고 가정해 봅시다. 편리하게 작업하려면 두 값을 서로 분리해야 합니다. 이번 섹션에서는 이 작업을 처리할 수 있는 5가지 실용적인 방법을 하나씩 알아보겠습니다.

1. TEXTJOIN 함수로 셀에서 숫자 문자 제거하기
TEXTJOIN 함수를 기반으로 한 수식을 사용하면 셀에서 숫자 문자를 제거할 수 있습니다. 먼저 기존 열 옆에 결과를 추출할 새 열을 만들어야 합니다. 전체 과정을 단계별로 살펴보겠습니다.

1단계:
- 셀 C4에 아래와 같이 TEXTJOIN 기반 수식을 입력합니다.
=TEXTJOIN("",TRUE,IF(ISERR(MID(B4,ROW(INDIRECT("1:100")),1)+0),MID(B4,ROW(INDIRECT("1:100")),1),""))- 여기서는 MID 함수, ROW 함수, INDIRECT 함수를 조합해 텍스트 문자열의 글자를 하나씩 분리합니다.
- MID 함수는 B4 셀의 텍스트를 한 번에 한 글자씩 추출하는 역할을 합니다.
MID(B4,ROW(INDIRECT("1:100")),1)- 여기서 100은 확인할 최대 글자 수를 의미합니다. 이 MID 함수는 {1,2,3,4,5,...,99,100}처럼 100개의 숫자로 이루어진 배열을 생성합니다.
- 이 배열을 start_num 인수로 사용하고, num_chars에는 1을 지정합니다.
- 그러면 1, 2, 3 같은 숫자 값은 오류 없이 변환되지만, 숫자가 아닌 문자는 변환되지 못하고 #VALUE! 오류를 반환합니다. 이 오류를 IF 함수와 ISERR 함수로 잡아내어 텍스트 값만 배열에 남깁니다.
- 오류가 발생하지 않았다면 그것은 숫자이므로, 해당 위치에는 빈 문자열("")을 대신 넣습니다.
- 최종 결과는 text1 인수로 TEXTJOIN 함수에 전달됩니다. 구분 기호(delimiter)에는 빈 문자열("")을, ignore_empty에는 TRUE를 지정합니다.
- 그러면 TEXTJOIN이 배열에서 비어 있지 않은 모든 값을 연결하여 결과를 반환합니다.

2단계:
- 이 수식은 배열 수식이므로 Ctrl+Shift+Enter를 눌러 결과를 확인합니다. Excel 365를 사용 중이라면 그냥 Enter 키만 누르면 됩니다.

3단계:
- 셀의 오른쪽 아래 모서리에 커서를 올린 후 더블클릭하면, 데이터 범위의 나머지 셀에도 동일한 수식이 자동으로 적용됩니다.

함께 보면 좋은 글: 엑셀에서 숫자가 아닌 문자 제거하는 방법
2. SEQUENCE 함수로 셀에서 숫자 문자 제거하기
1단계:
- Excel 365를 사용하고 있다면 SEQUENCE 함수 기반 수식을 활용할 수 있습니다. 앞서 소개한 수식보다 훨씬 간결합니다.
=TEXTJOIN("",TRUE,IF(ISERR(MID(B4,SEQUENCE(LEN(B4)),1)+0),MID(B4,SEQUENCE(LEN(B4)),1),""))- SEQUENCE 함수는 ROW 함수와 INDIRECT 함수를 대체하면서 동일한 역할을 수행합니다.
- 이 수식에서는 SEQUENCE 함수와 LEN 함수를 사용해 정확한 길이의 배열을 한 번에 생성합니다.

2단계:
- Enter 키를 눌러 결과를 확인합니다.

- 나머지 셀에도 같은 수식을 적용하면 최종 결과를 얻을 수 있습니다.

함께 보면 좋은 글: 엑셀에서 특정 문자 제거하는 6가지 방법
3. LET 함수로 셀에서 숫자 문자 제거하기
1단계:
- LET 함수를 활용하면 수식을 더욱 효율적으로 다듬을 수 있습니다.
=LET(ARRAY,SEQUENCE(LEN(B4)),TEXTJOIN("",TRUE,IF(ISERR(MID(B4,ARRAY,1)+0),MID(B4,ARRAY,1),"")))- LET 함수를 사용하면 배열을 두 번 생성하지 않고, 변수로 한 번만 정의한 뒤 재사용할 수 있어 수식이 더 깔끔해지고 계산 속도도 빨라집니다.

2단계:
- Enter 키를 누른 후 필요한 모든 셀에 동일한 수식을 적용합니다. 최종 결과는 아래와 같습니다.

관련 콘텐츠: 엑셀에서 왼쪽 문자 제거하는 6가지 방법
유사한 주제의 글:
- 엑셀에서 숨겨진 큰따옴표 제거하는 6가지 쉬운 방법
- 엑셀에서 작은따옴표 제거하는 6가지 방법
- VBA로 엑셀 문자열의 마지막 문자 제거하기 (2가지 쉬운 방법)
- 엑셀에서 인쇄 불가능한 문자 제거하는 4가지 쉬운 방법
- 엑셀에서 문자열의 첫 번째 문자 제거하는 6가지 빠른 방법
4. TRIM 함수로 셀에서 숫자 문자 제거하기
텍스트와 숫자가 섞인 원본 데이터에 불필요한 공백이 포함되어 있는 경우가 있습니다. 이럴 때 TRIM 함수를 활용하면 여분의 공백까지 한 번에 정리할 수 있습니다. 아래 단계를 따라 해 보세요.

1단계:
- 셀 C4에 아래 수식을 입력합니다.
=TRIM(TEXTJOIN("",TRUE,IF(ISERR(MID(B4,ROW(INDIRECT("1:100")),1)+0),MID(B4,ROW(INDIRECT("1:100")),1),"")))방법 1에서 설명한 TEXTJOIN 수식 앞에 TRIM 함수를 추가한 것 외에는 변경된 부분이 없습니다. SEQUENCE 또는 LET 기반 수식에도 동일하게 적용할 수 있습니다.

2단계:
- Enter 키를 눌러 결과를 확인합니다. 이제 여분의 공백 문제도 깔끔하게 해결된 것을 볼 수 있습니다.

관련 콘텐츠: 엑셀에서 공백 제거하기 — 수식, VBA, 파워 쿼리 활용법
5. VBA 코드로 셀에서 숫자 문자 제거하기
VBA 매크로 코드를 사용하면 클릭 몇 번으로 대량의 데이터에서 숫자 문자를 일괄 제거할 수 있습니다. 아래에서 실행 과정을 살펴보겠습니다.
1단계:
- 먼저 VBA 편집기를 엽니다. Alt+F11 키를 누르세요.

- 새 창이 열리면 [삽입(Insert)] 메뉴에서 [모듈(Module)]을 선택해 새 모듈을 추가합니다.

2단계:
- 새로 열린 모듈에 숫자 문자를 제거하는 VBA 코드를 붙여넣습니다. 아래 코드를 복사해서 워크시트에 바로 사용할 수 있습니다.
Sub RemoveNumber()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "VBA code to remove number"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
xOut = ""
For i = 1 To Len(Rng.Value)
xTemp = Mid(Rng.Value, i, 1)
If xTemp Like "[0-9.]" Then
xStr = ""
Else
xStr = xTemp
End If
xOut = xOut & xStr
Next i
Rng.Value = xOut
Next
End Sub
3단계:
- 이제 코드를 실행합니다. 범위를 선택하고 [확인]을 누르면 작업이 완료됩니다.

- 셀에서 숫자 문자가 성공적으로 제거된 것을 확인할 수 있습니다.

함께 보면 좋은 글: VBA로 엑셀 문자열의 첫 번째 문자 제거하는 방법
꼭 기억해야 할 사항
👉 배열 수식을 사용하는 경우 Ctrl+Shift+Enter를 동시에 눌러야 결과가 표시됩니다. 단, Excel 365에서는 Enter 키만 누르면 됩니다.
👉 SEQUENCE 함수는 Excel 365 버전에서만 사용할 수 있습니다. 구버전 엑셀에서는 이 함수를 사용할 수 없습니다.
👉 TEXTJOIN 함수는 Excel 2019 이상 버전에서 지원됩니다. 그 이전 버전 사용자는 이 함수를 활용할 수 없으니 참고하세요.
마무리
지금까지 엑셀에서 셀의 숫자 문자를 제거하는 5가지 방법을 살펴보았습니다. 버전과 데이터 양, 상황에 따라 적합한 방법이 다르니 위 내용을 참고해 자신에게 맞는 방법을 선택해 보세요. 궁금한 점이 있다면 언제든지 댓글로 문의해 주시고, 엑셀 관련 다른 유용한 글들도 확인해 보시기 바랍니다!
관련 글
- 엑셀에서 어포스트로피(') 제거하는 5가지 쉬운 방법
- 엑셀에서 괄호 제거하는 4가지 쉬운 방법
- 엑셀에서 특정 문자 뒤의 문자 제거하는 4가지 팁
- 엑셀에서 세미콜론(;) 제거하는 4가지 방법
- 엑셀에서 영숫자가 아닌 문자 제거하는 2가지 방법