2016-06-21 1 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") 

これは、「見つからない」という失敗メッセージを出力します。 しかし、最初のテストは実際には間違っていますが、2番目のテストは真です(この2番目のデータセットは実際に一致します)。

NB - 与え、そして全体のことdoesntの仕事 - 2枚目にこの正しい試合を含むデータが何らかの理由でUNIQUE (FILTER, FWIW....

によって作成された文が実行されている場合、それは第二のように見えるdoesntのエラー "引数の数が間違っています"。

最初のテストでは「if false」という句がありませんが、「IFERROR」親はこれを処理する必要があると考えています。 もしそうでなければ、IF'sの "if false clause"はどこに置かれますか?

答えて

0

iferrorにはすでにロジック内にifというステートメントが含まれています(その名前が示すとおり)ifは不要です。ここではわかりやすくするために簡略化され、ネストされたiferror文の例です。

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

それがあります場合、これは、「」列A内の位置を返します。それ以外の場合は、Bの位置がBの場合はその位置を返し、そうでない場合は「見つからない」を返します。

indexまたはそれ以外のものは、matchと同じように機能します。

関連する問題