IFS 함수로 중첩 IF를 간단하게 사용하자.

2020. 4. 6. 11:23엑셀/빠른 엑셀

728x90
반응형

오늘은 선별진료소 Data를 가지고 의료기관명을 그룹핑 하는 작업을 IFS 를 사용하여 수행해보자.

IFS 는 언제 나온함수인지 잘 모르겠으나. 아마도 2007 버젼부터 'S' 가 뒤에 붙는 함수가 나오기 시작했으니 아마도 SUMIFS 등과 같이 나온듯 하다. 

 IFS 는 " IFS ([True1], [True1 인 경우 값], True2, 값은 True2, 무언가는 True3, True3 인 경우 값) " 의 형태로 중첩된 IF 를 하나의 함수내에서 간단히 표현 할 수 있는 훌륭한 기능이다. 하지만 IF 나 IFS 그리고 SWITCH(DAX) 같은 조건식은 복잡하게 사용하는 것을 권장하지 않는다. 복잡해지면 틀릴 가능성이 커질 뿐만 아니라 수정하는 시간이 늘어나게되어 효율이 떨어지는 결과를 낳는다. 단순한 경우에만 추천한다. 

IFS를 사용하여 의료기관명을 "보건소"와 "병원"으로 구분함

=IFS(IFERROR(SEARCH("보건소",[@[의료기관명 ]],1),0)=1,"보건소",IFERROR(SEARCH("병원",[@[의료기관명 ]],1),0)=1,"병원")

이름을 가지고 판단하므로 SEARCH와 IFERROR를 사용하여 해당단어를 포함하는 경우를 찾는 방식으로 적용하였다.

하지만 "보건분소"나 "의료원" 과 같이 보건소나 병원이 아닌 경우가 존재하여 식에 해당 유형이 추가 되어야 한다. 그런데 IFS 는 False 를 지정하는 인수가 없다. 따라서 아래와 같이 식을 수정한다. 

=IFS(IFERROR(SEARCH("보건소",[@[의료기관명 ]],1),0)>1,"보건소",IFERROR(SEARCH("병원",[@[의료기관명 ]],1),0)>1,"병원",1=1,"지정필요")

"지정필요" 라고 생성된 값을 찾아 어떤 유형인지 구분을 해서 맞는 유형으로 식을 추가하면 된다. 

파일 첨부합니다. 일찍 퇴근합시다.

선별진료소_IFS로 그룹핑.xlsx
0.28MB

 

 

 

 

728x90
반응형