기준에 따라 값 나열

기준에 따라 값 나열

다음과 같이 단순화된 버전처럼 보이는 "DealSetup"이라는 워크시트에 테이블이 있습니다.

   A           B
1  John Doe    1
2  Jane Doe    1
3  Mark Doe    2
4  Doug Doe    1
5  Mary Doe    2

"DealSetup" 워크시트에서 이름을 가져오려는 "List"라는 워크시트에 테이블이 있습니다. 그러나 B열의 값을 기준으로 이름만 나열하고 싶습니다.

예를 들어, "목록" 워크시트에서 일종의 INDEX 또는 일종의 배열 함수를 사용하여 "DealSetup" 시트를 보고 B열 값이 1인 모든 사람을 끌어와 나열하고 싶습니다. 하지만 나는 공백을 원하지 않습니다. 다음과 같아야 합니다.

 EVERYONE WITH B COLUMN VALUE OF 1:  
   A  
1  John Doe
2  Jane Doe
3  Doug Doe

또는 다음과 같습니다:

 EVERYONE WITH B COLUMN VALUE OF 2:  
   A  
1  Mark Doe
2  Mary Doe

나는 운이 좋지 않은 몇 가지 일을 시도했습니다. 여기서 어디로 가야할지 잘 모르겠습니다. 어떤 의견이라도 주시면 감사하겠습니다!!

답변1

데이터가 있다고 가정하면 DealSetup!A$2:B$6다음 공식을 사용할 수 있습니다.List!A2

=IFERROR(INDEX(DealSetup!A$2:A$6,SMALL(IF(DealSetup!B$2:B$6=C$1,ROW(DealSetup!A$2:A$6)-ROW(DealSetup!A$2)+1),ROWS(A$2:A2))),"")

CTRL+ SHIFT+ 로 확인 ENTER하고 필요한 만큼 복사하세요. 이름이 부족하면 공백이 생깁니다.

기준(1,2 등)을 가정합니다.C1

참조 부착학습장C1- 2로 바꿔보세요

지정된 기준 내에서 이름이 반복되면 이름이 반복됩니다. 각 이름을 한 번만 표시하도록 수식을 조정할 수 있습니다(예: 이 버전).

=IFERROR(INDEX(DealSetup!A$2:A$6,SMALL(IF(DealSetup!B$2:B$6=C$1,IF(COUNTIF(A$1:A1,DealSetup!A$2:A$6)=0,ROW(DealSetup!A$2:A$6)-ROW(DealSetup!A$2)+1)),1)),"")

답변2

수식이 포함된 솔루션을 원한다면 하단에 공백이 있을 것입니다. 목록이 변경됨에 따라 수식이 포함된 셀을 늘리거나 줄일 수 있는 방법은 없습니다. 예를 들어 모든 사람이 1in 열 을 가지고 있는 경우 아무 것도 놓치지 않도록 수식이 포함된 표는 원시 데이터와 높이가 같아야 합니다 B. 그렇지 않다는 것을 알고 있다면 List워크시트의 행 수를 줄일 수 있지만 위험합니다. 다음은 하단에 공백이 있는 순서대로 모든 항목을 반환하는 수식입니다. 배열 수식이므로 Ctrl+ Shift+ 로 입력하세요 Enter. (Barry Houdini가 이미 비슷한 솔루션을 제출했습니다.)

{=IFERROR(INDEX(DealSetup!$A:$A,SMALL(IF(DealSetup!$B:$B=1,ROW(DealSetup!$B:$B)),ROW())),"")}

하단에 공백을 허용할 수 없는 경우 피벗 테이블 또는 VBA 솔루션이어야 합니다. 이 질문은 꽤 오래되었으므로 불행하게도 곧 OP가 다시 여기에서 나타날 것으로 예상하지 않습니다.

관련 정보