• 최초 작성일: 2000-06-22
  • 최종 수정일: 2026-09-29
  • 조회수: 28 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 문자열 데이터를 숫자로 바꾸기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

질문 하나

…(중략)… 업무 특성상 회사 서버에서 자료를 다운받아(텍스트 형태) 이것을 엑셀에서 가공하는 작업을

많이 하는 편입니다. 그런데 이 자료는 문자열과 숫자 데이터가 섞여 있는데 엑셀로 변환하면 이상하게도

숫자 데이터도 모두 문자열 데이터가 되어 버립니다. 무슨 방법이 없을까요?…(하략)…

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

문자열 데이터를 숫자로 바꾸기

핵심 요약

  • 텍스트 파일에서 가져온 숫자가 문자열로 저장되면 SUM 같은 계산 함수가 제대로 작동하지 않을 수 있습니다.
  • 빈 셀에 1을 입력해 복사한 뒤 대상 범위에 선택하여 붙여넣기의 곱하기 연산을 적용하면 문자열 숫자를 실제 숫자로 변환할 수 있습니다.
  • 변환 후 데이터가 숫자 정렬 방식으로 바뀌고 자동 합계 등 일반적인 숫자 계산을 사용할 수 있습니다.

일단 자료 파일을 하나 만듭니다(질문하실 때는 소스 자료를 함께 보내주시면 얼마나 좋을까요…^^).

제품코드 제품명 수량 단가
11111-0100 건성 스킨 10 15000
11112-0300 건성 로션 15 16000
11113-0200 지성 스킨 20 20000
21001-0123 지성 로션 22 21000
30100-0303 코롱 샴푸 12 10000
30100-0500 코롱 린스 14 80000
51000-0100 댄트롤 샴푸 50 50000
51001-0200 댄트롤 린스 45 50000
43000-0505 복합스킨 30 16000
43000-0506 아스트린 25 18000
합계

참고: 첫 번째 표의 합계 행은 원문에서 값이 비어 있으며, 수량이 문자열인 상태에서 자동 합계를 구하면 0이 표시됩니다.

위와 같은 표가 있습니다. 여기서 수량과 단가 부분의 합계를 구할 경우, D29 셀로 가서 "자동 합계" 아이콘을 클릭하고 범위를 지정한 다음에 엔터키를 쳐 보세요. 아마 0 이라고 표시가 될 것입니다. 이것은 수량 부분의 데이터들의 경우, 그냥 겉으로 보기에는 숫자 형태인데 실제로는 문자열 데이터이기 때문에 이런 일이 생기는 것입니다.

해결 방법

① 자동 합계 아이콘을 사용하지 않고 "=D19+D20+…+D28" 과 같이 일일이 손으로 지정해 주는 방법 ② 숫자 형태의 문자열 데이터를 숫자 데이터로 바꾼 다음 자동 합계를 구하는 방법

①의 방법은 자료가 많으면 많을수록 힘이 들겠지요? 경우에 따라서는 불가능 한 경우도 있을 것입니다. 따라서 오늘은 ②의 방법에 대해 설명을 드립니다.

참고: 본문에서 말하는 빨간 네모는 이 페이지의 표에 표시되어 있지 않으며, 문자열로 된 수량 열의 데이터 범위를 뜻합니다. 편집 - 선택하여 붙여 넣기 메뉴는 구버전 기준이며, 최신 Excel에서는 홈 탭의 붙여넣기 - 선택하여 붙여넣기(Ctrl + Alt + V)에서 연산 항목의 곱하기를 선택합니다.

(1) 먼저, 아무 셀에다가 1이라고 입력을 하고 "복사"를 합니다. (2) 바꾸고자 하는 문자열 데이터 부분(위 표의 빨간 네모 부분)을 범위로 잡습니다. (3) "편집-선택하여 붙여 넣기" 메뉴를 선택합니다. (4) 연산 항목에서 "곱하기"를 클릭하고 확인을 누릅니다.

그러면 아래와 같이 수량 부분의 자료가 오른쪽으로 정렬이 되면서 완전한 숫자 데이터로 변환이 됩니다. 이제 수량 합계 부분으로 가서 자동 합계 아이콘을 클릭해 보세요. 자동 합계가 될 것입니다(아래 그림처럼 말이지요).

참고: 아래 표의 오른쪽 위에 있는 1은 복사해 둔 값 1을 입력한 셀입니다. 수량 합계 243은 10, 15, 20, 22, 12, 14, 50, 45, 30, 25를 모두 더한 값입니다.

제품코드 제품명 수량 단가 1
11111-0100 건성 스킨 10 15000
11112-0300 건성 로션 15 16000
11113-0200 지성 스킨 20 20000
21001-0123 지성 로션 22 21000
30100-0303 코롱 샴푸 12 10000
30100-0500 코롱 린스 14 80000
51000-0100 댄트롤 샴푸 50 50000
51001-0200 댄트롤 린스 45 50000
43000-0505 복합스킨 30 16000
43000-0506 아스트린 25 18000
합계 243

다음에 또…

2000-06-22

정리 — 문자열 데이터를 숫자로 바꾸기

구분내용
증상텍스트로 받은 자료의 합계를 자동 합계로 구하면 0이 표시됨
원인겉보기에는 숫자 형태이지만 실제로는 문자열 데이터
방법 1=D19+D20+…+D28처럼 일일이 지정 (자료가 많으면 힘들고 불가능한 경우도 있음)
방법 2문자열 데이터를 숫자 데이터로 바꾼 뒤 자동 합계 사용
변환 절차아무 셀에 1을 입력해 복사 - 문자열 범위 선택 - 선택하여 붙여넣기 - 연산의 곱하기 - 확인
결과데이터가 오른쪽으로 정렬되며 수량 합계 243이 표시

자주 묻는 질문 (FAQ)

Q1. 자동 합계가 0으로 표시되는 이유는 무엇인가요?

셀의 값이 겉보기에는 숫자 형태이지만 실제로는 문자열 데이터이기 때문입니다.

Q2. 문자열로 된 숫자를 한꺼번에 숫자로 바꾸려면 어떻게 하나요?

아무 셀에 1을 입력해 복사한 뒤 바꿀 범위를 선택하고, 선택하여 붙여넣기의 연산 항목에서 곱하기를 선택하고 확인을 누릅니다. 1을 곱해도 값은 그대로이지만 숫자 데이터로 바뀝니다.

Q3. 변환이 잘 되었는지 어떻게 알 수 있나요?

데이터가 오른쪽으로 정렬되고, 자동 합계 아이콘을 클릭하면 합계가 정상적으로 계산됩니다.

마치며

텍스트 파일에서 가져온 자료의 합계가 이상하면 먼저 숫자가 문자열로 저장되어 있는지 확인해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.