- 최초 작성일: 2005-07-19
- 최종 수정일: 2026-09-26
- 조회수: 20 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 이중 유효성 검사 간단히 설정하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
'이중 유효성 검사'가 무엇인지 이제는 다들 알고 계시지요?
거 왜 가계부 같은 것을 만들 때, 특정 비목(費目)을 선택하면 그와 관련있는 세부
계정과목이 나타나도록 설정하는 것 말입니다.
본 사이트를 오래동안 찾아주신 분이라면 아시겠습니다만, '이중 유효성 검사'라는
이름은 Exceller가 처음 사용한 것인데 이제는 꽤 많은 책이나 강좌 사이트 등에서도
이 명칭을 사용하더군요. 혹여 나중에 저작권 분쟁(?) 같은 것이 발생하면 여러분들이
보증을 서 주시기 바랍니다. ^^
이중 유효성 검사를 설정하는 방법은 VBA를 통해서도 가능하고(VB0023),
유효성 검사에 Indirect 함수를 조합해서 사용해도 가능합니다(X0301).
그런데 이런 방법도 잘 이해가 안되니 좀더 쉽게 해결할 수 없느냐는 일부 의견이
있었습니다(실은 Exceller의 집사람이 가계부를 정리하다가 클레임 제기!!).
만약 이 요구를 해결해 주지 않으면 집안 분위기가 아조 험악해 질 것 같아서 기존
방법보다 간단하게 구현해 보았습니다.
어떤 비목이 선택되었는지에 따라 계정과목이 연동되어 변하는 것을 직접 확인해
보시기 바랍니다.
이중 유효성 검사 간단히 설정하기
핵심 요약
- 비목을 목록형 유효성 검사로 선택합니다.
- 선택된 비목에 따라 계정과목 참조 영역을 바꿉니다.
- IF 함수를 중첩하여 이중 유효성 검사 목록을 구성합니다.
이중 유효성 검사 예제
| 비목 | 비목 | 계정과목 | 금액 | |
|---|---|---|---|---|
| 급여 | 급여 | 인센티브 | ||
| 식비 | ||||
| 의생활 | ||||
| 급여 | ||||
| 월급 | ||||
| 상여금 | ||||
| 인센티브 | ||||
| 기타 | ||||
| 식비 | ||||
| 주식 | ||||
| 부식 | ||||
| 외식 | ||||
| 기타 | ||||
| 의생활 | ||||
| 옷 | ||||
| 신발 | ||||
| 잡화 |
비목의 유효성 검사 설정하기
'비목' 컬럼에 설정된 유효성 검사는 간단합니다. '데이터-유효성 검사'에서
'제한 대상'을 '목록'으로 지정하고, 다음과 같이 설정하면 됩니다.
=$A$30:$A$32계정과목의 이중 유효성 검사 설정하기
'계정과목' 컬럼에서 사용된 수식은 좀더 복잡해 보입니다.
=IF(C30=$A$30,$A$35:$A$38,IF(C30=$A$31,$A$31:$A$44,IF(C30=$A$32,$A$47:$A$49,$A$28)))수식이 길기는 하지만 이해하기는 그다지 어려움이 없을 것입니다. C열, 즉 어떤 비목이 선택되었느냐에 따라 표시할 영역을 서로 다르게 지정해 주기만 하면 됩니다.
여기서 한 가지! 수식의 마지막에 $A$23 셀은 왜 지정해 주었을까요? 뭔가 허전해서일까요? … 아니면 ... 멋있어 보이라고??
아니겠지요? 만약 C열에 아무 값도 선택되어 있지 않은 채 D열을 선택하면 유효성 검사의 드롭다운 박스에 아무 것도 나타내지 않도록 하기 위함입니다.
이번 시간은 여기까지…
마치며
비목에 따라 계정과목 목록이 달라지는 이중 유효성 검사를 INDIRECT 함수 없이 구성하는 방법을 살펴보았습니다. 선택된 비목에 따라 서로 다른 영역을 참조하도록 수식을 만드는 것이 핵심입니다.