Excel에서 예외를 포함하여 텍스트 문자열을 적절한 대소문자로 변환하는 방법은 무엇입니까?
Excel에서는 텍스트 문자열을 쉽게 적절한 대소문자로 변환하기 위해 Proper 함수를 사용할 수 있습니다. 하지만 때로는 다음 스크린샷과 같이 특정 단어들을 제외하고 텍스트 문자열을 적절한 대소문자로 변환해야 할 수도 있습니다. 이 문서에서는 Excel에서 이 작업을 해결하기 위한 몇 가지 빠른 팁에 대해 설명하겠습니다.
수식을 사용하여 예외를 포함한 텍스트 문자열을 적절한 대소문자로 변환
VBA 코드를 사용하여 예외를 포함한 텍스트 문자열을 적절한 대소문자로 변환
수식을 사용하여 예외를 포함한 텍스트 문자열을 적절한 대소문자로 변환
아래의 수식이 이 작업을 신속히 처리하는 데 도움이 될 수 있습니다. 아래와 같이 진행해 주세요:
다음 수식을 입력하세요:
=UPPER(LEFT(A2))&MID(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(" "&PROPER(A2)&" "," Of "," of ")," A "," a "),"Is "," is ")," Usa "," USA ")),2,LEN(A2)) 결과를 얻고자 하는 셀에 입력한 후, 채우기 핸들을 드래그하여 이 수식을 채우면, 특정 예외를 제외한 텍스트 문자열이 적절한 대소문자로 변환됩니다. 스크린샷을 참조하세요:
참고: 위의 수식에서 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 키를 눌러 이 코드를 실행하면 원본 셀을 선택하라는 메시지 상자가 나타납니다. 스크린샷을 참조하세요:
4. 확인을 클릭한 다음 결과를 출력하려는 셀을 선택합니다. 스크린샷을 참조하세요:
5. 계속해서 확인을 클릭하고, 팝업 대화 상자에서 제외할 텍스트를 선택합니다. 스크린샷을 참조하세요:
6. 그런 다음 확인을 클릭하여 대화 상자를 종료하면, 지정된 단어를 제외한 모든 텍스트 문자열이 적절한 대소문자로 변환됩니다. 스크린샷을 참조하세요:
최고의 오피스 생산성 도구
? | 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% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!