파워 쿼리: If 문 - 중첩된 ifs & 여러 조건
Excel Power Query에서 IF 문은 조건을 확인하고 결과가 TRUE인지 FALSE인지에 따라 특정 값을 반환하는 가장 인기 있는 함수 중 하나입니다. 이 IF 문과 Excel의 IF 함수 사이에는 몇 가지 차이점이 있습니다. 이 튜토리얼에서는 이 IF 문의 구문과 간단한 예제와 복잡한 예제를 소개하겠습니다.
M 코드 작성으로 Power Query if 문 사용하기
Power Query의 기본 if 문 구문
Power Query에서 구문은 다음과 같습니다:
- logical_test: 테스트하려는 조건입니다.
- value_if_true: 결과가 TRUE일 경우 반환할 값입니다.
- value_if_false: 결과가 FALSE일 경우 반환할 값입니다.
Excel Power Query에서는 이러한 조건부 논리를 생성하는 두 가지 방법이 있습니다:
- 기본 시나리오의 경우 조건부 열 기능 사용;
- 더 고급 시나리오의 경우 M 코드 작성.
다음 섹션에서는 이 if 문을 사용하는 몇 가지 예제에 대해 설명하겠습니다.
조건부 열을 사용한 Power Query if 문
예제 1: 기본 if 문
여기서는 Power Query에서 이 if 문을 사용하는 방법을 소개하겠습니다. 예를 들어, 아래 제품 보고서가 있다고 가정해 봅시다. 제품 상태가 'Old'인 경우 50% 할인을 표시하고, 제품 상태가 'New'인 경우 20% 할인을 표시합니다. 아래 스크린샷을 참조하세요.
1. 워크시트에서 데이터 테이블을 선택한 다음, Excel 2019 및 Excel 365에서 데이터 > 테이블/범위로 클릭하세요. 스크린샷을 참조하세요:
참고: Excel 2016 및 Excel 2021에서는 데이터 > 테이블로 클릭하세요. 스크린샷을 참조하세요:
2. 그런 다음 열린 Power Query Editor 창에서 열 추가 > 조건부 열을 클릭하세요. 스크린샷을 참조하세요:
3. 나타난 조건부 열 추가 대화 상자에서 다음 작업을 수행하세요:
- 새 열 이름: 새 열의 이름을 입력하세요;
- 그런 다음 필요한 기준을 지정하세요. 예를 들어, 상태가 Old면 50%, 그렇지 않으면 20%로 지정하겠습니다;
- 열 이름: if 조건을 평가할 열입니다. 여기서는 상태를 선택합니다.
- 연산자: 사용할 조건 논리입니다. 옵션은 선택한 열 이름의 데이터 유형에 따라 다릅니다.
- 텍스트: ~로 시작, ~로 시작하지 않음, 같음, 포함 등
- 숫자: 같음, 같지 않음, 크거나 같음 등
- 날짜: 이전, 이후, 같음, 같지 않음 등
- 값: 평가 대상과 비교할 특정 값입니다. 열 이름과 연산자와 함께 조건을 구성합니다.
- 출력: 조건이 충족될 경우 반환할 값입니다.
- 그 밖의 경우: 조건이 거짓일 때 반환할 다른 값입니다.
4. 그런 다음 확인 버튼을 클릭하여 Power Query Editor 창으로 돌아갑니다. 이제 새로운 할인 열이 추가되었습니다. 스크린샷을 참조하세요:
5. 숫자를 백분율 형식으로 지정하려면 할인 열 머리글에서 ABC123 아이콘을 클릭하고 필요에 따라 백분율을 선택하세요. 스크린샷을 참조하세요:
6. 마지막으로 홈 > 닫기 및 로드 > 닫기 및 로드를 클릭하여 이 데이터를 새 워크시트로 로드하세요.
예제 2: 복잡한 if 문
이 조건부 열 옵션을 사용하면 Add Conditional Column 대화 상자에 두 개 이상의 조건을 삽입할 수도 있습니다. 다음과 같이 하세요:
1. 데이터 테이블을 선택하고 데이터 > 테이블/범위를 클릭하여 Power Query Editor 창으로 이동합니다. 새 창에서 열 추가 > 조건부 열을 클릭합니다.
2. 나타난 조건부 열 추가 대화 상자에서 다음 작업을 수행하세요:
- 새 열 이름 텍스트 상자에 새 열의 이름을 입력하세요;
- 첫 번째 기준 필드에 첫 번째 기준을 지정하고, 필요에 따라 조건 추가 버튼을 클릭하여 다른 기준 필드를 추가합니다.
3. 기준을 완료한 후 확인 버튼을 클릭하여 Power Query Editor 창으로 돌아갑니다. 이제 필요한 결과가 포함된 새 열이 생성됩니다. 스크린샷을 참조하세요:
4. 마지막으로 홈 > 닫기 및 로드 > 닫기 및 로드를 클릭하여 이 데이터를 새 워크시트로 로드하세요.
M 코드 작성으로 Power Query if 문 사용하기
일반적으로 조건부 열은 일부 기본 시나리오에 유용합니다. 때때로 AND 또는 OR 논리를 사용하여 여러 조건을 사용해야 할 수 있습니다. 이 경우 더 복잡한 시나리오를 위해 사용자 정의 열 내부에 M 코드를 작성해야 합니다.
예제 1: 기본 if 문
첫 번째 데이터를 예로 들어, 제품 상태가 Old인 경우 50% 할인을 표시하고, 제품 상태가 New인 경우 20% 할인을 표시합니다. M 코드를 작성하려면 다음과 같이 하세요:
1. 테이블을 선택하고 데이터 > 테이블/범위를 클릭하여 Power Query Editor 창으로 이동합니다.
2. 열린 창에서 열 추가 > 사용자 정의 열을 클릭하세요. 스크린샷을 참조하세요:
3. 나타난 사용자 정의 열 대화 상자에서 다음 작업을 수행하세요:
- 새 열 이름 텍스트 상자에 새 열의 이름을 입력하세요;
- 그런 다음 사용자 정의 열 수식 상자에 다음 수식을 입력합니다: if [Status] = "Old " then "50% " else "20% ".
4. 그런 다음 확인을 클릭하여 이 대화 상자를 닫습니다. 이제 필요한 결과를 얻게 됩니다:
5. 마지막으로 홈 > 닫기 및 로드 > 닫기 및 로드를 클릭하여 이 데이터를 새 워크시트로 로드하세요.
예제 2: 복잡한 if 문
일반적으로 하위 조건을 테스트하려면 여러 if 문을 중첩할 수 있습니다. 예를 들어, 아래 데이터 테이블이 있다고 가정해 봅시다. 제품이 “Dress”인 경우 원래 가격에 50% 할인을 적용하고, 제품이 “Sweater” 또는 “Hoodie”인 경우 원래 가격에 20% 할인을 적용하며, 기타 제품은 원래 가격을 유지합니다.
1. 데이터 테이블을 선택하고 데이터 > 테이블/범위를 클릭하여 Power Query Editor 창으로 이동합니다.
2. 열린 창에서 열 추가 > 사용자 정의 열을 클릭합니다. 열린 사용자 정의 열 대화 상자에서 다음 작업을 수행하세요:
- 새 열 이름 텍스트 상자에 새 열의 이름을 입력하세요;
- 그런 다음 사용자 정의 열 수식 상자에 아래 수식을 입력합니다.
- = 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]
3. 그리고 나서 확인 버튼을 클릭하여 Power Query Editor 창으로 돌아가면 필요한 데이터가 포함된 새 열이 생성됩니다. 스크린샷을 참조하세요:
4. 마지막으로 홈 > 닫기 및 로드 > 닫기 및 로드를 클릭하여 이 데이터를 새 워크시트로 로드하세요.
OR 논리는 여러 논리적 테스트를 수행하며, 논리적 테스트 중 하나라도 참이면 참 결과를 반환합니다. 구문은 다음과 같습니다:
아래 표를 가정해 봅시다. 이제 새 열이 이렇게 표시되기를 원합니다: 제품이 “Dress” 또는 “T-shirt”인 경우 브랜드는 “AAA”, 기타 제품의 브랜드는 “BBB”입니다.
1. 데이터 테이블을 선택하고 데이터 > 테이블/범위를 클릭하여 Power Query Editor 창으로 이동합니다.
2. 열린 창에서 열 추가 > 사용자 정의 열을 클릭합니다. 열린 사용자 정의 열 대화 상자에서 다음 작업을 수행하세요:
- 새 열 이름 텍스트 상자에 새 열의 이름을 입력하세요;
- 그런 다음 사용자 정의 열 수식 상자에 아래 수식을 입력합니다.
- = if [Product] = "Dress" or [Product] = "T-shirt" then "AAA"
else "BBB"
3. 그리고 나서 확인 버튼을 클릭하여 Power Query Editor 창으로 돌아가면 필요한 데이터가 포함된 새 열이 생성됩니다. 스크린샷을 참조하세요:
4. 마지막으로 홈 > 닫기 및 로드 > 닫기 및 로드를 클릭하여 이 데이터를 새 워크시트로 로드하세요.
AND 논리는 단일 if 문 내에서 여러 논리적 테스트를 수행합니다. 모든 테스트가 참이어야 참 결과가 반환됩니다. 테스트 중 하나라도 거짓이면 거짓 결과가 반환됩니다. 구문은 다음과 같습니다:
위 데이터를 예로 들어보겠습니다. 새 열이 이렇게 표시되기를 원합니다: 제품이 “Dress”이고 주문량이 300보다 큰 경우 원래 가격에 50% 할인을 적용하고, 그렇지 않으면 원래 가격을 유지합니다.
1. 데이터 테이블을 선택하고 데이터 > 테이블/범위를 클릭하여 Power Query Editor 창으로 이동합니다.
2. 열린 창에서 열 추가 > 사용자 정의 열을 클릭합니다. 열린 사용자 정의 열 대화 상자에서 다음 작업을 수행하세요:
- 새 열 이름 텍스트 상자에 새 열의 이름을 입력하세요;
- 그런 다음 사용자 정의 열 수식 상자에 아래 수식을 입력합니다.
- = if [Product] ="Dress" and [Order] > 300 then [Price]*0.5
else [Price]
3. 그런 다음 확인 버튼을 클릭하여 Power Query Editor 창으로 돌아가면 필요한 데이터가 포함된 새 열이 생성됩니다. 스크린샷을 참조하세요:
4. 마지막으로 홈 > 닫기 및 로드 > 닫기 및 로드를 클릭하여 이 데이터를 새 워크시트로 로드하세요.
좋습니다. 이전 예제들은 이해하기 쉬웠습니다. 이제 더 어렵게 만들어 보겠습니다. AND와 OR을 결합하여 상상할 수 있는 모든 조건을 만들 수 있습니다. 이 유형에서는 공식에 괄호를 사용하여 복잡한 규칙을 정의할 수 있습니다.
위 데이터를 다시 예로 들어보겠습니다. 새 열이 이렇게 표시되기를 원한다고 가정해 봅시다: 제품이 “Dress”이고 주문량이 300보다 크거나, 제품이 “Trousers”이고 주문량이 300보다 큰 경우 “A+”를 표시하고, 그렇지 않으면 “Other”를 표시합니다.
1. 데이터 테이블을 선택하고 데이터 > 테이블/범위를 클릭하여 Power Query Editor 창으로 이동합니다.
2. 열린 창에서 열 추가 > 사용자 정의 열을 클릭합니다. 열린 사용자 정의 열 대화 상자에서 다음 작업을 수행하세요:
- 새 열 이름 텍스트 상자에 새 열의 이름을 입력하세요;
- 그런 다음 사용자 정의 열 수식 상자에 아래 수식을 입력합니다.
- =if ([Product] = "Dress" and [Order] > 300 ) or
([Product] = "Trousers" and [Order] > 300 )
then "A+"
else "Other"
3. 그런 다음 확인 버튼을 클릭하여 Power Query Editor 창으로 돌아가면 필요한 데이터가 포함된 새 열이 생성됩니다. 스크린샷을 참조하세요:
4. 마지막으로 홈 > 닫기 및 로드 > 닫기 및 로드를 클릭하여 이 데이터를 새 워크시트로 로드하세요.
사용자 정의 열 수식 상자에서 다음 논리 연산자를 사용할 수 있습니다:
- = : 같음
- <> : 같지 않음
- > : 보다 큼
- >= : 보다 크거나 같음
- < : 보다 작음
- <= : 보다 작거나 같음
최고의 오피스 생산성 도구
🤖 | Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 신속 생성 | 의존형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
열 매니저: 지정 개수 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록별 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭/취소선 필터...)... | |
Top15 도구 세트: 12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형(간트 차트, ...) | 40+ 실용 수식(생일을 기반으로 나이 계산, ...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구(단어로 변환하기, 통화 변환, ...) | 7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 그리고 그 외 |
Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!