2016-07-15 4 views
0

INDEX (MATCH)를 사용하여 다른 시트의 다른 두 셀의 기준을 사용하여 한 열의 값을 조회합니다. 여기에 사용하는 것을 시도하고 공식은 다음INDEX (MATCH)를 사용하여 여러 기준을 기반으로 값을 찾습니다.

=INDEX(Sheet1!P:P,MATCH(1,(Sheet1!A:A=Sheet2!C$1)*(Sheet1!B:B=Sheet2!$B2),0)) 

시트 1 배열하고 열은 P I는 수식 반환 걸려 값을 포함한다. Sheet1의 열 A는 첫 번째 기준에 대한 값을 포함하고 Sheet1의 열 B는 두 번째 기준에 대한 값을 포함합니다. 기준은 Sheet2의 C1 및 B2에 표시됩니다. 셀이 복사되면 변경됩니다. 누구든지이 공식에서 오류를 볼 수 있습니까? 수식 또는 함수에 사용할 수없는 값이 반환됩니다.

+2

편집 모드를 종료 할 때 Ctrl-Shift-Enter를 눌러 배열 수식으로 입력 하시겠습니까? –

+0

열 A, B 및/또는 P 텍스트, 날짜 또는 숫자입니까? – Jeeped

+0

Scott - 그게 문제였습니다. 답변 감사합니다. – SteveC

답변

0

이 값은 배열 수식 1로 입력해야하므로 전체 열 참조를 최소 크기로 줄이거 나 수십만 개의 빈 셀을 처리 할 때 불필요한 계산 지연이 발생합니다. 열 A의 텍스트와

, 숫자 또는 열 A의 날짜와

=index(Sheet1!$P$1:index(Sheet1!$P:$P, match("zzz", Sheet1!$A:$A)), 
    match(1, (Sheet1!$A$1:index(Sheet1!$A:$A, match("zzz", Sheet1!$A:$A))=Sheet2!C$1)* 
      (Sheet1!$B$1:index(Sheet1!$B:$B, match("zzz", Sheet1!$A:$A))=Sheet2!$B2), 0)) 

,

=index(Sheet1!$P$1:index(Sheet1!$P:$P, match(1e99, Sheet1!$A:$A)), 
    match(1, (Sheet1!$A$1:index(Sheet1!$A:$A, match(1e99, Sheet1!$A:$A))=Sheet2!C$1)* 
      (Sheet1!$B$1:index(Sheet1!$B:$B, match(1e99, Sheet1!$A:$A))=Sheet2!$B2), 0)) 

당신은하지 않았다 절대 참조 앵커 (예 $) 원래 Sheet1의 범위 참조뿐만 Sheet2의 기준에 맞춰 설정 한 방식에 따라 필자는 행과 열에 모두 필요하다고 생각하게되었습니다.

행 1에 열 머리글 레이블이있는 경우 A1, B1 및 P1을 A2, B2 및 P2로 변경하십시오.


배열 수식이 Ctrl 키 + 시프트 + Enter↵으로 확정 할 필요가 ¹. 정확하게 입력하면 Excel에서 수식을 중괄호로 묶습니다 (예 : {)). 자신에게 중괄호를 입력하지 마십시오. 첫 번째 셀에 올바르게 입력되면 다른 수식과 마찬가지로 채우거나 복사하거나 아래로 복사 할 수 있습니다. 실제 데이터의 범위를보다 자세히 나타내는 범위에 대한 전체 열 참조를 시도하고 줄이십시오. 배열 수식은 계산주기를 대수적으로 계산하므로 참조 된 범위를 최소로 좁히는 것이 좋습니다. 자세한 내용은 Guidelines and examples of array formulas을 참조하십시오.

관련 문제