sheet2以下の式を使用して、 の値と一致する値のアドレスを返しますsheet1。
=ADDRESS(MATCH(C18,Sheet2!C:C,0),3)
sheet1セルに返された結果E19が ( sheet2) $c$8(null ではない) の場合、 にある値を見つけたいと思いますsheet2 $h$8。
sheet2以下の式を使用して、 の値と一致する値のアドレスを返しますsheet1。
=ADDRESS(MATCH(C18,Sheet2!C:C,0),3)
sheet1セルに返された結果E19が ( sheet2) $c$8(null ではない) の場合、 にある値を見つけたいと思いますsheet2 $h$8。
数式をネストします。関数を使用して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))