2016-06-23 10 views
1

2つのテーブルを使用していますが、A2のデータと一致するその列の値を持つ列の最初の行からデータを取得しようとしています。行のデータと一致する列の行1を取得します。

例テーブルが...

ID#s RESULT 
9 
17 
49 
43 
5 
32 
46 
56 
20 
36 
37 

test1 test2 test3 test4 test5 test6 test7 
    1  9  17  25  33  41  49 
    2  10  18  26  34  42  50 
    3  11  19  27  35  43  51 
    4  12  20  28  36  44  52 
    5  13  21  29  37  45  53 
    6  14  22  30  38  46  54 
    7  15  23  31  39  47  55 
    8  16  24  32  40  48  56 

だから、基本的に、これらは、2つの異なるテーブルです。最初の表を見て、私はB2に入ってA2の値(この場合は9)を見つけ、2番目の表でそれを見つけて9の列の最初の行の値を返しますしたがって、B2は "test2"の列に数字9を見つけたので "test2"を返さなければなりません。最終結果は以下のようになります。

ID#s RESULT 
9  test2 
17  test3 
49  test7 
43  test6 
5  test1 
32  test4 
46  test6 
56  test7 
20  test3 
36  test5 
37  test5 

どのようにすればいいですか?うまくいけば私は徹底的に助けを求めていることを説明した。

答えて

2

は、あなたのデータが与えられenter

=OFFSET(Table2,0,MAX(IF(A2=Table2,COLUMN(Table2)))-COLUMN(Table2)) 

を叩きながらctrl+shiftを押しながら入力し、この式を試してみてください、我々は返す:

enter image description here

は、Excel 2016を持って起こる、とも望む必要がある場合は構造化参照を含む表を使用する代わりに、この式を使用することもできます(CSEで入力したもの):

=TEXTJOIN(,,IF(A2=myDataTable,myDataTable[#Headers],"")) 
+0

あなたは天才です、ありがとう。これは動作します! – Xiodrade

+0

喜んで助けてください。編集して2016を使用しているユーザーの情報を追加します –

-2

これはVLOOKUPメソッドで可能です。このページでは、どのように使用するかについてとてもうまく説明しています。http://www.gcflearnfree.org/excel-tips/how-to-use-excels-vlookup-function/1/

+0

これはVLOOKUPでどのように行われているのか詳しく教えてください。それは私の9を見つけることができませんでした。なぜなら、列の最初の行を返すのではなく、2列目にあるからです。 – Xiodrade

+0

申し訳ありませんが間違った質問:= HLOOKUP(A2、Sheet2!A2:G8,1、FALSE) – GreatSUN

+0

それでも動作しません。 2番目の表のA2で始まり、最初の結果を返します。あなたの関数は、A2の値9に対して9を返します。 HLOOKUPはあなたの範囲の最初の行から始まり、上がっていないので、その1を2に変更すると "10"を返します。 – Xiodrade

関連する問題