IFERROR로 IF없이 VLOOKUP #N/A 제거 방법
지난번에 VLOOKUP 적용할 때 #N/A를 나오지 않게 IF 를 사용하는 방법을 소개해드렸습니다.
IF를 사용하면, 조건이 TRUE와 FALSE 일 때의 값을 넣어줄 수 있는 장점이 있지만, 조건 안에 또 조건을 붙여야 하는 경우에는 조금 헷갈리게 됩니다.
그럴 때 사용할 수 있는 함수가 IFERROR 입니다.
이 함수는 풀어서 설명하는 것보다 적용해보면 빨리 이해할 수 있습니다.
이전 글의 마지막 단계에서 시작해보겠습니다.
1 |
=if(D7<>"",vlookup(D7,$A$7:$B$10,2,false),"") |
IF 함수를 적용해서 빈칸이 아닐 때, VLOOKUP을 실행해서 그 값을 가져오고, 빈칸이면 ” ” 빈칸으로 표시하는 수식입니다.
이제 아래 쪽에 IFERROR를 넣어보겠습니다.
1 |
=IFERROR(vlookup(A23,$A$7:$B$10,2,false)) |
여기서는 빈칸인지 확인하는 것이 아니라 VLOOKUP을 먼저 실행합니다. 그래서 값이 있으면 그 값을 표시하고, 없으면 빈칸으로 표시합니다.
사실 이렇게 뒤에 “”를 표시해야 더 정확하겠지요. 하지만, 표시하지 않으면 알아서 “”으로 간주하기 때문에 수식이 한결 간소해집니다.
1 |
=IFERROR(vlookup(A23,$A$7:$B$10,2,false),"") |
제가 많이 사용하던 수식 중에는 IF와 ISNA를 조합하는 수식이 있는데요, IFERROR를 쓰면 수식이 훨씬 간단해집니다.
예를 들어 다음과 같습니다. VLOOKUP을 해서 값이 #N/A로 나올 경우에는 “” 빈칸으로 표시해주고, 값이 있다면 그 값을 표시해준다는 수식입니다.
1 |
=IF(ISNA(VLOOKUP(A1,범위,2,FALSE),"", VLOOKUP(A1,범위,2,FALSE)) |
이제 IFERROR를 쓰면 이렇게 간소화됩니다.
1 |
IFERROR(VLOOKUP(A1,범위,2,FALSE)) |
직접 실무에 적용해보시면 기억에 오래 남습니다~