엑셀 천단위 절사 방법 3가지 (함수, 셀서식, VBA 매크로)

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

엑셀 천단위 절사 방법 3가지 (함수, 셀서식, 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]을 클릭합니다.

엑셀-개발도구-vba-편집창-열기

2. 매크로 모듈 삽입

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

vba-편집창-모듈-삽입-메뉴-클릭하기

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 매크로, 셀서식)

사칙연산 순서 4가지 법칙 (실전 문제 예시)

한글 표 자동 계산식 입력과 수정 방법 | 한글 계산식 함수

한글 분수 입력 방법 (한글 수식 단축키, 명령어 안내)

한글 셀합치기 단축키 – 한글 표 단축키로 표 편집 효율 높이기

Leave a Comment