워드프로세서/엑셀

엑셀에서 IF 문으로 VLOOKUP

에이티에스 2023. 6. 6. 19:54
728x90

If 문으로 Vlookup : True / False, Yes / No 등을 반환합니다.

If와 Vlookup을 함께 결합할 때 가장 일반적인 시나리오 중 하나는 Vlookup에서 반환된 값을 샘플 값과 비교하여 Yes/No 또는 True/False를 결과로 반환하는 것입니다.

대부분의 경우 다음과 같은 일반 수식이 잘 작동합니다.

IF(VLOOKUP(…) = value, TRUE, FALSE)

이 수식은 Vlookup이 true인 경우(즉, 지정된 값과 같음) True를 반환하도록 Excel에 지시합니다. Vlookup이 false(지정된 값과 같지 않음)이면 수식은 False를 반환합니다.

아래에서 이 IF Vlookup 공식의 몇 가지 실제 사용법을 찾을 수 있습니다.

 

예 1. 특정 값 조회

A 열에 항목 목록이 있고 B 열에 수량이 있다고 가정해 보겠습니다. 사용자를 위한 대시보드를 만들고 있으며 E1에 있는 항목의 수량을 확인하고 항목의 재고가 있는지 또는 품절되었는지 여부를 사용자에게 알려주는 수식이 필요합니다.

다음과 같은 정확한 일치 공식을 사용하여 일반 Vlookup으로 수량을 가져옵니다.

=VLOOKUP(E1,$A$2:$B$10,2,FALSE)

 

그런 다음 Vlookup의 결과를 0과 비교하고 0과 같으면 "아니오"를 반환하고, 그렇지 않으면 "예"를 반환하는 IF 문을 작성합니다:

 

예/아니요 대신 TRUE/FALSE 또는 재고 있음/매진 또는 다른 두 가지 선택 항목을 반환할 수 있습니다.

예를 들어:

=IF(VLOOKUP(E1,$A$2:$B$10,2)=0,"Sold out","In stock")

Vlookup에서 반환된 값을 샘플 텍스트와 비교할 수도 있습니다.

 

이 경우 다음과 같이 텍스트 문자열을 따옴표로 묶어야 합니다.

=IF(VLOOKUP(E1,$A$2:$B$10,2)="sample text",TRUE,FALSE)

 

예 2. Vlookup 결과를 다른 셀과 비교

Excel에서 If 조건을 사용하는 Vlookup의 또 다른 일반적인 예는 Vlookup 출력을 다른 셀의 값과 비교하는 것입니다.

 

예를 들어 G2 셀의 숫자보다 크거나 같은지 확인할 수 있습니다.

=IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2,"Yes!","No")

 

다음은 Vlookup이 작동하는 If 공식입니다.

비슷한 방식으로 Excel If Vlookup 수식에서 셀 참조와 함께 다른 논리 연산자를 사용할 수 있습니다.

예 3. 짧은 목록의 Vlookup 값

대상 열의 각 셀을 다른 목록과 비교하고 일치하는 항목이 있으면 True 또는 Yes를 반환하고, 그렇지 않으면 False 또는 No를 반환하려면 다음 제네릭 IF ISNA VLOOKUP 수식을 사용합니다.

IF(ISNA( VLOOKUP(…)),"No","Yes")

Vlookup에서 #N/A 오류가 발생하면 수식은 조회 목록에서 조회 값을 찾을 수 없음을 의미하는 "아니요"를 반환합니다. 일치하는 항목이 발견되면 "예"가 반환됩니다.

 

예를 들어:

=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"No","Yes")

 

비즈니스 로직에 반대 결과가 필요한 경우 "Yes"와 "No"를 바꿔 수식의 로직을 뒤집습니다.

=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"Yes","No")

 

Excel Vlookup 수식이 다른 계산을 수행하는 경우

사용자가 직접 문자 메시지를 표시하는 것 외에도 Vlookup 기능을 사용하면 지정한 기준에 따라 다른 계산을 수행할 수 있습니다.
예를 더 들어, 효과에 따라 특정 판매자(F1)의 수수료를 계산해 보겠습니다:

 

200달러 이상을 버는 사람들은 20%, 다른 모든 사람들은 10%의 수수료를 받습니다.

이 경우 Vlookup에서 반환된 값이 200보다 크거나 같은지 확인하고, 값이 200보다 크면 20%를 곱합니다. 그렇지 않으면 10%를 곱합니다:

 

=IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)

 

여기서 A2:A10은 판매자 이름이고 C2:C10은 판매입니다.

 

IF ISNA VLOOKUP을 사용하여 #N/A 오류를 숨깁니다.

VLOOKUP 함수가 지정된 값을 찾을 수 없으면 #N/A 오류가 발생합니다. 해당 오류를 catch하고 사용자 고유의 텍스트로 바꾸려면 다음과 같이 IF 함수의 논리 테스트에 Vlookup 수식을 포함합니다.

IF(ISNA(VLOOKUP(…)), "Not found", VLOOKUP(…))

"찾을 수 없음" 대신 원하는 텍스트를 입력할 수 있습니다.

한 열에 판매자 이름 목록이 있고 다른 열에 판매액 목록이 있다고 가정합니다.

사용자가 F1에 입력한 이름에 해당하는 숫자를 끌어오면 됩니다. 이름을 찾을 수 없는 경우 이름을 나타내는 메시지를 표시합니다.

이름이 A2:A10이고 금액이 C2:C10인 경우 다음 If Vlookup 수식을 사용하여 작업을 수행할 수 있습니다.

=IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Not found", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

이름이 발견되면 해당 판매 금액이 반환됩니다.

 

조회 값을 찾을 수 없는 경우 #N/A 오류 대신 찾을 수 없음 메시지가 나타납니다.

 

이 공식의 작동 원리

수식의 논리는 매우 간단합니다 : ISNA 함수를 사용하여 Vlookup에서 #N/A 오류를 확인합니다. 오류가 발생하면 ISNA는 TRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

 

위의 값은 다음 중 하나를 수행하는 IF 함수의 논리 테스트로 이동합니다.

  • 논리 테스트가 TRUE(#N/A 오류)이면 메시지가 표시됩니다.
  • 논리 테스트가 FALSE인 경우(조회 값이 발견됨) Vlookup은 일반적으로 일치 항목을 반환합니다.

 

최신 Excel 버전의 IFNA VLOOKUP

Excel 2013부터 IF ISNA 대신 IFNA 함수를 사용하여 #N/A 오류를 catch하고 처리할 수 있습니다.

IFNA(VLOOKUP(…), "Not found")

이 예에서 수식의 모양은 다음과 같습니다.

=IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Not found")

 

Excel Vlookup : 찾을 수없는 경우 0을 반환합니다.

숫자 값으로 작업할 때 조회 값을 찾을 수 없을 때 0을 반환할 수 있습니다. 이를 수행하려면 위에서 설명한 IF ISNA VLOOKUP 공식을 약간 수정하여 사용합니다. 텍스트 메시지 대신 IF 함수의 value_if_true 인수에 0을 입력하십시오:

IF(ISNA(VLOOKUP(...)), 0, VLOOKUP(...))

 

샘플 테이블에서 수식은 다음과 같습니다.

=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))

최신 버전의 Excel 2016 및 2013에서는 IFNA Vlookup 조합을 다시 사용할 수 있습니다.

=IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)

 

Excel Vlookup : 찾을 수없는 경우 빈 셀을 반환합니다.

이것은 "Vlookup if then" 문의 또 다른 변형으로, 조회 값을 찾을 수 없을 때 아무 것도 반환하지 않습니다.

이렇게 하려면 수식에 #N/A 오류 대신 빈 문자열("")을 반환하도록 지시합니다.

IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))

다음은 몇 가지 완전한 공식 예입니다.

모든 Excel 버전:

=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))

 

Excel 2016 및 Excel 2013의 경우:

=IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")

 

인덱스 일치가 있는 경우 - If 조건이 있는 왼쪽 vlookup

숙련 된 Excel 사용자는 VLOOKUP 기능이 Excel에서 세로 조회를 수행하는 유일한 방법이 아니라는 것을 알고 있습니다. INDEX MATCH 조합도 이러한 목적으로 사용할 수 있으며 훨씬 더 강력하고 다재다능합니다.

Index Match가 Vlookup과 정확히 같은 방식으로 IF와 함께 작동할 수 있다는 것입니다.

 

예를 들어 A 열에는 주문 번호가 있고 B 열에는 판매자 이름이 있습니다. 특정 판매자의 주문 번호를 가져오는 공식을 찾고 있습니다.

이 경우 Vlookup은 오른쪽에서 왼쪽으로 검색할 수 없으므로 사용할 수 없습니다. Index Match는 조회 열에서 조회 값을 찾을 수 있는 한 문제 없이 작동합니다. 그렇지 않은 경우 #N/A 오류가 표시됩니다. 표준 오류 표기법을 사용자 고유의 텍스트로 바꾸려면 IF ISNA 내에 Index Match를 중첩합니다.

 

=IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))), "Not found", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))

 

Excel 2016 및 2016에서는 IF ISNA 대신 IFNA를 사용하여 수식을 더 간결하게 만들 수 있습니다.

=IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Not found")

 

비슷한 방식으로 다른 If 수식에서 Index Match를 사용할 수 있습니다.

728x90
반응형
그리드형