답변:
Excel 2010부터는 데이터 유효성 검사의 소스 목록으로 구조적 참조를 직접 사용할 수 없습니다. 그러나 구조적 참조의 이름을 정의하고이 새 이름을 대신 사용할 수 있습니다.
예 Table1
를 들어라는 열이 포함 된 단일 열 테이블 이있는 경우 구조적 참조를 사용하여 Acceptable Values
새 이름 ValidValues
을 정의 할 수 Table1[Acceptable Values]
있습니다. 데이터 유효성 검사 목록의 소스 필드에 입력 할 수 있습니다=ValidValues
질문에 대답하려면 :
'소스'필드에 동적 테이블 참조를 넣을 수 있습니까? 그렇다면 어떻게 할 수 있습니까?
예! 이렇게 ...
INDIRECT
함수를 사용하여 데이터 유효성 검증 소스 필드에서 직접 테이블 열을 참조하십시오 .
=INDIRECT("Table1[MyColumn]")
테이블 / 컬럼 참조 이름에 대한 변경 사항은 마술처럼 업데이트되지 않습니다.
이 작업을 수행하는 두 가지 방법이 있습니다.
선택 C1:C6
, 메뉴 표시 줄의 고토에 삽입 -> 이름 -> 정의 , 범위 (예를 들어, "ValidationList")의 이름을 입력합니다. 그런 다음 데이터 유효성 검사 창에서 소스 필드 위의 값을로 설정해야 =ValidationList
합니다.
목록에 항목을 추가 할 때마다 삽입 -> 이름 -> 정의 창을 다시 방문하여 목록에서 이름 지정된 항목을 선택하고필요에따라 참조 대상 값을변경하십시오.
모든 참조 =ValidationList
는 자동으로 새로 수정 된 목록을 가리 킵니다.
이 예제에서는 $C$1:$C$6
목록 영역으로 사용 하고 있습니다. 이 목록 의 중간 에 새 셀을 삽입하면 (즉, 선택 C4
, 마우스 오른쪽 버튼 클릭, 삽입, 셀 아래로 이동) 범위가 확장되어야합니다.
드롭 다운 메뉴를 선택할 수있는 테이블을 만듭니다.
이동 Formulas
> Name Manager
> New Name
, 당신은 목록 선택 아래로 드롭을 보유하는 데 사용할 테이블 열 이름을 정의합니다.
=ListChoices
.참조 : http://excelsemipro.com/2011/05/a-dynamic-dependent-drop-down-list-in-excel/
DMA57361 의 답변 을 연장하고 싶습니다 . 명명 된 범위를 사용하되 목록이 커지거나 줄어들 때 동적 범위가 원하는대로 확장 및 축소되도록 해당 범위를 동적으로 만듭니다.
C1에서 시작하여 C6에서 끝나는 목록이있는 경우 다음 코드는 확장 및 축소를 허용합니다. 셀을 비워두면 목록이 중지됩니다.
=OFFSET($C$1, 0, 0, COUNTA($C:$C),1)
이 수식을 명명 된 범위에 넣고 ValidationList라고합니다. 데이터 유효성 검증 대화 상자에서 목록을 선택한 후 =ValidationList
소스 로 입력하십시오 .
동적으로 명명 된 범위를 만드는 데 유용한 리소스 : http://www.ozgrid.com/Excel/DynamicRanges.htm