0

sheet2以下の式を使用して、 の値と一致する値のアドレスを返しますsheet1

=ADDRESS(MATCH(C18,Sheet2!C:C,0),3) 

sheet1セルに返された結果E19が ( sheet2) $c$8(null ではない) の場合、 にある値を見つけたいと思いますsheet2 $h$8

4

1 に答える 1

1

数式をネストします。関数を使用してMatch、検索された値が存在するかどうかをテストします。存在する場合、Ifステートメントの false 部分は を使用しVLOOKUPて列 H の対応する値を見つけます。

=If(IsError(Match(C18,Sheet2!C:C,False)),"match not found",VLOOKUP(C18,Sheet2!C:H,6,False))

(テストされていないので、括弧を正しい場所に置いていることを再確認してください)

このアプローチでは、左から右への検索しか実行できないため、たとえば、列 C を検索しても列 A の値を返すことができませんでした。INDEX関数を使用してこのアプローチを変更できます (可能であることがわかっています)。またはおそらくOFFSET機能。

関数を使用して列 C を検索しながら、列 A の対応する行の値を見つける例を次に示しIndexます (テスト済みおよび検証済み)。

=INDEX(Sheet2!A:A,MATCH(C18,Sheet2!C:C,FALSE))

次のようなエラー ロジックを追加できます。

=If(IsError(Match(C18,Sheet2!C:C,False)),"N/A",INDEX(Sheet2!A:A,MATCH(C18,Sheet2!C:C,FALSE))

于 2013-09-11T02:45:04.780 に答える