나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 조삿갓 (choga21)

추천:  2
파일:     동적유효성목록구현.xlsx (23.1KB) 조회:  2325
제목:   [RE]유효성검사 드롭다운 관련
     
  * 아래줄에 질문을 작성하세요 >>
날짜를 선택하면 해당하는 현장들만 현장명에 드롭다운 됐으면 합니다.해당 날짜 현장 모두와 각각 선택할 수 있게 수정 부탁드려요,
첨부파일 보시고 도움주시면 감사하겠습니다.
==============[로니님 글에 대한 답변입니다]==============

첨부 파일 참고하세요.

문제해결을 쉽게 하기 위해 시트구조를 조금 바꾸었습니다.
파란색 음영부분: 추가(삽입)한 수식

파란색 음영부분의 수식은 [입력] 시트의 데이터가 추가될 경우
추가된 행만큼 아래로 복사해주면 됩니다.
데이터는 얼마든지 추가해도 됨

파란색 음영 부분은 자동필터와는 독립시키는 것이 안전합니다.

주문하신 기능 뿐만 아니라
중복된 데이터가 있을 경우에 목록에는 하나만 나타나도록 하기 위한
추가 기능을 구현하였습니다.

P열: 공통 넘버링

1) 작성일자를 [입력] 시트에 입력된 날짜 중 중복 데이터 빼고 목록 선택하기
Q열: D열에 입력된 날짜가 중복되지 않은(최초에 나타난) 경우만 번호를 매김
R열: Q열의 번호에 따라 D열에서 중복되지 않은 날짜만 차례로 가져옴
R1 셀: D열에 입력된 날짜 중 중복되지 않은 것이 몇 개인지 계산

=OFFSET(입력!$R$1,1,0,입력!$R$1,1)
입력!$R$1을 기준으로 아래로 1칸, 오른쪽 0칸을 가면
입력!$R$2를 시작위치로 하여,
입력!$R$1 즉, 중복되지 않은 날짜 목록의 개수만큼의 범위를 계산하여
유효성 목록 범위로 함

2) 출력!$I$6 셀에 입력한 작성날짜에 의해
   해당 날짜에 입력된 현장 목록을 중복제거하고 만듦
S열: 문자열 결합에 의해 작성일자별 조회키를 생성함
     참고자료: http://www.officetutor.co.kr/board/Dtype/bfrmvw.asp?f_tn=Dqa_excel_n2&f_bno=123066&page= ;
     날짜 데이터가 정수값으로 변환되어 보이기는 하지만, 실용상 지장은 없음
     굳이 TEXT 함수를 쓰자면 속도만 저하됨
U열: 출력!$I$6 셀에 입력한 작성날짜에 P열의 넘버링을 문자열 결합한
     조회키를 가지고 E열의 데이터 중 유효 데이터를 추출함
     오류가 발생할 경우(유효 데이터가 더 이상 없을 경우)에는
     U$1의 값으로 대치시킴으로써,
     유효 데이터 개수를 계산하는 $V$1 셀의 수식이
     논리오류를 일으키는 것을 방지함
     #N/A 상태로 그냥 둘 경우에는 실제 유효데이터보다
     한 개 더 많은 개수로 계산해 버림
     U$1 셀에는 상수 값으로 널문자열(')을 입력해 둠
T열: U열의 목록 중 중복이 없는 경우만 넘버링함
V열: T열의 넘버링을 기준으로 U열에서 VLOOKUP으로 뽑아오면
     중복을 제거한 목록이 완성됨

OFFSET 함수는 1) 항의 설명을 참고로 잘 분석해 보세요.
 
[불량 게시물 신고]  
        
  

작성일 : 2018-01-31(22:33)
최종수정일 : 2018-01-31(22:33)
 


 ◎ 관련글

  제 목   작성자   날짜
유효성검사 드롭다운 관련 로니 2018-01-30
[RE]유효성검사 드롭다운 관련 조삿갓 2018-01-31