2012-12-11 3 views
2

n을 보유하고있는 범주 m 제품. 이 목록은 다음과 같은 예를 들어, 정렬되지 않은 상태입니다 :Excel의 동적 데이터 유효성 검사 (비 VBA!)

  1. 드롭 다운 : 데이터 유효성 검사를 동적으로 각각의 고유의 목록을 저장

    지금 여기에 내가 기본적으로이 목록에 수행 할 작업입니다 첫 번째 열의 값 (= Category_5는 아직 존재하지 않으므로 선택할 수 없습니다).

  2. 드롭 다운 : 첫 번째 드롭 다운에서 선택한 카테고리를 기반으로 한 모든 제품의 목록을 제공하십시오.

이에 대한 비 VBA 솔루션이 있습니까?

답변

2

예 스프레드 시트 레이아웃 :

  • A2:A13 - 카테고리 목록, 항목이 고유하지 않은
  • B2:B13 - 제품 목록
  • Cell D2 다운 - 드롭 다운 목록 1 소스, 고유 항목, 동적
  • Cell F2 아래로 - 드롭 다운 목록 2 항목 증분 번호 1 .. (수식에 계산이 적음)
  • Cell G2 다운 - 드롭 다운 목록 2 소스 동적
  • Cell I2 - 드롭 다운 셀 1
  • Cell J2 - 드롭 다운 셀 2

D2 : 배열 수식 (Ctrl 키 - 에서 입력 -가 교대 수식 입력란, 사용자가 아닌 꺾쇠 괄호가 Excel에 삽입 됨), 아래쪽으로 복사 :

{=INDEX($A$2:$A$13;MATCH(0;COUNTIF($D$1:D1;$A$2:$A$13);0))} 

고유 한 카테고리 목록을 제공합니다.

G2 : 배열 수식은 이전 섹션에서 지시를 따르

{=INDEX($B:$B;SMALL(IF($A$2:$A$13=$I$2;ROW($A$2:$A$13);"");$F2))} 

I2에서 선택된 카테고리에 제품의 목록을 제공.

목록이 정렬되지 않습니다. 범주 및 제품별로 초기 목록을 정렬하는 것이 좋습니다.
오류 처리 없음 : 수식을 IF ISERROR 절로 업데이트해야합니다.

Dynamic_dropdown_lists.xls

+0

awesome! 거의 생각, 나는 VB에서 그것을 실현해야합니다. 감사 :) –

0

Excel에서 VBA없이 작동하게하려면 2 열의 데이터 유효성 검사에 유효한 항목 범위를 다시 설정하는 몇 가지 방법이 필요합니다. 소스는 목록 또는 코드해야 할 범위 일 수 있기 때문에 연결된 열 1 값이 변경되면 해당 정보가 변경됩니다.

VBA 경로로 가고 싶지 않다면 Access (또는 아마도 InfoPath)와 같은 데이터베이스에 대해 bread의 & 버터가 필요합니다.