Excel Q&A #1. 다중IF 수식의 다른 접근방법

2022. 12. 22. 11:37Coding/Excel

728x90
반응형

오늘부터 간간히 사람들이 물어보는 것들중 의미 있는것들을 풀어보고

해석해보는 포스팅을 올려보고자 한다.

(게을러서 포스팅 주기는 장담 못함 ㄷㄷ)

 

대망의 첫 질문 내용은 다음과 같다.

엄.. 프린트스크린이라는 좋은 기능이 있단말입니다....ㅠㅠ

정리하자면, 값의 레인지 조건범위에 따라 해당하는 값을 나타내기 위해 IF함수를 복합적으로 사용한 사례..

개인적으로 조건 세개가 넘어가면 무조건 표로 먼저 정리해보는걸 추천한다.

물론 다중 IF 문으로도 해결이 안되는건 아니지만, 유지보수가 어렵고 논리적으로 실수할 가능성이 높아진다.

조건에 비어있는 값이 있을 수 있다는 얘기다('MECE 하지 않다'라고도 표현함).

따라서 다음과 같이 표로 정리했고...

이상, 이하, 초과, 미만의 개념이 확실해야한다.

해당 조건에 따라 VLOOKUP 함수로 수식을 생성했다.

첫번째 인수(찾을 값)는 J3셀(500) ,

두번째 인수(참조 범위)는 M3:O6, (참조 범위는 습관적으로 절대참조하는 것이 좋다)

세번째 인수(참조 범위중 표출할 값의 열번호)는 세번째이니 3

네번째 인수(유사/정확하게 일치 여부)는 유사일치로 1을 입력했다. (정확한 값을 찾아야한다면 당연히 0, 정확하게 일치를 선택)

 

해당 조건에서 찾고자하는 값 500은 '고위험군'에 해당한다

VLOOKUP 함수를 활용하면, 보다 직관적이나, 

단점도 존재한다.

바로 저 참조표('조견표'라고도 한다)가 반드시 있어야한다는 것인데...

이럴때 저 조견표 없이도, 수식을 동작하게 하는 방식이 있으니, "배열 상수" 라는 개념이다.

포스팅 계기의 서막 ... ^^;;;
이 움짤 하나에 이 포스팅에서 가져가야 할 2개의 중요한 팁이 있다

 

수식입력줄에서, 특정 함수를 기입할때 뜨는 콜팁은 어떤 인수를 어디에 입력해야하느냐를 알려주는 도움말같은 기능이기도하지만,

사실은 저렇게 클릭해보면 각각의 위치를 드래그(?) 해주어, 각 인수에 필요한 내용을 쉽게 편집하거나 찾아갈 수 있게 해주는 매우 고마운 기능이다. (생각보다 많은 사람들이 잘 모르는것 같음...)

 

또, 해당 인수를 누른뒤(텍스트의 범위를 선택한 뒤), F9키를 눌러보면

그 부분만 부분계산되어 상수로 나타나는 것을 알 수 있다.

VLOOKUP의 두 번째 인수인 '참조 범위' 쪽을 누른뒤 F9를 누르면, 범위가 '배열상수'로 반환되는 것을 확인할 수 있다.

(이것도 잘 모르는 것 같음...)

 

따라서, 범위 대신 저 배열상수로 입력하게 되면..

저 범위표가 없더라도 해당 수식은 동작하게 된다... (유레카)

 

 

질문에 대한 답변 수식

=VLOOKUP($J$3,{0,131,"정상";131,161,"저위험군";161,221,"중등위험군";221,9999,"고위험군"},3,1)

 

자 이런식으로.. 질문에 대한 해답은 드린 것 같고..

 

배열 상수에 대해서 추가적으로 설명을 해보자면,

우선 배열의 의미하는 기호는 "{ }" 이다.

이것으로 감싸져있다면, 배열을 의미한다.

배열안에서의 " , " 콤마는 열을 구분하는 구분자.

배열안에서의 " ; " 세미콜론은 행을 구분하는 구분자이다.

 

따라서, 셀에 다음과 같이 입력한다면..

365버전에서는 이렇게만 쓰고 Enter쳐줘도 알아서 동적배열로 반환됨
365 이전버전에서는 배열이 반환될 범위를 먼저 선택하고 입력할때 CTRL+SHIFT+ENTER 로 입력해야만 한다.

 

다음에도 좋은 질문이 있다면, 확장해서 포스팅해봐야겠다 ^^

반응형