2016-06-21 2 views
1

Google 시트에서 값을 반환하려고합니다. 이는 않는, 다음과 같이 인덱스 일치를 사용하여 수행됩니다 일 :Google 스프레드 시트에서 중첩 된 IF, INDEX 및 MATCH

=iferror(index(Data!B:B, match(B5339,Data!G:G,0)),"Not Found") 

지금이 첫 번째 테스트가 실패하면, 다른 시트에서 동일한 데이터를 찾는 시도 할 수 있도록,이 확장하고 싶습니다 .. ..

=iferror(if(index(Data!B:B, match(B5340,Data!G:G,0),if(index(HeadOfficeLeads!B:B, match(B5340,HeadOfficeLeads!A:A,0))))),"Not found") 

"실패"라는 실패 메시지를 출력합니다. 그러나 첫 번째 테스트는 실제로 거짓이지만 두 번째 테스트는 사실입니다 (이 두 번째 데이터 세트는 실제로 일치를 유지합니다).

NB - 그리고 모든 일 나던 작업을 제공 - 문이 실행되는 경우, 2 장에이 정확한 일치를 포함하는 데이터는 몇 가지 이유를 들어 UNIQUE (FILTER, FWIW....

에 의해 만들어진, 그것은 두 번째처럼 나던 오류 "잘못된 인수 개수".

첫 번째 테스트에 "거짓"조항이 없다는 느낌이 들지만 "IFERROR"부모가 처리해야한다고 생각합니다. 그렇지 않은 경우 IF's에 "if false 절"을 어디에 넣을까요?

답변

0

iferror에는 로직에 if 문 (이름에서 알 수있는 것처럼)이 이미 포함되어 있으므로 if이 필요하지 않습니다. 여기에서 명확성을 위해 단순화 중첩 iferror 문장의 한 예이다 :이있을 경우는, "A"열에서의 위치를 ​​반환

=iferror(match("a", A1:A5, 0), iferror(match("a", B1:B5", 0), "not found")) 

는; 그렇지 않으면 B 열의 위치를 ​​반환하고, 그렇지 않으면 "찾을 수 없음"을 반환합니다.

index 또는 그 밖의 다른 기능은 match과 동일하게 작동합니다.

관련 문제