기본 콘텐츠로 건너뛰기

글

라벨이 SWITCH인 게시물 표시

[엑셀] IFS와 SWITCH 다중분기를 표현하는 두 가지 방식 순차평가 vs 값 매칭의 차이

 학점 계산 시트를 만들어본 적이 있다면 한 번쯤 이런 수식을 마주쳤을 것이다. =IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C",IF(B2>=60,"D","F")))) 괄호가 네 겹, 다섯 겹 겹쳐지면서 어디서 어디까지가 하나의 조건인지 눈으로 쫓아가기가 점점 힘들어진다. 조건을 하나 더 추가하려고 괄호 개수를 세다가 실수로 하나를 빠뜨려 본 경험도 있을 것이다. 이 글에서는 이런 중첩 IF의 한계를 짚어보고, 이를 대체할 수 있는 IFS와 SWITCH 함수가 각각 어떤 원리로 동작하는지 살펴본다. 중첩 IF는 왜 한계에 부딪히는가 중첩 IF 자체가 잘못된 방법은 아니다. 다만 조건이 늘어날수록 두 가지 문제가 함께 커진다. 첫째는 가독성이다. IF 안에 IF가 들어가는 구조는 사람이 눈으로 괄호의 짝을 맞춰가며 읽어야 하는데, 조건이 4~5개를 넘어가면 이 과정 자체가 실수의 원인이 된다. 둘째는 수정의 어려움이다. 중간에 조건 하나를 끼워 넣으려면 괄호 구조 전체를 다시 손봐야 하는 경우가 많다. 엑셀은 이론적으로 IF를 64단계까지 중첩할 수 있도록 허용하지만, 실무에서는 그 한계에 도달하기 훨씬 전에 이미 유지보수가 불가능한 수식이 되어버린다. 즉 '몇 단계까지 가능한가'보다 '몇 단계부터 사람이 이해하기 어려워지는가'가 실질적인 한계선이다. IFS 함수의 원리 — 순차평가라는 개념 IFS는 여러 개의 '조건, 결과값' 쌍을 나열해두면, 엑셀이 이를 위에서부터 순서대로 하나씩 검사 하다가 처음으로 TRUE가 되는 조건을 만나는 순간 그 결과값을 반환하고 나머지는 검사하지 않는 구조다. 이것이 바로 '순차평가(sequential evaluation)'다. 중첩 IF가 괄호로 조건들을 층층이 감싸는 방식이었다면, IFS는 조건과 결과를 평면적으로 나열한다는 점이 ...