Skip to main content

 Excel에서 예외를 포함하여 텍스트 문자열을 적절한 대소문자로 변환하는 방법은 무엇입니까?

Author: Xiaoyang Last Modified: 2025-05-20

Excel에서는 텍스트 문자열을 쉽게 적절한 대소문자로 변환하기 위해 Proper 함수를 사용할 수 있습니다. 하지만 때로는 다음 스크린샷과 같이 특정 단어들을 제외하고 텍스트 문자열을 적절한 대소문자로 변환해야 할 수도 있습니다. 이 문서에서는 Excel에서 이 작업을 해결하기 위한 몇 가지 빠른 팁에 대해 설명하겠습니다.

convert text string to proper case with exceptions

수식을 사용하여 예외를 포함한 텍스트 문자열을 적절한 대소문자로 변환

VBA 코드를 사용하여 예외를 포함한 텍스트 문자열을 적절한 대소문자로 변환


수식을 사용하여 예외를 포함한 텍스트 문자열을 적절한 대소문자로 변환

아래의 수식이 이 작업을 신속히 처리하는 데 도움이 될 수 있습니다. 아래와 같이 진행해 주세요:

다음 수식을 입력하세요:

=UPPER(LEFT(A2))&MID(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(" "&PROPER(A2)&" "," Of "," of ")," A "," a "),"Is "," is ")," Usa "," USA ")),2,LEN(A2)) 결과를 얻고자 하는 셀에 입력한 후, 채우기 핸들을 드래그하여 이 수식을 채우면, 특정 예외를 제외한 텍스트 문자열이 적절한 대소문자로 변환됩니다. 스크린샷을 참조하세요:

convert text string to proper case with exceptions by using formula

참고: 위의 수식에서 A2는 변환하려는 셀이며, “Of ”, “A”, “Is”, “Usa”는 변환 후 일반적인 적절한 대소문자 단어입니다. “of ”, “a”, “is”, “USA”는 적절한 대소문자에서 제외하려는 단어들입니다. 필요에 따라 이를 변경하거나 SUBSTITUTE 함수를 사용하여 다른 단어를 추가할 수 있습니다.



VBA 코드를 사용하여 예외를 포함한 텍스트 문자열을 적절한 대소문자로 변환

위의 수식이 이해하고 필요에 맞게 수정하기 어렵다면, 여기서 VBA 코드를 적용하여 이 작업을 완료할 수도 있습니다. 아래 단계를 하나씩 따라 해 보세요.

1. ALT + F11 키를 눌러 Microsoft Visual Basic for Applications 창을 엽니다.

2. 삽입 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여넣습니다.

VBA 코드: 예외를 포함하여 텍스트 문자열을 적절한 대소문자로 변환:

Sub CellsValueChange()
'Updateby Extendoffice
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xPRg As Range
    Dim xSRgArea As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim I As Long
    Dim K As Long
    Dim KK As Long
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
    If xPRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRg.Areas.Count
        Set xSRgArea = xSRg.Areas.Item(I)
        For K = 1 To xSRgArea.Count
            xRgVal = xSRgArea(K).Value
            If Not IsNumeric(xRgVal) Then
                xRgVal = CorrectCase(xRgVal, xPRg)
                xDRg.Offset(KK).Value = xRgVal
            End If
            KK = KK + 1
        Next
    Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
    Dim xArrWords As Variant
    Dim I As Integer
    Dim xPointer As Integer
    Dim xVal As String
    xPointer = 1
    xVal = xRgVal
    xArrWords = WordsOf(xRgVal)
    For I = 0 To UBound(xArrWords)
        xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
        Debug.Print xPointer
        Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
    Next I
    CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
    Dim xDelimiters As Variant
    Dim xArrRtn As Variant
    xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
    For Each xEachDelimiter In xDelimiters
        xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
    Next xEachDelimiter
    xArrRtn = Split(Trim(xRgVal), " ")
    WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
    With xERg
        If IsError(Application.Match(xArrWord, .Cells, 0)) Then
            CorrectCaseOneWord = Application.Proper(xArrWord)
        Else
            CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
        End If
    End With
End Function

3. 그런 다음 F5 키를 눌러 이 코드를 실행하면 원본 셀을 선택하라는 메시지 상자가 나타납니다. 스크린샷을 참조하세요:

vba code to select data range

4. 확인을 클릭한 다음 결과를 출력하려는 셀을 선택합니다. 스크린샷을 참조하세요:

vba code to desitination cell

5. 계속해서 확인을 클릭하고, 팝업 대화 상자에서 제외할 텍스트를 선택합니다. 스크린샷을 참조하세요:

vba code to select excluded text

6. 그런 다음 확인을 클릭하여 대화 상자를 종료하면, 지정된 단어를 제외한 모든 텍스트 문자열이 적절한 대소문자로 변환됩니다. 스크린샷을 참조하세요:

result of converting text string to proper case with exceptions

최고의 오피스 생산성 도구

? Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 함수 호출을 기반으로 데이터 분석 혁신…
인기 기능: 중복 찾기, 강조 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열 또는 셀 결합   |   수식 없이 반올림 ...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 빠르게 드롭다운 목록 만들기   |  종속 드롭다운 목록   |  다중 선택 드롭다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  숨겨진 열의 가시성 상태 전환  |  범위 및 열 비교 ...
주요 기능: 그리드 포커스   |  디자인 보기   |   향상된 수식 표시줄    통합 문서 및 시트 관리자   |  자동 텍스트 라이브러리 (Auto Text)   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵은 글꼴/이탤릭체/취소선 필터링...) ...
최고의 15가지 도구 모음12개의 텍스트 도구 (텍스트 추가, 특정 문자 삭제, ...)   |   50+ 차트 유형 (간트 차트, ...)   |   40+ 실용적인 수식 (생일을 기반으로 나이 계산, ...)   |   19개 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입, ...)   |   12개 변환 도구 (단어로 변환하기, 통화 변환, ...)   |   7개 병합 및 분할 도구 (고급 행 병합, 셀 분할, ...)   |   ... 그리고 더 많은 기능들

Kutools for Excel로 엑셀 스킬을 강화하고 지금까지 경험하지 못한 효율성을 체험하세요. Kutools for Excel은 생산성을 향상시키고 시간을 절약할 수 있는 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하세요...


Office Tab은 탭 인터페이스를 Office에 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화하세요.
  • 새 창 대신 동일한 창의 새 탭에서 여러 문서를 열고 생성하세요.
  • 생산성을 50% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!