엑셀 함수: SUBSTITUTE, PROPER, MID, LOWER를 활용한 문자열 변환 자동화
엑셀에서 데이터 가공은 필수적인 작업 중 하나입니다. 특히, 데이터의 형식을 변환해야 하는 경우 여러 함수를 조합하여 원하는 결과를 얻을 수 있습니다. 이번 글에서는 다음과 같은 엑셀 수식을 분석하고 활용법을 설명하겠습니다.
=LOWER(MID(SUBSTITUTE(PROPER(B2),"_",""),1,1))&MID(SUBSTITUTE(PROPER(B2),"_",""),2,LEN(SUBSTITUTE(PROPER(B2),"_","")))
이 수식은 언더바(_)가 포함된 문자열을 변환하여 첫 글자는 소문자로, 나머지는 원래의 형식대로 유지하는 기능을 수행합니다. 하나씩 분석해 보겠습니다.
1. 수식의 기능 분석
위의 엑셀 수식을 한 단계씩 분해하여 이해해 보겠습니다.
1-1. SUBSTITUTE(PROPER(B2), "_", "")
- SUBSTITUTE(텍스트, "찾을 문자", "바꿀 문자")
→ B2 셀의 값에서 언더바(_)를 제거합니다. - PROPER(텍스트)
→ B2 셀의 값을 첫 글자만 대문자로 변환합니다.
B2 입력 값 PROPER(B2) 결과 SUBSTITUTE(PROPER(B2), "_", "") 결과
hello_world | Hello_World | HelloWorld |
my_name_is | My_Name_Is | MyNameIs |
위 예제에서 볼 수 있듯이, _가 제거되면서 단어가 하나로 연결됩니다.
1-2. MID(SUBSTITUTE(PROPER(B2), "_", ""),1,1)
- MID(텍스트, 시작 위치, 가져올 문자 수)
→ 변환된 문자열에서 첫 번째 문자만 가져옵니다.
변환된 문자열 MID 결과 (1번째 문자)
HelloWorld | H |
MyNameIs | M |
1-3. LOWER(MID(...))
- LOWER(텍스트)
→ 첫 번째 문자(H, M 등)를 소문자로 변환합니다.
MID 결과 LOWER 결과
H | h |
M | m |
1-4. MID(SUBSTITUTE(PROPER(B2), "", ""),2,LEN(SUBSTITUTE(PROPER(B2), "", "")))
- MID(텍스트, 2, 전체 길이)
→ 첫 번째 문자를 제외한 나머지 문자열을 가져옵니다.
변환된 문자열 MID 결과 (2번째 문자부터 끝까지)
HelloWorld | elloWorld |
MyNameIs | yNameIs |
1-5. LOWER(MID(...)) & MID(...)
- 소문자로 변환된 첫 글자와 나머지 문자를 합쳐서 새로운 형식의 문자열을 생성합니다.
최종 결과
원래 값 (B2) 변환된 값
hello_world | helloWorld |
my_name_is | myNameIs |
이제 원래의 스네이크 케이스(Snake Case) 형태(예: hello_world)에서 카멜 케이스(Camel Case) 형태(예: helloWorld)로 변환된 것을 확인할 수 있습니다.
2. 실전 활용 방법
2-1. 코드 변수 변환
개발을 하다 보면 스네이크 케이스(hello_world)를 카멜 케이스(helloWorld)로 바꿔야 하는 경우가 많습니다. 이 수식을 활용하면 엑셀에서 대량의 데이터를 손쉽게 변환할 수 있습니다.
2-2. 데이터 정리 자동화
데이터 파일에서 특정 규칙으로 작성된 텍스트를 변환해야 할 때 유용합니다. 특히 대량의 데이터에서 자동 변환이 필요할 때 시간을 절약할 수 있습니다.
2-3. 사용자 지정 함수로 활용
엑셀에서 VBA를 사용하여 **사용자 지정 함수(UDF)**로 만들면 더 쉽게 사용할 수 있습니다. 아래는 VBA 코드 예제입니다.
Function ConvertToCamelCase(ByVal txt As String) As String
Dim newTxt As String
newTxt = WorksheetFunction.Proper(Replace(txt, "_", ""))
ConvertToCamelCase = LCase(Left(newTxt, 1)) & Mid(newTxt, 2, Len(newTxt))
End Function
VBA를 활용하면 엑셀 함수보다 빠르게 실행할 수 있고, 반복적인 작업을 자동화할 수 있습니다.
'무한루프 > 개발, 업무' 카테고리의 다른 글
MS-SQL 함수(FUNCTION) 작성 예제 (0) | 2025.03.04 |
---|---|
MS-SQL 저장 프로시저(Stored Procedure) 작성 예제 (0) | 2025.03.03 |
Java API에서 return 값의 형태 선택(DTO, Map, ResponseEntity) (0) | 2025.02.28 |
Cannot load driver class: org.mariadb.jdbc.Driver Maria DB 설정 셋팅 에러 (1) | 2025.02.28 |
DTO와 VO의 차이 (0) | 2025.02.28 |