엑셀 천단위 절사 방법을 함수, 셀 서식, VBA 매크로를 활용한 세 가지 방식으로 자세히 안내드립니다. 엑셀에서 큰 숫자를 다룰 때 천단위 절사 기능을 활용하면 복잡한 수치를 더 간결하게 표현할 수 있을 뿐만 아니라 이를 통해 데이터 분석 효율성과 가독성도 크게 향상시킬 수 있습니다.

엑셀 천단위 절사 방법
엑셀 천단위 절사는 천 단위 미만의 값(백의 자리 이하)은 버리고 천 단위 이상의 값만 표시하는 기능입니다. 예를 들어 6,345,970원은’ 6,346,000원’ 또는 간단히 ‘6,346천원’으로 표현할 수 있습니다.
함수를 활용한 엑셀 천단위 절사 방법
엑셀에서 함수를 사용하면 천단위 절사를 간단히 구현할 수 있습니다. 대표적으로 ROUND 함수, ROUNDUP 함수, ROUNDDOWN 함수를 활용하며, 필요에 따라 TEXT 함수로 서식을 추가할 수 있습니다.
1. ROUND 함수로 천단위 절사
ROUND 함수에서 자릿수를 ‘-3’으로 입력하면 1,000 자리(천 단위)로 절사됩니다.
- ROUND 함수 기본 구조: =ROUND(원본 데이터 셀 주소, 자릿수)
- A1 셀의 값을 천 단위로 반올림: =ROUND(A1, -3)
- A1 셀의 값을 천 단위로 올림: =ROUNDUP(A1, -3)
- A1 셀의 값을 천 단위로 내림: =ROUNDDOWN(A1, -3)
- ROUND 함수 적용 예시
데이터 | 함수 | 결과값 |
---|---|---|
6345970 | =ROUND(A1,-3) | 6346000 |
6345970 | =ROUNDUP(A1,-3) | 6346000 |
6345970 | =ROUNDDOWN(A1,-3) | 6345000 |
2. TEXT 함수로 서식 추가
천 단위마다 콤마(,)를 추가하거나 숫자 뒤에 단위(예: “원”, “천원”)를 붙이고 싶다면, TEXT 함수를 사용하세요. ‘,##0’ 서식 뒤에 콤마(,)를 추가하면 천 단위 이하 숫자를 숨길 수도 있습니다.
- TEXT 함수 기본 구조: =TEXT(원본 데이터 셀 주소, 서식)
- #,##0: 천 단위마다 콤마 표시
- #,##0원: 천 단위 콤마 + ‘원’ 단위 추가
- #,##0,: 천 단위마다 콤마 + 천 단위 이하 숨김
- #,##0,천원: 천 단위 콤마 + 천 단위 이하 숨김 + ‘천원’ 단위 추가
데이터 | ROUND 함수 | 결과값 |
---|---|---|
6345970 | =TEXT(ROUND(A1,-3),”#,##0″) | 6,346,000 |
6345970 | =TEXT(ROUND(A1,-3),”#,##0원”) | 6,346,000원 |
6345970 | =TEXT(ROUND(A1,-3),”#,##0,천원”) | 6,346천원 |
셀서식을 활용한 엑셀 천단위 절사 방법
셀 서식을 변경하면 백의 자리 이하 숫자가 절사된 것처럼 데이터를 시각적으로 표시할 수 있습니다. 단, 이 방법은 단순히 표시 형식을 바꾸는 것이기 때문에 실제 절사 값으로 변경되지는 않습니다. 계산에 활용할 때는 원본값이 사용된다는 점을 기억하세요.
1. 셀 범위 선택
엑셀 시트에서 천단위 절사를 적용할 셀 또는 셀 범위를 선택합니다.

2. 셀서식 열기
단축키 <Ctrl+1>을 누르거나 마우스 우클릭 후 [셀 서식]을 선택합니다.
※ 셀서식 단축키 : Ctrl + 숫자 '1'

3. 사용자 지정 서식 입력
[표시 형식] 탭에서 [사용자 지정]을 선택하고, 서식 코드에 ‘#,##0,’ 또는 ‘#,##0,천원’을 입력합니다.

【주요 서식】
- #,##0: 천 단위마다 콤마 표시
- #,##0원: 천 단위 콤마 + ‘원’ 단위 추가
- #,##0,: 천 단위마다 콤마 + 천 단위 이하 숨김
- #,##0,천원: 천 단위 콤마 + 천 단위 이하 숨김 + ‘천원’ 단위 추가
원본 데이터 | 셀서식 | 결과값 |
---|---|---|
6345970 | ,##0, | 6,346 |
6345970 | ,##0,천원 | 6,346천원 |
VBA 매크로를 활용한 엑셀 천단위 절사
엑셀에서 VBA 매크로를 활용하면 천단위 절사 작업을 자동화할 수 있어, 버튼 클릭 한 번만으로 반복적인 작업을 간편하게 처리할 수 있을 뿐만 아니라 수작업 없이 정확하게 처리되어, 업무 효율을 획기적으로 향상시킬 수 있습니다.
1. Visual Basic Editor 열기
엑셀에서 단축키 <Alt + F11>을 누르거나, [개발 도구] 탭의 [Visual Basic]을 클릭합니다.

2. 매크로 모듈 삽입
VBA 편집기에서 [삽입] – [모듈] 메뉴를 클릭하면 새로운 모듈(예: Module 1)이 추가됩니다.

3. VBA 코드 삽입
매크로 코드를 복사한 후, 엑셀 VBA 편집창에 붙여 넣습니다. [코드 복사] 버튼을 클릭하면 해당 코드를 간편하게 복사할 수 있습니다.
【VBA 매크로 코드】
Sub 천단위절사()
Dim rng As Range
Dim cell As Range
Dim method As String
Dim addComma As VbMsgBoxResult
Dim showBelowThousand As VbMsgBoxResult
Dim suffix As String
Dim zeroReplacement As String
Dim value As Double
Dim result As Double
' 선택된 범위 확인
On Error Resume Next
Set rng = Application.InputBox("천 단위 절사를 적용할 셀 범위를 선택하세요:", "범위 선택", Type:=8)
On Error GoTo 0
If rng Is Nothing Then
MsgBox "범위가 선택되지 않았습니다. 매크로를 종료합니다.", vbExclamation
Exit Sub
End If
' 절사 방식 선택 (반올림, 올림, 내림)
method = Application.InputBox("절사 방식을 선택하세요 (1: 반올림, 2: 올림, 3: 내림):", "절사 방식", "1")
If method <> "1" And method <> "2" And method <> "3" Then
MsgBox "잘못된 입력입니다. 1, 2, 3 중 하나를 입력하세요.", vbExclamation
Exit Sub
End If
' 천 단위 콤마 표시 여부
addComma = MsgBox("천 단위 콤마(,)를 표시하시겠습니까?", vbYesNo + vbQuestion, "콤마 표시")
' 천 단위 이하 숫자 표시 여부 (천 단위 미만 절사 여부)
showBelowThousand = MsgBox("천 단위 이하 숫자를 표시하시겠습니까? (아니오 선택 시 천 단위 이하 절사, 예: 6,346,000 -> 6,346)", vbYesNo + vbQuestion, "천 단위 이하 표시")
' 0 결과 대체 텍스트 입력
zeroReplacement = Application.InputBox("결과가 0일 경우 표시할 텍스트를 입력하세요 (기본값: -). 비워두면 '-'로 표시됩니다:", "0 결과 처리", "-")
If zeroReplacement = "" Then zeroReplacement = "-"
' 숫자 뒤에 추가할 텍스트 입력
suffix = Application.InputBox("숫자 뒤에 추가할 텍스트를 입력하세요 (예: 원, 천원, USD). 없으면 비워두세요:", "텍스트 추가", "")
' 선택된 범위의 셀 처리
For Each cell In rng
If IsNumeric(cell.value) And Not IsEmpty(cell.value) Then
value = cell.value
' 천 단위 절사 계산
Select Case method
Case "1" ' 반올림
result = Round(value / 1000, 0) * 1000
Case "2" ' 올림
result = WorksheetFunction.Ceiling(value, 1000)
Case "3" ' 내림
result = WorksheetFunction.Floor(value, 1000)
End Select
' 천 단위 이하 절사 처리
If showBelowThousand = vbNo Then
result = Int(Round(result / 1000, 0)) ' 천 단위로 나누고 반올림
End If
' 결과가 0인 경우
If result = 0 Then
If value < 1000 And showBelowThousand = vbNo And LCase(suffix) = "천원" Then
cell.value = zeroReplacement ' suffix 생략
Else
cell.value = zeroReplacement & suffix
End If
Else
' 작은 값 처리 (1,000 미만, suffix가 "천원"일 때)
If value < 1000 And showBelowThousand = vbNo And LCase(suffix) = "천원" Then
If result >= 1 Then
' 1천원 이상일 경우 천원 단위로 표시
If addComma = vbYes Then
cell.value = Format(result, "#,##0") & suffix
Else
cell.value = result & suffix
End If
Else
' 결과가 0이면 대체 텍스트 사용 (suffix 생략)
cell.value = zeroReplacement
End If
Else
' 일반 포맷팅
If addComma = vbYes Then
cell.value = Format(result, "#,##0") & suffix
Else
cell.value = result & suffix
End If
End If
End If
End If
Next cell
MsgBox "천 단위 절사가 완료되었습니다!", vbInformation
End Sub
4. 매크로 실행 버튼 추가
엑셀 시트로 돌아와 [개발 도구] 탭의 [삽입] 그룹에서 단추(양식 컨트롤) 아이콘을 클릭합니다.

5. 매크로 지정
엑셀 시트에서 마우스로 드래그하여 버튼을 만든 뒤, 매크로 목록에서 ‘천단위 절사’ 매크로를 선택합니다.

6. 매크로 코드 실행
버튼을 클릭하면 ‘천단위 절사’ 매크로가 자동 실행됩니다. 이후 나타나는 알림창 안내에 따라 원하는 절사 옵션을 선택하면, 선택한 방식으로 천단위 절사가 바로 적용됩니다.
【천단위 절사 매크로 주요 기능】
- 숫자를 천 단위로 절사 (예: 6,346,789 → 6,347,000)
- 절사 방식 선택: 반올림, 올림, 내림 중 택일
- 추가 옵션: 천 단위 콤마 표시, 단위 추가 (예: “원”, “천원”)
- 결과가 0일 경우: 사용자 지정 텍스트(기본값: ‘-‘)로 대체
VBA 매크로 주요 함수 및 역할
엑셀에서 천단위 절사 작업을 자동화하는 VBA 매크로를 직접 수정하거나 커스터마이징하고 싶다면, 아래 주요 함수 및 역할을 참고하세요.
입력 및 메시지 관련 함수
1. Application.InputBox
사용자로부터 셀 범위, 텍스트, 숫자 등을 입력받는 대화상자를 표시 (Type:=8은 셀 범위 선택을 의미)
2. MsgBox
사용자에게 메시지를 표시하고, 버튼 선택 결과를 반환하거나 알림창으로 사용 (예: vbYes, vbNo)
3. vbYes, vbNo
MsgBox 결과로 반환되는 상수 (사용자가 ‘예’를 선택하면 vbYes, ‘아니오’를 선택하면 vbNo 반환)
4. VbMsgBoxResult
MsgBox 함수의 결과를 저장하는 열거형 (사용자의 응답을 판단할 때 사용)
5. vbExclamation, vbInformation, vbQuestion
MsgBox에 표시할 아이콘 종류 (경고 ❗, 정보 ℹ️, 질문 ❓ 등의 상황에 따라 사용)
수치 계산 및 절사 함수
1. Round(값, 자릿수)
지정한 자릿수에서 값을 반올림합니다.
2. WorksheetFunction.Ceiling(값, 배수)
값을 지정 배수로 올림 처리합니다.
3. WorksheetFunction.Floor(값, 배수)
값을 지정 배수로 내림 처리합니다.
4. Int(값)
소수점 이하를 버리고 정수 부분만 반환합니다.
5. Format(값, 형식 문자열)
숫자를 지정된 형식으로 변환합니다. (예: #,##0 → 천 단위 쉼표)
문자열 및 조건 확인 함수
1. LCase(문자열)
문자열을 모두 소문자로 변환하여 비교 시 대소문자 구분을 피합니다.
2. IsNumeric(값)
값이 숫자인지 확인하여 True 또는 False 반환합니다.
3. IsEmpty(셀 값)
셀이 비어 있는지를 확인하여 True 또는 False 반환합니다.
오류 처리 및 흐름 제어
1. On Error Resume Next
오류가 발생해도 해당 줄을 무시하고 다음 줄을 계속 실행합니다.
2. On Error GoTo 0
이전의 오류 무시 설정을 해제하고, 일반적인 오류 처리 상태로 복원합니다.
3. Exit Sub
매크로 실행을 즉시 중단하고 빠져나올 때 사용합니다.
반복, 분기 및 변수 선언
1. Set 변수 = 객체
Range(범위) 등 엑셀 객체를 변수에 할당할 때 사용합니다.
2. For Each 변수 In 컬렉션
특정 범위의 셀이나 항목을 순차적으로 반복 처리합니다.
3. Select Case 변수
변수의 값에 따라 여러 분기 중 하나를 선택해 실행합니다.
4. If … Then … Else
조건에 따라 서로 다른 코드 블록을 실행합니다.
5. And, Not
‘And’는 모든 조건이 참일 때만 참, ‘Not’은 조건을 부정합니다.
주요 데이터 타입 및 객체
1. Double
실수형 데이터. 정수 및 소수점 숫자를 저장할 수 있습니다.
2. String
문자열 데이터 타입입니다. 텍스트 저장에 사용됩니다.
3. Range
셀 또는 셀 범위를 나타내는 Excel 개체입니다.
4. cell.Value
셀의 실제 값을 가져오거나 설정합니다.
5. Not IsEmpty(cell.Value)
셀이 비어 있지 않을 때 조건을 참으로 평가합니다.
▼ 카테고리 다른 글
엑셀 금액 한글 변환 방법 3가지 (함수, VBA 매크로, 셀서식)
한글 표 자동 계산식 입력과 수정 방법 | 한글 계산식 함수