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