2017-10-26 2 views
0

각 코드에 대해 4 가지 유형의 코드와 하위 테이블을 제공하는 마스터 테이블이 있습니다. 마스터 테이블에 새로운 코드가 입력되면 수식이 자동으로 해당 하위 테이블에 새 항목을 추가하는 방식으로 각 하위 테이블에 대한 동적 수식을 원합니다.동적 Excel 수식

예 : 마스터 테이블의 코드 B 옆에 코드 A를 입력하면 새로운 코드가 info1 및 info2 항목과 함께 하위 테이블 A에 표시됩니다. 나는이 영어를 모국어로 사용하지 오전

enter image description here

그래서 난 내 설명이 일을 복잡하게하지 않았다 바랍니다. :)

참고 : 표는 세 ​​열로 제한되지 않습니다.

답변

0

색인을 포함하지 않지만 '색인'의 일종으로 다른 열이 필요할 수식이 있습니다.

{=IFERROR(SMALL(IF($AB$11:$AB$100=$BG$9,$AJ$11:$AJ$100),$BB11),"")} 

여기서 $ BB11은 첫 번째 목록의 번호 1입니다. 매력처럼 작동합니다!

2

삽입> 표가있는 Excel 표 객체로 데이터 입력 표를 전환하십시오.

이제 Info1 및 Info2를 표시하는 3 개의 피벗 테이블을 작성할 수 있습니다. 각 피벗 테이블을 필터링하여 코드 A 또는 B 또는 C를 각각 표시합니다.

데이터 입력 테이블에 새 데이터를 입력 할 때 데이터> 새로 고침을 사용하면 피벗 테이블이 업데이트됩니다. 데이터 입력 테이블의 셀이 변경 될 때 피벗 테이블 업데이트를 자동화하는 워크 시트 변경 이벤트를 생성 할 수 있습니다.

enter image description here

정형화 방법

배열 식으로 고정 된 범위를 사전에 충전함으로써 만 가능하다.

enter image description here

에서

=IFERROR(INDEX(B$1:B$20,SMALL(IF($A$1:$A$20=$E$1,ROW($A$1:$A$20)),ROW()-2)),"") 

복사 열에 F. 다음 스크린 샷에서 열 E의 노란색 셀은 선택되었다, 다음 수식은 Ctrl 키 Shift 키 입력과 입력 및 확인되었다 열 H 수식 열에

=IFERROR(INDEX(B$1:B$20,SMALL(IF($A$1:$A$20=$H$1,ROW($A$1:$A$20)),ROW()-2)),"") 

카피 I.

칼럼 K 식 691,363,210

이러한 배열 수식은 하나의 셀을 편집 할 수없는 것 열에

=IFERROR(INDEX(B$1:B$20,SMALL(IF($A$1:$A$20=$K$1,ROW($A$1:$A$20)),ROW()-2)),"") 

복사 L.

주이다. 동일한 배열 수식을 가진 모든 셀을 선택하고 편집 한 다음 Ctrl-Shift-Enter로 다시 확인해야합니다.

열 A에서 C의 데이터가 행 20을 넘으면 그에 따라 배열 수식을 조정해야합니다.

이 접근 방식은 데이터 입력 열에있는 행 수에 관계없이 항상 채워진 수식이 항상 계산되므로 매우 효율적이지 않습니다.

배열 수식은 전체 열 참조를 사용해서는 안되기 때문에 통합 문서가 상당히 느려지므로 유의하십시오.

피벗 테이블 접근 방식은 올바르게 설정하는 것이 훨씬 효율적이고 설치 작업이 덜 필요하며 유지 관리가 필요하지 않습니다.

+0

감사합니다. Teylyn. 나는 또한 피벗 테이블을 사용하지 않고 (공식화를 통해) 방법을 찾고있다. – kenkenhimself

+0

수식은 어렵습니다. 조회 수식은 하나의 값만 반환합니다. 복잡한 배열 수식에서는 가능할 수 있지만 데이터가있을 것으로 예상되는 행 수만큼 표에 미리 채우기를해야합니다. 그것은 항상 추악합니다. – teylyn

+0

공식 접근 방식을 추가했습니다. – teylyn