스프레드시트 중첩 IF를 대체하는 조회 기법
초록
본 논문은 스프레드시트에서 흔히 사용되는 중첩 IF 공식의 위험성을 지적하고, 논리 테스트와 결과를 각각 가시화한 뒤 단일 조회 함수로 대체하는 “조회 기법”을 제안한다. 네 가지 원칙(테스트 가시화, 결과 가시화, 구조 가시화, 단일 조회 함수 적용)을 통해 테스트와 감사를 용이하게 하면서도 구현 복잡성을 낮출 수 있음을 보인다. 단순한 조건 로직에 한정된 적용 범위와 복잡한 경우의 확장 방안을 논의한다.
상세 분석
이 논문은 스프레드시트 프로그래밍을 전통적인 컴퓨터 프로그래밍의 관점에서 재조명한다. 기존에 널리 쓰이는 중첩 IF 공식은 논리 테스트와 반환값이 하나의 수식 안에 얽혀 있어, 가독성 저하, 디버깅 난이도 상승, 그리고 감사 시 오류 탐지가 어려워지는 문제점을 안고 있다. 저자는 이러한 문제를 해결하기 위해 “조회 기법”이라는 대안을 제시한다. 조회 기법은 네 가지 핵심 원칙으로 구성된다. 첫째, 각 논리 테스트를 별도의 셀에 배치해 눈에 보이게 만든다(테스트 가시화). 둘째, 각 테스트가 참일 때 반환될 값을 별도 셀에 미리 정의해 두어 결과를 가시화한다(결과 가시화). 셋째, 테스트와 결과를 매핑하는 표 형태의 구조를 명시적으로 만들고, 이를 통해 전체 논리 흐름을 한눈에 파악할 수 있게 한다(구조 가시화). 넷째, 복잡한 중첩 IF 수식을 하나의 단일 조회 함수(VLOOKUP, HLOOKUP, INDEX/MATCH 등)로 대체함으로써 수식 자체를 단순화한다(단일 조회 함수 적용). 이러한 접근은 테스트 케이스를 개별 셀 단위로 쉽게 추가·수정할 수 있게 하며, 감사자는 매핑 표와 조회 수식만 검토하면 논리 흐름을 완전하게 이해할 수 있다. 그러나 저자는 이 기법이 “단순한” 조건부 로직, 즉 각 조건이 서로 독립적이며 상호 배타적인 경우에만 적용 가능하다고 명시한다. 다중 조건이 복합적으로 결합되거나, 조건 간에 우선순위가 겹치는 경우에는 표의 크기가 급격히 증가하거나, 별도 로직을 추가해야 하는 한계가 있다. 논문은 이러한 제한을 극복하기 위한 방안으로, 복합 조건을 별도 열이나 행으로 분해하고, 중간 결과를 다시 조회하는 단계적 접근법을 제시한다. 또한, 동적 범위 이름과 배열 수식을 활용해 표의 자동 확장을 도모하는 방법도 논의한다. 전반적으로 이 연구는 스프레드시트 개발자와 감사자 모두에게 실용적인 가이드라인을 제공하며, 기존 중첩 IF 사용에 내재된 위험을 감소시키는 구체적 방법론을 제시한다는 점에서 의의가 크다.
댓글 및 학술 토론
Loading comments...
의견 남기기