vlookup 함수는 매우 유용하기는 하지만, 근원적인 한계를 가지고 있습니다. 바로 원래 없는 것은 찾을 수가 없다는 것이지요. 찾는 값이 없을 때 #N/A라는 에러를 return하게 됩니다. 

예제의 주제를 조금 바꿔서, 팀별 예산으로 만들어보았습니다. 

[예제] 2012년말에 2013년도 팀별 예산을 짠다고 가정해보겠습니다. 작년도에 세웠던 예산(2011년말에 세운 2012년도 예산)과의 비교를 위해, '2012 예산' 시트에는 전년도 자료를 가져다 놓고, '2013 예산' 시트에서 비교하며 작업을 하고자 하였습니다. 

그런데 작년에 비해 올해는 마케팅팀이 신설되었습니다. vlookup으로는 찾아올 수가 없어 #N/A를 return하고 있습니다. 생각하기에 따라서는 저렇게 두는 것이 논리상 틀리지는 않으나, 보기가 좋지 않을 뿐만 아니라 SUM을 구하거나, 전년대비 등을 계산할 때 계산이 되지 않는 단점이 있습니다.


이럴 때 쓰는 방법이 IFERROR함수를 이용하는 것 입니다. 먼저 예제를 보실까요? 아까와는 다르게  vlookup함수가 IFERROR함수에 둘러싸여 있는 걸 보실 수 있고, 또 D9의 결과값이 0으로 나타나고 있습니다.

IFERROR, 풀어서 쓰면 If Error, 에러인 경우에 사용자가 원하는 값으로 셀을 채울 수 있게 해주는 함수로 vlookup과 함께 자주 쓰게 되는 함수입니다. 

사용하는 문법은 IFERROR(value, value_if_error) 인데, 첫번째 'value'라고 되어 있는 인수 자리에 vlookup을 넣고, 'value_if_error'에 에러가 날 때 셀에 넣고 싶은 값을 입력하면 됩니다. 

예제를 보면 IFERROR( VLOOKUP(B9,'2012 예산'!$B$5:$C$7,2,FALSE)  , 0)로 되어 있습니다. 즉 vlookup 함수가 에러가 나면 0을 입력하라고 해둔 것이죠. 

주말에 이틀 모두 출근했더니 정신이 몽롱하네요. 설명이 잘 되었나 걱정되네요. 어찌되었던 iferror함수도 매우 유용한 함수이니 잘 기억해 두시면 좋을 것 같네요.

130106_Sample02.xlsx



AND