単一インデックス+ Matchは動作しますが、ifステートメント内


0
=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つの異なるスプレッドシートがあり、正しい値を返すために4つすべてのソーススプレッドシートを探すためにセルA4で値を検索しようとします。

私がこれを試したとき、それは金のようにうまくいきます:

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"を返します。これは誤った値です。あなたはそれを見て、私が間違ったことを私に知らせてもらえますか?あなたの注意と時間はとても感謝しています。

回答:


0

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)))
)))

スーパー!!!!!!!!!!!!!!!!!!!!ありがとうスコット!
zzaewon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.