- 최초 작성일: 2005-07-08
- 최종 수정일: 2026-09-26
- 조회수: 16 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 자료 중복입력 방지하기2
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
강좌 제목이 '자료 중복입력 방지하기2'라고 되어있는 것을 보니 어떤 생각이 드십니까?
'맞아! 지난 X0152 강좌에서 '유효성 검사'를 사용해서 구현을 했으며, 그 때 사용한
수식은, =COUNTIF($A$2:$A$16,A10)<2 이런 것이었지!'
아마도 이런 분은 한 분도 안계시겠지요?
'… 방지하기2'라고 되어 있는 것을 보니… 그 언젠가 비슷한 것을 하긴 한 모양인데…
기억이 전혀 나지 않는군. 그래! 이제 술 담배를 줄여야 해!'
대개의 분들이 이런 생각을 하실 것입니다(이것이 정상인가요? ^^;).
그렇습니다! 자료 중복입력 방지하기는 한 5년쯤 전에(우와~ 무려 5년) X0152 강좌에서
소개해 드린 적이 있습니다. 그 당시에는 하나의 조건, 즉 한글 이름이 같으면 무조건
중복 데이터라고 간주하여 오류 메시지를 띄우고 난리를 치도록 설정하였습니다.
이번 시간에는 한글 이름뿐만 아니라 전화번호까지 같은 경우에만 등록이 되지 않도록
자료 중복입력 방지하기2
핵심 요약
- 한글 이름과 전화번호가 모두 같은 경우만 중복으로 판단합니다.
- 사용자 지정 유효성 검사에 SUMPRODUCT 수식을 입력합니다.
- 오류 메시지를 지정하여 중복 입력을 막습니다.
하는 방법에 대해 소개해 드리겠습니다.
유효성 검사 설정하기
(1) 유효성 검사를 설정할 영역을 범위로 지정합니다(빨간 점선 부분).
중복 입력 방지 예제
| 한글 이름 | 영문 이름 | 부서 | 직책 | 전화번호 |
|---|---|---|---|---|
| 박유진 | Park Yoo-jin | 기획실 | 과장 | 709-6600 |
| 권예지 | Kwon Yae-jee | 인사부 | 과장 | 709-1234 |
| 박경근 | Park Kyung-kun | 총무팀 | 대리 | 709-3344 |
| 주정은 | Ju Jung-eun | 영업부 | 사원 | 709-8812 |
| 조수미 | Cho Su-mee | 영업부 | 부장 | 709-0903 |
| 권준우 | Kwon Joon-woo | 마케팅 | 사원 | 709-1212 |
| 전성철 | Jun Sung-chol | 연구소 | 대리 | 111-1111 |
| 권준우 | Kwon Joon-woo | 마케팅 | 사원 | 709-6999 |
| 권준우 | Kwon Joon-woo |
사용자 지정 수식 입력하기
(2) '데이터-유효성 검사' 메뉴를 선택합니다.
(3) '제한 대상-사용자 지정'을 선택하고 다음과 같은 수식을 입력합니다.
=SUMPRODUCT(($B$31:$B$45=$B31)*($F$31:$F$45=$F31))=1
SUMPRODUCT 함수 이해하기
Sumproduct 함수는 '주어진 배열에서 해당 요소들을 모두 곱한 다음, 그 곱의 합계'를
구해주는 함수입니다. 따라서 위 수식은 B31:B45 영역 중에서 B31 셀의 값과 같은 것이 있고 And F31:F45 영역 중에서 F31 셀의 값과 같은 것이 1개라도 있으면 지정한 동작 (예를 들면 오류 메시지 표시)을 수행하도록 설정합니다.
(4) '오류 메시지' 탭에서 오류 메시지를 입력하고 '확인' 버튼을 클릭합니다.
이제 한글 이름만 같은 경우에는 별도의 오류 메시지가 나타나지 않지만 한글 이름과 전화번호가 같은 경우에만 오류 메시지가 나타납니다.
이와 같은 방법으로 몇 개의 조건이든 연결해서 사용할 수 있습니다.
다음 시간에…
마치며
한글 이름만 같을 때는 입력을 허용하고 한글 이름과 전화번호가 모두 같을 때만 오류가 발생하도록 SUMPRODUCT를 이용한 사용자 지정 유효성 검사를 설정했습니다.