배열 수식이나 VBA없이 두 열의 고유 값 목록 추출 $B$2:$B$7), 0))), “”)}

두 개의 데이터 열 A와 B가 있습니다.이 열을 병합하여 유일한 값만 최종 목록에 포함되도록하고 싶습니다. 지금은 배열 수식을 사용하고 있습니다. https://www.get-digital-help.com/2009/06/16/extract-an-unique-distinct-list-from-two-columns-using-excel-2007-array-formula/ :

{=IFERROR(IFERROR(INDEX($A$2:$A$20, MATCH(0, COUNTIF($C$1:C1, $A$2:$A$20), 0)), INDEX($B$2:$B$7, MATCH(0, COUNTIF($C$1:C1, $B$2:$B$7), 0))), "")}

멋지게 작동하는 동안, 나는 그들이 가능한 이미 우리의 진절머리 나는 PC를 상당히 느리게하기 때문에 배열 수식을 피하고 싶습니다. 또한 VBA를 사용할 수 없으므로이 옵션도 사용할 수 없습니다.

이 작업을 수행 할 수있는 방법이 있습니까?



답변

글쎄, 나는 지금 당장 일하는 것처럼 보이는 방법을 찾았지만, 지옥은 그다지 아름답 지 않다.

열 A에는 데이터 집합, 예를 들어 총 200 개의 값이 있습니다.

B 열에는 두 번째 데이터 집합, 예를 들어 175 개의 값이 있습니다.

C 열은 C 열의 값이 A 열에 있는지 확인합니다.

 =IF(COUNTIF($A$2:$A$750,B2)>0,"Match","No Match")

열 E에는 열 A의 데이터 집합 끝에 상대적인 위치를 추적하는 개수가 있습니다.

=IF(A2=0,MAX($E$1:E1)+1,"")

F 열에는 C 열이 고유 값을 나타낼 때마다 증가하는 계수가 있습니다.

=IF(C2="No Match",MAX($F$1:F1)+1,"")

G 열은 두 데이터 세트가 결합 된 곳입니다. 먼저 목록의 끝에 도달하고 0을 찾기 시작하면 E 열에서 작성된 색인을 사용하여 B에서 첫 번째 고유 값을 찾은 다음 최종 값에 도달 할 때까지 증가시킵니다.

=IF(A2=0,IF(E2>MAX(F:F),"",INDEX(B:B,MATCH(E2,F:F))),A2)


답변

고유하고 고유 한 값을 추출하는 방법에 대한 좋은 토론이 있습니다. 이 Excel 자습서 웹 사이트 .

그리고 귀하의 질문에 대한 대답은 네, 단지 각 부분에 대한 여분의 INDEX ()를 사용하는 것입니다. 수정 사항은 다음과 같습니다.

=IFERROR(INDEX($A$2:$A$20,MATCH(0,INDEX(COUNTIF($C$1:C1,$A$2:$A$20),0),0)),INDEX($B$2:$B$7,MATCH(0,INDEX(COUNTIF($C$1:C1,$B$2:$B$7),0),0)))

나는 가장 바깥 쪽의 IFERROR ()를 그만 뒀다. 희망이 도움이됩니다.


답변