본문 바로가기
EXCEL

[EXCEL] 엑셀 함수 VLOOKUP과 IFERROR를 사용하여 기존데이터에서 바뀐 값만 덮어쓰기

by SASBIGDATA김진휘 2014. 11. 7.

EXCEL 엑셀 함수중 실무에서 가장 많이 사용되는 것 중 하나인 VLOOKUP과 약간은 생소하게 느낄 수 있는 IFERROR를 조합 사용하여, 기존의 데이터에서 개정된 사항이나 바뀐 목록이 있는 경우 그 부분만 덮어쓰기 하여 원래 데이터를 개정 후 데이터로 만드는 방법을 알아보자.

 

SAS를 이용하면 이런 작업은 매우 쉽게 할 수 있지만 SAS프로그램을 사용하지 않는 사람들이 많고 엑셀을 대부분 많이 이용하기 때문에 엑셀에서 해보면 어떨까하고 해보니 역시나 엑셀은 안되는게 없더라 ㅋㅋ

 

아래의 사진을 참고하여 알아보자.

 

 

 

위의 사진처럼 기존 데이터가 있고 그 아래 바뀐 목록이 있다. 하고자 하는 것은 기존 데이터에 개정된 목록이 있는 경우 개정된 값으로 바꾸어서 우측 상단의 개정 후 결과 데이터 처럼 만드는 것이다. 아마도 이런 비슷한 경우를 실무에서 하는 분들이 특히 행정쪽에 많을 것이다.

 

먼저 할 것이 기존 데이터를 하나 복사하여 옆에 붙여준다. (기존 데이터가 두개가 되는 것임)

코딩을 보면 IFERROR문 설명은 식이나 식자체가 오류인 경우 값을 반환하니 뭐니 무슨말인지 모르게 해놨는데 위의 경우 쉽게 설명하면 VLOOKUP문으로 일치하면 그 값을 표시하고 아니면 원래 기존의 값을 반환해라는 명령이라고 보면된다.

 

개정된 목록이 key변수 기준으로 222와 555가 code와 cost 값이 개정되었는데 결과를 보면 개정 목록부분만 바뀌었음을 볼 수가 있다.

 

www.sasbigdata.com 김진휘

 

 

댓글