Power Query(파워 쿼리)를 활용하여 반복적인 데이터 정리 작업에 소요되는 시간을 획기적으로 줄이는 방법을 찾고 계신가요? 이 글에서는 엑셀 실무자들이 가장 많이 겪는 문제 중 하나인 '특정 구분자 앞/뒤 텍스트만 추출'하는 방법을 3가지 상황별로 상세히 알려드립니다. 이 가이드를 통해 데이터 전처리 시간을 획기적으로 줄여보세요.
1. 가장 간단한 방법: '구분 기호로 열 분할'
가장 직관적이고 빠른 방법입니다. 코드를 전혀 몰라도 마우스 클릭만으로 해결할 수 있어 초보자에게 가장 먼저 추천하는 방식입니다. 예를 들어 '제품명-코드' 형식의 데이터에서 제품명과 코드를 분리할 수 있습니다.

하지만 이 기능에는 명확한 한계가 있습니다. 만약 데이터가 '제품A-전략B-담당자C' 처럼 동일한 구분 기호를 여러번 포함하고 있다면, 모든 구분 기호를 기준으로 열을 전부 분할해 버립니다. 우리가 원하는 것은 오직 첫 번째 구분 기호 앞의 '제품A' 뿐인데도 말이죠. 이럴 때 필요한 것이 바로 M 함수입니다.
2. 맞춤형 제어: '사용자 지정 열'과 M 함수
원본 데이터를 유지하면서, 원하는 기준에 맞춰 텍스트를 정교하게 추출하고 싶을 때 사용하는 가장 이상적인 방법입니다. 여기서는 Text.BeforeDelimiter와 Text.AfterDelimiter라는 두 가지 함수를 사용합니다.
2-1. 구분자 앞 텍스트 추출: Text.BeforeDelimiter
이름 그대로, 지정된 구분 기호(Delimiter)가 처음 나타나는 위치를 기준으로 앞부분의 텍스트를 반환합니다.
// 사용법: Text.BeforeDelimiter([원본열], "구분기호")
Text.BeforeDelimiter([product_tactic], "-")
예를 들어, "제품A-전략B-담당자C"라는 텍스트가 있을 때, 위 수식은 첫 번째 하이픈(-) 앞의 텍스트인 "제품A"만을 정확히 반환합니다.

2-2. 구분자 뒤 텍스트 추출: Text.AfterDelimiter
반대로 구분자 뒤에 있는 텍스트만 추출하고 싶다면 Text.AfterDelimiter 함수를 사용합니다.
// 사용법: Text.AfterDelimiter([원본열], "구분기호")
Text.AfterDelimiter([product_tactic], "-")
"제품A-전략B-담당자C"라는 텍스트에 이 수식을 적용하면, 첫 번째 하이픈(-) 뒤의 모든 텍스트인 "전략B-담당자C"를 반환합니다.
3. 실무 활용도를 높이는 오류 처리 팁
만약 데이터에 구분 기호가 없는 경우, 위 함수들은 오류를 반환하거나 빈 값을 표시할 수 있습니다. 데이터의 일관성을 위해, 엑셀의 IFERROR처럼 파워 쿼리에서도 오류를 제어할 수 있습니다. try...otherwise 구문을 사용하면 됩니다.
// 구분자가 없을 경우 "해당 없음" 텍스트를 반환
try Text.BeforeDelimiter([product_tactic], "-") otherwise "해당 없음"
이 구문은 try 다음에 오는 수식 실행에 실패할 경우(이 경우, 하이픈이 없어 분리할 수 없을 때), otherwise 뒤에 지정된 값을 대신 반환하여 예외 상황에 깔끔하게 대처할 수 있습니다.
마무리하며
파워 쿼리에서 특정 구분자를 기준으로 텍스트를 추출하는 세 가지 방법을 알아보았습니다. 단순한 작업은 '열 분할' 기능으로 빠르게 처리하고, 더 정교한 제어가 필요할 때는 M 함수를, 그리고 예상치 못한 오류를 방지하기 위해 `try...otherwise` 구문을 활용해 보세요. 반복적인 텍스트 분리 작업을 간소화하여 작업 시간을 단축하고, 보다 일관된 데이터 전처리를 가능하게 만듭니다.
'IT.모바일 > 데이터분석' 카테고리의 다른 글
| Power BI 열 이름(Column) 한번에 대문자로 바꾸는 방법 (0) | 2025.09.14 |
|---|---|
| Power BI 데이터플로우: Fabric vs Legacy vs Platform (0) | 2025.09.08 |
| SQL UNION, 중복 데이터 확인 쿼리 (0) | 2025.01.21 |
| SQL Server Developer vs. Express Edition 비교 | SSMS 서버 이름 설정 | Excel Import OLEDB.16.0 에러 해결 (0) | 2025.01.20 |
댓글