잔머리 엑셀-If문을 사용해 파일명을 자동으로 만들어보자

사실 이게 출근하자마자 처음으로 한 거였음… 차트 스캔은 스캐너가 하지만, 저장은 사람이 한다. 그리고 파일명에는 정해진 패턴이 있다. 근데 이걸 매번 타이핑하기 어때요? 귀찮아… 시간 오래걸려… 그니까 정해진 형식이 있으면 엑셀로 만들어놓고 연결신공 쓰면 장땡 아녀. 그죠?


잔머리 블루프린트

  1. 문제: 엑셀을 이용해 파일명에 들어가는 요소를 입력해 파일명을 자동으로 만들어보자.
  2. 사용할 함수: IF(보다보면 이게 왜 들어가는지 나옴)
  3. 어떻게: &을 이용해 적당히 엮어서 파일명을 만든다.
  4. 결과가 어떻게 나왔나: 아주 잘 됐다.

잔머리를 굴려보자

차트 파일을 저장할때 파일명은 환자 이름이랑 생년월일이 끝이었다. 근데 if가 왜 필요하냐고? 그건 읽다 보면 나옵니다. 아무튼… 그럼 가상의 환자 정보를 만들어서 하냐고요? 아니, 애니 캐릭터갖고 하면 좋긴 한데 얘네는 생일은 있는데 생년이 없어서 안됨…

바이올렛 박스에서 고른 포켓몬들의 이름(…)과 개체값이다. 이름이 좀 막장인 것 같다면 기분탓이다. 6세대때는 대포동1호도 있었음. 우리의 주적은 북한입니다. 네. 아무튼, 포켓몬의 이름과 개체값을 공백을 사이에 두고 합쳐보자.

날개의왕(코라이돈) 있는 셀이 B2, 그 옆은 C2니까 공백을 두고 &로 합칠거면 =B2&” “&C2를 입력하면 된다. 저거 입력 안하면 공백따원 없다네. 그리고 여기까지 본 여러분들은 그래서 저기 어디에 IF가 들어가 있는건지 싶을텐데…

우리 병원에 오는 환자들 중에는 외국인도 있다. 그리고 외국인(외국 국적인 한국인 포함)들의 차트 이름은 국내 환자들이랑 조금 다르다. 여기서 IF가 쓰이는 것. 저 중에는 배틀용도 있고, 테라레이드에 쓰는 포켓몬도 있고, 개체값을 알을 까서 만든 포켓몬도 있고, 대단한 특훈을 쓴 포켓몬도 있다. 패러독스 포켓몬이나 타부자고의 경우 이번 작품에서는 싱크로가 안 먹히기 때문에 어쩔 수 없이 민트와 대단한 특훈을 병행해야 하고… 그러면 여기서는 IF로 테라레이드용 포켓몬은 이름 앞에 별(★)을 붙여보자.

마우스로 그려서 선이 좀 삐뚤빼뚤하지만, D에 용도가 추가되었다.

다음으로는 E열로 밀려난 이름란으로 가보자. 여기서 E2의 함수를 =IF(D2=”테라레이드”,”★”&B2&” “&C2, B2&” “&C2)로 바꿔준 다음 쫙 드래그하면, 이 중에서 테라레이드 배틀에 사용하는 포켓몬의 이름 앞에 별이 붙는 것을 볼 수 있다. 그러면 여기서 용도 대신 대단한 특훈을 한 포켓몬의 개체값 뒤에 애스터리스크(*)를 붙여보자.

F2로 가서 =IF(E2=”O”,B2&” “&C2&”*”, B2&” “&C2)를 입력하고 쭉 드래그해보자. 아 저 하트? 미끄래곤 이름인데요? 생각보다 대단한특훈 한 포켓몬이 많은데, 일단 개체삑인데 알까다가 지쳐서 걍 왕관 턴 애들도 있고 타부자고 및 패러독스몬은 민트&대단한특훈이 필수다. 아무튼 그렇다.

저 두가지를 한꺼번에는 못 하냐고? 예… 사실 실무에서 쓰는건 국적이 공란이 아니면(내국인만 공란이다) 외국인 환자용 형식으로, 아니면 내국인 형식으로 쓰는거라… 저렇게 복잡하게는 안 했다. IF문이 좀 길어서 그렇지, 기본적인 로직은 꽤 간단한 셈.