=IF(
A4=INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C, 0)),
INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C,0)),
IF(A4=INDEX(Source1!$A:$A, MATCH(A4, Source1!$B:$B, 0)),
INDEX(Source1!$A:$A, MATCH(A4, Source1!$B:$B, 0)),
IF(A4=INDEX(Source2!$A:$A, MATCH(A4, Source2!$B:$B, 0)),
INDEX(Source2!$A:$A, MATCH(A4, Source2!$B:$B, 0)),
IF(A4=INDEX(Source3!$A:$A, MATCH(A4, Source3!$B:$B, 0)),
INDEX(Source3!$A:$A, MATCH(A4, Source3!$B:$B, 0)))
)))
みなさん、こんにちは!ここでは、4 つの異なるスプレッドシートがあり、セル A4 の値を検索して、4 つのソース スプレッドシートすべてで正しい値が返されるようにします。
これを試してみると、うまくいきます:
INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C,0))
しかし、これは以下のような単純な if ステートメントやネストされた if ステートメントでは機能しません。どこが間違っているのか全くわかりません。
=IF(INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C, 0))=A4,
INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C, 0)),
"NO")
これでは、すべてのセルが「NO」を返しますが、これは誤った値です。これを確認して、どこが間違っているのか教えてください。ご協力とご協力をお願いいたします。
答え1
A4 が見つからない場合はエラーが返され、独自のエラーを作成せずにエラーと等しくすることはできません。
代わりにこれを使用してください:
=IF(
ISNUMBER(MATCH(A4, Sheet1!$C:$C, 0)),
INDEX(Sheet1!$B:$B, MATCH(A4, Sheet1!$C:$C,0)),
IF(ISNUMBER(MATCH(A4, Source1!$B:$B, 0)),
INDEX(Source1!$A:$A, MATCH(A4, Source1!$B:$B, 0)),
IF(ISNUMBER(MATCH(A4, Source2!$B:$B, 0)),
INDEX(Source2!$A:$A, MATCH(A4, Source2!$B:$B, 0)),
IF(ISNUMBER(MATCH(A4, Source3!$B:$B, 0)),
INDEX(Source3!$A:$A, MATCH(A4, Source3!$B:$B, 0)))
)))