
엑셀 파워쿼리 IF문은 데이터 처리와 분석에서 조건부 논리를 구현하는 가장 강력한 도구 중 하나입니다. 기존 엑셀 IF함수와는 달리 파워쿼리 IF문은 복잡한 데이터 변환과 대용량 데이터 처리에 특화되어 있어 업무 효율성을 크게 향상시킬 수 있습니다. 파워쿼리 환경에서는 조건부 열 기능과 M코드 작성 두 가지 방법으로 IF문을 활용할 수 있으며, 단순한 조건부터 중첩된 복잡한 조건까지 다양한 시나리오에 대응이 가능합니다.
파워쿼리 IF문 기본 구조와 문법
파워쿼리 IF문의 기본 구조는 logical_test, value_if_true, value_if_false 세 가지 요소로 구성됩니다. 일반적인 엑셀 IF함수와 유사하지만 파워쿼리만의 고유한 문법을 사용합니다. if [열이름] = 값 then 결과1 else 결과2 형태로 작성되며, 대소문자를 구분하지 않는 것이 특징입니다. 마이크로소프트 공식 문서에서 제공하는 표준 문법을 따르면 더욱 안정적인 수식을 작성할 수 있습니다. 파워쿼리 환경에서는 데이터 타입에 따라 텍스트, 숫자, 날짜 등 다양한 조건 연산자를 활용할 수 있어 더욱 정교한 조건 설정이 가능합니다.
조건부 열을 활용한 기본 IF문 구현
조건부 열 기능은 파워쿼리 초보자도 쉽게 IF문을 구현할 수 있는 시각적 인터페이스를 제공합니다. 데이터 탭에서 테이블/범위를 선택한 후 파워쿼리 편집기로 이동하여 열 추가 메뉴에서 조건부 열을 클릭하면 됩니다.
- 새 열 이름을 지정하고 평가할 기준 열을 선택합니다
- 연산자를 선택하여 같음, 포함, 시작함 등의 조건을 설정합니다
- 조건이 참일 때와 거짓일 때 반환할 값을 각각 지정합니다
- 여러 조건이 필요한 경우 조건 추가 버튼을 클릭하여 추가 기준을 설정할 수 있습니다
M코드를 활용한 고급 IF문 작성법
복잡한 논리가 필요한 경우에는 사용자 정의 열에서 M코드를 직접 작성하는 것이 효율적입니다. 중첩된 IF문, AND/OR 논리 조합, 복합 조건 등을 구현할 수 있어 더욱 정교한 데이터 처리가 가능합니다.
조건 유형 | 문법 구조 | 활용 예시 |
---|---|---|
기본 IF문 | if [열] = 값 then 결과1 else 결과2 | 제품 상태에 따른 할인율 적용 |
중첩 IF문 | if 조건1 then 결과1 else if 조건2 then 결과2 else 결과3 | 다단계 등급 분류 |
OR 논리 | if [열] = 값1 or [열] = 값2 then 결과1 else 결과2 | 여러 조건 중 하나라도 만족 |
AND 논리 | if [열1] = 값1 and [열2] > 값2 then 결과1 else 결과2 | 모든 조건을 동시에 만족 |
중첩된 IF문으로 복잡한 조건 처리하기
실무에서는 단순한 이분법적 조건보다는 다단계 조건 분기가 필요한 경우가 많습니다. 파워쿼리 편집기에서 중첩된 IF문을 사용하면 제품별 차등 할인율, 고객 등급별 서비스 분류, 매출 구간별 보너스 계산 등 복잡한 비즈니스 로직을 효과적으로 구현할 수 있습니다. 중첩 IF문 작성 시에는 각 조건의 우선순위를 명확히 하고 else 문을 적절히 배치하여 모든 경우의 수를 처리해야 합니다.
예를 들어 제품이 Dress인 경우 50% 할인, Sweater나 Hoodie인 경우 20% 할인, 그 외는 원가격을 유지하는 로직을 구현할 때는 if [Product] = “Dress” then [Price] * 0.5 else if [Product] = “Sweater” then [Price] * 0.8 else if [Product] = “Hoodie” then [Price] * 0.8 else [Price] 형태로 작성합니다.
AND와 OR 논리 연산자 활용법
파워쿼리에서 AND와 OR 논리 연산자를 활용하면 더욱 정교한 조건 설정이 가능합니다. OR 논리는 여러 조건 중 하나라도 만족하면 참을 반환하며, AND 논리는 모든 조건이 동시에 만족해야 참을 반환합니다. 파워쿼리 공식 사이트에서 제공하는 다양한 논리 연산자를 활용하면 복잡한 비즈니스 규칙도 효과적으로 구현할 수 있습니다.
실제 업무에서는 (제품이 Dress이고 주문량이 300 이상) 또는 (제품이 Trousers이고 주문량이 300 이상)인 경우 A+ 등급을 부여하는 복합 조건을 구현할 수 있습니다. 이때 괄호를 사용하여 조건의 우선순위를 명확히 하고 논리 연산자를 적절히 조합하는 것이 중요합니다.
파워쿼리 IF문 최적화와 성능 향상 팁
대용량 데이터를 처리할 때는 IF문의 성능 최적화가 중요합니다. 조건의 순서를 가장 빈번하게 만족하는 조건부터 배치하고, 불필요한 중첩을 피하며, 데이터 타입을 일치시켜 비교 연산의 효율성을 높여야 합니다. 파워쿼리 최적화 가이드를 참고하여 메모리 사용량을 최소화하고 처리 속도를 향상시킬 수 있습니다. 특히 텍스트 비교 시에는 대소문자 구분 여부를 명확히 하고, 숫자 비교 시에는 적절한 반올림 처리를 통해 정확성을 보장해야 합니다.
또한 파워쿼리 IF문에서 사용할 수 있는 주요 논리 연산자로는 등호(=), 부등호(<>), 대소비교(>, >=, <, <=) 등이 있으며, 각 연산자의 특성을 이해하고 적절히 활용하면 더욱 효과적인 데이터 처리가 가능합니다.