[회사에서 많이 쓰이는 엑셀 함수]#3 IF함수 중첩 (vs VLOOKUP)
엑셀, VBA, 파워쿼리/엑셀 스프레드시트

[회사에서 많이 쓰이는 엑셀 함수]#3 IF함수 중첩 (vs VLOOKUP)

by Jongg 2022. 9. 24.
728x90

 

IF 함수를 IF(조건, 참일 때 값, IF(...)) 형태로 중첩하여 사용하면 여러 기준(다중조건)에 따라 데이터를 분류할 수 있습니다. 그런데 의외로 많은 경우에 IF함수를 중첩하여 사용하는 것보다 VLOOKUP을 활용하는 것이 더 효율적일 수 있습니다.

이번 글에서는 IF함수 중첩하여 사용하는 법을 알려 드리고, VLOOKUP과 비교한 후 어느 상황에서 IF 함수를 중첩으로 사용하는 것이 좋은지 소개해 드리겠습니다. 

*저는 엑셀2016을 회사에서 사용하여 IFS 함수는 이번 글에서 소개하지 않겠습니다.

 

IF 함수 소개글: https://writingpjt.tistory.com/27

 

[회사에서 많이 쓰이는 엑셀 함수]#1 IF 함수 소개 및 사용법

IF 함수는 논리함수로, ▶ 조건에 따라 참 혹은 거짓인 경우를 판단하고, ▶ 각 경우에 출력할 값이나 식을 결정하는 함수입니다. 이런 특성 때문에 데이터를 분류하거나 조건에 따라 다른 계산

writingpjt.tistory.com

IF 함수 중첩하여 사용하는 법
IF(조건 1, 참일 때 결과1, IF(조건2, 참일 때 결과2, 거짓일 때 값 혹은 IF 함수 계속)) 
▶ 조건 1에서 거짓일 경우 다음 IF(조건2, 참일 때 결과2, 거짓일 때 값 혹은 IF 함수 계속) 함수 결과 값 반환
이후 IF함수에서도 거짓일 때 값 부분에 IF 함수를 넣어 조건을 더 늘릴 수 있음

IF 함수를 중첩하는 방법을 간단히 말하자면, IF 함수 내 '거짓일 때 값' 부분에 IF 함수를 넣어주면 됩니다.

IF 함수를 늘려갈수록 데이터를 분류하는 조건이 더 많아진다고 이해하시면 됩니다. 

위의 예시의 경우 점수 구간에 따라 성적을 분류하기 위해 IF 함수를 세 번 중첩했습니다. 먼저 90점 이상(조건1)인 경우 A, A가 다 분류된 후 80점 이상(조건2)이면 B, 그 후 60점 이상(조건3)이면 C, 나머지는 F를 부여한 것입니다.

참고로, 수식창에서 Alt + Enter을 치면 위의 사진처럼 줄을 바꾸면서 수식을 입력할 수 있습니다. IF 중첩함수처럼 수식일 길어질 때 사용하면 좋습니다. 

IF함수를 중첩할 때 유의할 점은 각 조건들이 서로 겹치지 않도록 순서를 신경 써서 수식을 짜야된다는 것입니다. 위의 사진처럼 60점 이상이면 C를 부여한다는 조건을 80점 이상이면 B를 부여한다는 함수보다 먼저 쓴다면, 80점인 경우에도 성적은 C를 부여받습니다. 이처럼 IF함수를 중첩할 때는 조건의 순서도 고려해야 합니다.

 

IF 함수 중첩 vs VLOOKUP 함수

IF 함수를 중첩하는 방법은 조건이 많아질수록 수식이 길어지는 단점이 있습니다. 그래서 숫자 구간에 따라 데이터를 분류할 때는 IF 함수를 중첩해서 사용할 때 보다 VLOOKUP 함수를 사용하는 것이 훨씬 편합니다.

점수에 따라 성적을 나누는 경우를 생각해보면, 위의 사진처럼 유사 일치 조건으로 점수에 성적을 부여할 수 있습니다. 

숫자 구간뿐만 아니라 VLOOKUP을 IF 중첩 대신 활용할 수 있는 경우는 많습니다. 위의 사진처럼 VLOOKUP을 사용한 경우가 수식이 훨씬 단순합니다.

 

VLOOKUP 관련해서는 아래의 글을 읽어보시길 바랍니다.

 

[엑셀 함수] VLOOKUP 사용법 #1 함수 개념, 일치옵션, IF와 조합

VLOOKUP은 참조범위에서 기준값에 대한 데이터를 추출해주는 함수로, 회사에서 가장 많이 쓰이는 함수 중 하나입니다. 이번 글에서는 VLOOKUP 함수와 관련해서 다음과 같이 정리해 보겠습니다. ① VL

writingpjt.tistory.com

IF 함수 중첩을 사용하는 것이 좋은 경우: 여러 열에서 조건을 가져올 때

다만, 만약에 여러 열에서 조건을 가져올 경우 VLOOKUP 함수만 사용하기 어려울 수 있습니다.
(IF 함수에 AND, OR 함수 조합하는 경우 등)

위의 예시의 경우 성적을 분류하는데 활용되는 열이 진도율, 1차 점수, 2차 점수로 3개입니다. 특히, 진도율 경우 100이 아니면 무조건 F인 조건이 붙어 있습니다. 이 경우, VLOOKUP만으로 성적을 분류할 수 없습니다. 

그래서 위의 수식처럼 <IF(F5(=진도율)<100, "F"> 구문으로 진도율 미달인 수강생을 먼저 F로 분류하고, 후에 평균 점수에 따라 성적을 분류했습니다. (평균 점수에 따라 성적을 분류하는 부분 경우 VLOOKUP로 대체 가능합니다)

 

관련 글
[파워쿼리] 파워쿼리로 다중조건 VLOOKUP 손쉽게 하기

[파워쿼리] 한 개의 파일 내 여러 데이터 합치기 (VLOOKUP 상위호환)

VLOOKUP 함수의 여러 사용법과 용도 #1

[회사에서 많이 쓰이는 엑셀 함수]#2 IF함수 AND/OR조건 사용법 

[회사에서 많이 쓰이는 엑셀 함수] IF 함수 소개 및 사용법 #1

728x90

댓글