티스토리 뷰

이번 포스팅은 엑셀의 데이터 유효성 검사, 이름 정의, INDIRECT를 조합해 사용하는 다중 목록 만들기에 대한 내용인데요. 다중 목록은 많은 사람들이 활용하는 편은 아니지만, 조금 체계화된 문서를 만들 때 활용하면 굉장히 유용한 방법이니 알아두시면 도움이 되리라 생각됩니다.

 

 

데이터 유효성 검사, 이름 정의, INDIRECT에 대한 개별적인 설명은 이전 포스팅에 자세히 다루고 있기때문에, 이번 포스팅에선 별도로 다루지 않고 진행하도록 하겠습니다.

 

이름 정의와 데이터 유효성 검사, INDIRECT를 이용해 다중 목록 만들기

 

다중 목록은 첫 번째 목록에서 선택된 그룹명(이름 정의) 기준으로 두 번째 리스트를 생성하고, 두 번째 목록에서 선택된 그룹명을 기준으로 세 번째 리스트가 생성되도록 하는 방법을 말합니다. 

 

이름 정의 트리 구조 (

 

위 예제로 설명드리면, 첫번째 리스트에선 메모리_제조사를 선택 → 두 번째 리스트에선 메모리_제조사 이름 정의 목록을 표시(삼성, 하이닉스) → 세 번째 리스트에선 하이닉스 그룹의 리스트(DDR3, DDR4)를 표시하는 예제입니다. 보시면 아시겠지만, 앞 목록에서 선택한 그룹명 기준으로 리스트가 구성되는것을 보실 수 있습니다.

 

 

① 그룹으로 사용하고자하는 리스트를 이름 정의를 통해 그룹화하면 되는데, 여기서 주의하셔야 될 점은 띄어쓰기는 오류를 발생시키기 때문에, 글자 간격을 주고 싶다면 별도 구분 기호로 작성해줘야 됩니다. 물론 전부 붙여서 작성하는 게 가장 좋지만요.

 

위 예제에서 다중 목록을 만들기 위해 사용된 그룹명(이름 정의) 예시

  → 첫 번째 목록 그룹명(이름 정의) : 컴퓨터_부품_종류

  → 두 번째 목록 그룹명(이름 정의) : CPU_제조사, 메모리_제조사

  → 세 번째 목록 그룹명(이름 정의) : 인텔_CPU, AMD_CPU, 삼성, 하이닉스

 

이름 정의에 대한 조금 더 자세한 내용 설명 →

 

 

② 다중 목록의 첫 번째 대상의 유효성 검사 규칙은, 제한 대상을 목록으로, 원본은 첫번째 리스트로 사용할 그룹명(이름)을 기입하면됩니다. 위 예제 기준으로 목록엔 CPU_제조사, 메모리_제조사 항목이 표시되게 됩니다.

  → 첫 번째 기입 값 : =메모리_제조사 (위 예제 기준)

 

데이터 유효성 검사에 대한 조금 더 자세한 설명 →

 

 

③ 첫 번째 목록이 어떤 이름으로 선택되었냐에 따라 두 번째 목록의 리스트가 결정되는데요. 어떤 그룹명(이름)을 첫 번째 대상으로 선택할지 알수 없기 때문에, 우리는 그룹명(이름)의 내용을 INDIRECT 함수를 통해 불러올 필요가 있습니다. 사실 이 방법의 사용을 위해 이름 정의와 INDIRECT를 사용하는 것이지요.

 

위 예제 기준으로 설명을 드리면 C20셀엔 메모리_제조사란 그룹(이름)이 선택되어있고, C20셀 INDIRECT 기입하기 때문에 INDIRECT("메모리_제조사") 형식으로 상용된다 보시면 됩니다

  → 두 번째 기입 값 : =INDIRECT($C$20)

 

INDIRECT와 ADDRESS 함수에 대한 자세한 설명 →

 

 

④ 세 번째 목록 또한 INDIRECT를 두 번째 목록과 동일한 형식으로 지정해주면 됩니다

  → 세 번째 기입 값 : =INDIRECT($D$20)

 

(함수응용 - 중급) 납품 수량 관리 시트 만들기#1 (총 3강) →

 

이렇게하면 첫번째 선택된 값 기준으로 두 번째 목록이 구성되고, 두 번째 선택한 목록 기준으로 세 번째 목록이 구성되는 것인데요. 이 방법은 실전에서도 꽤 자주 사용하는 방법이기 때문에 알아두시면 훗날 도움이 되시리라 생각됩니다.

LIST