2017-10-26 1 views

답변

0

=IFERROR(INDEX(A$2:A$6,SMALL(IF(ISNUMBER(MATCH($A$2:$A$6,$D$2:$D$6,0)),ROW($A$2:$A$6)-1),ROW()-1)),"") 

Ctrl 키Shift 키를 사용하여 배열 수식으로 입력해야합니다 일치하는 모든 행과 열을 얻을에서 당신이 뭔가를 시도 할 수 있지만 아래로 끌어되어야하며ㄱ 것

enter image description here

또 다른 방법을 입력 e 헬퍼 열을 데이터베이스에 추가하고 필터를 적용합니다.

다음과 같은 식의 동작이

(최 외곽하는 내측에서 작동)

MATCH($A$2:$A$6,$D$2:$D$6,0)) 

대전은 보통 단일 룩업 값 대전 (lookupValue 범위, 옵션)를 얻어 아니라 배열로 사용될 수있다 이 A2에서 각 셀에 대해,이 경우 룩업 값들의 각각의 결과를 포함하는 배열을 반환하는 경우 조회 값 : A6 D2에서 룩업 : D6는

1; #N/A; 4; #N/A; #N/A 

준다

우리는 D2 : D6에서 어떤 부분이 성공했는지 여부를 원하지 않습니다. ISNUMBER는 생산

true: false; true; false; false 

IF(ISNUMBER(MATCH($A$2:$A$6,$D$2:$D$6,0)),ROW($A$2:$A$6)-1) 

우리는 A2에서 행을 찾으려면

: 성공적인 일치가 발생 A6. 테스트가 실패하면 당신은

2; false; 4; false ; false 

를 얻을 수 있도록, 출력은 거짓되고 셀의 행을 의미) 하나 그래서 당신은

1; false; 3; false; false 

SMALL(IF(ISNUMBER(MATCH($A$2:$A$6,$D$2:$D$6,0)),ROW($A$2:$A$6)-1),ROW()-1) 

행 (얻을 빼기 수식 (처음에는 F2)을 포함하므로 2를 얻은 다음 1에서 1을 뺍니다. 따라서 SMALL은 위 배열의 가장 작은 요소를 줄 것입니다. 1. 수식을 B3으로 가져 오면 배열에서 다음 비 (non-false) 요소 : 3.

INDEX(A$2:A$6,SMALL(IF(ISNUMBER(MATCH($A$2:$A$6,$D$2:$D$6,0)),ROW($A$2:$A$6)-1),ROW()-1)),"") 

A2 : A6 범위의 n 번째 셀을 표시하기 위해 INDEX를 표준으로 사용합니다. F2에서 이것은 1을 포함하는 첫 번째 셀입니다.F3에서는 4를 포함하는 세 번째 셀입니다. G2에서는 수식이 가로 질러 B2 : B6 범위에 적용됩니다. 더 이상 경기가 없기 때문에 인덱스/일치가 실패하면


=IFERROR(INDEX(A$2:A$6,SMALL(IF(ISNUMBER(MATCH($A$2:$A$6,$D$2:$D$6,0)),ROW($A$2:$A$6)-1),ROW()-1)),"") 

는 IFERROR 빈 셀을 보여줍니다.


이러한 수식은 복잡해 보이지만 정규 Excel 사용자의 커뮤니티에서 상당히 표준적이고 인식 가능한 패턴으로 구성됩니다.

공식

는 하드 코딩의를 제거함으로써 개선 될 수 -1 그래서

=IFERROR(INDEX(A$2:A$6,SMALL(IF(ISNUMBER(MATCH($A$2:$A$6,$D$2:$D$6,0)),ROW($A$2:$A$6)-ROW(A$1)),ROW()-ROW(A$1))),"") 
+0

당신이 너무 친절하고 공식을 설명 할 삽입/삭제에 덜 취약? –

+0

죄송합니다. 잠시 컴퓨터에서 떨어져있을 것이지만 나중에 확장 할 것입니다. –

+0

고마워요! 당신의 해결책을 적용하고 당신의 설명을 기다릴 것입니다. 내 기쁨! –

관련 문제