이것까지 가져올 줄은 몰랐는데... 이건 성형외과 말고 그 이전에 썼던 엑셀이다. 성형외과 이전 직장에서는 각 학교들을 돌아다니면서 교내 혹은 주변 환경이 얼마나 위험한지 확인하고 결과를 작성해주는 일을 했었는데, 이런 일을 하려면 가장 중요한게 공문을 쓰는 일이다. 근데 내가 한명만 전담해서 하는 게 아니고, 한 사람 내에서도 외부 위원님들의 상황에 따라 어떨때는 불참하는 경우도 생기는데... 아니 이거 일일이 명단에서 찾기 귀찮아...
해서 어차피 표 있으니까 VLOOKUP을 이용해서 찾으면 되겠다! 해서 함수 짰다.
잔머리 블루프린트
1. 문제: 위원님들 소속 일일이 찾기 귀찮은데, 룩업 쓰면 안되나?
2. 사용할 함수: VLOOKUP, IF, LEFT
3. 어떻게: VLOOKUP 함수를 이용해서 외부 위원들의 소속을 찾고, IF함수를 이용해 소속이 전직장일 때에 대한 처리도 하자.
4. 결과가 어떻게 나왔나: 이름을 입력하면 그 옆칸에 소속을 찾아준다.
잔머리를 굴려보자
일단... 전전직장이긴 한데 아무리 그래도 이게... 개인정보잖아요? 그래서 쌩으로 쓸 수가 없어요...
그래서 간단하게 만들어보았다. 이 명단에서 우리가 필요한 건 이름하고 소속이다.
그러니까 이제 여기에 입력하면 소속이 알아서 척척 나오게 해준다는거죠? 네, 그렇습니다.
이름을 입력한 셀이 B3이고, 우리가 함수를 입력할 셀은 C3이다. 그러면 C3에 커서를 가져가서 =VLOOKUP(B3,'위원 명단'!B2:D16,3,0)를 쓰면 찾아주는데... 이 기능이 맞는데... 엥? 그럼 IF 왜 씀? 그걸 이제 설명할것이다.
위에 있는 명단을 보면 소속란에 전)이라고 쓰여있는 경우가 있다. 이건 어떤 경우냐면 저 소속이 전직장... 그러니까 명퇴를 했건 이직하려고 관뒀건 폐업하려고 관뒀건 저기서 퇴직했다는 얘기다. 그러면 이런분들은 소속을 곧이곧대로 쓰면 안되고, 소속을 없음으로 해야 한다. 공문 보낼때는 소속이 없을때 -처리를 했으니, IF함수를 써서 한번 해보자.
B4셀에 입력한 강한자 위원은 율도건축사무소가 전 소속... 그러니까 지금은 퇴사하신 분이다. 어, 그럼 이거 어떻게 해요?
C4셀에 =IF(LEFT(VLOOKUP(B4,'위원 명단'!$B$2:$D$16,3,0),1)="전","-",VLOOKUP(B4,'위원 명단'!$B$2:$D$16,3,0)를 입력하면 된다. 이게 무슨 의미냐면 VLOOKUP으로 찾되, 찾았을 때 맨 앞글자가 "전"이면 소속을 없음으로 하라는 얘기이다. 그런데, 이렇게만 쓰면 사명이 전으로 시작할때도 소속이 없음이 되어버리잖아요? 좋은 지적이다. 명단에서 이전 소속인 경우에는 전) 으로 구별하니까, =IF(LEFT(VLOOKUP(B4,'위원 명단'!$B$2:$D$16,3,0),2)="전)","-",VLOOKUP(B4,'위원 명단'!$B$2:$D$16,3,0))를 쓰면 전) 일때만 소속을 없음 처리해준다.
이렇게만 하면 일단 구현은 됐다. 그런데... 여기서 잠깐! 만약 없는 위원을 적는다면 어떻게 될까?
없을때 에러를 토하는데, 솔직히 이거 보기 싫잖아요? 그러니까 명단에 없는 사람을 입력했을 때는 No Data로 채울 수 있게끔 해보자.
지금 보면 B6셀에 명단에는 없는 위원이 적혀있는 것을 볼 수 있다. 그리고 함수 맨 앞에 IFERROR 함수를 추가로 적용해주면 이걸 깔끔하게 해결할 수 있다. =IFERROR(IF(LEFT(VLOOKUP(B6,'위원 명단'!$B$2:$D$16,3,0),2)="전)","-",VLOOKUP(B6,'위원 명단'!$B$2:$D$16,3,0)),"No Data")만 써 주면
아주 깔끔하게 해결되는 것을 볼 수 있다.
위원 이름이 공란일때도 에러가 뜨는 모양인지, No Data가 남아있다.
'잔머리 엑셀' 카테고리의 다른 글
CONCAT 함수 (0) | 2024.09.11 |
---|---|
평일만 넣고 일정표를 만들자 (0) | 2024.09.04 |
표에 번호를 자동으로 붙여보자 (0) | 2024.08.21 |
조건부 서식을 활용해 실시간 강조를 해보자 (0) | 2024.08.14 |
엑셀에서 CSV파일을 불러보자 (0) | 2024.08.07 |