2016-05-03 4 views
1
Iは理想的には私は Adress1値(ABC)をフェッチする式が必要私の所望のデータ

最後にlookup_valueからVLookUp Excel関数を使用して値を検索する方法はありますか? <strong>キー100(検索値)</strong>ため

=VLOOKUP(100,PersonDetails,2,FALSE) 

を選択するVLOOKUP式の下に使用

I have below Data

から範囲名(PersonDetails)ですが、数式が正しいデータを取得していないようです(結果は#N/Aが表示されます)。これを回避するには?

注:PersonDetailsは名前付き範囲であり、表ではありません。

+0

これはVBAではありません。また、VLookupの作業は、左から右へ、そして1つの列でのみ行われました。だからあなたのVLookupは "Name"列で "100"を探して "Address"列から値を返します。しかし、私は非常に名前列に "100"があることを疑う。列の並べ替えが受け入れられる場合は、「キー」列を最初に置くと有効になります。 – DDuffy

+0

Re-Arrangingはうまくいくだろうが、私はそれを知っている。しかし、私は右から左だけを見上げる必要がある。それだけで自分の問題を解決するだろう – sujai

答えて

4

残念なことに、VLOOKUPはルックアップ列が範囲の最初の列であるとみなします。そのため、列の順序を変更できない限り、何もできません。

代替は(私は一般的には優れていると主張しています、回避策、それを呼び出すことはありません)MATCHとINDEXを使用することです

式は次のようになります -

=INDEX(PersonDetails,MATCH(100,INDEX(PersonDetails,,5),0),2) 

で逆順: -

2番目のINDEXは、範囲(キー)の5番目の列を指定します。

MATCHは、キー列の値100をルックアップし、データの最初の行で見つけます。

最初のINDEXは、範囲の最初の行と2番目の列の値を返します(範囲にヘッダーが含まれる場合は2番目の行)(abc)。

+0

@ Tom Sharpe、Brilliant !!それはうまくいった。ありがとう。 – sujai

0

最初に列をキーで追加してから、非表示にして数式と表のレイアウトを維持できます。しかし、以前の答えははるかに良いです。例:B5 formula = G5、次に列Bをあなたの範囲に含めます。

+0

理想的には、私はExcelシートの構造を変更する必要はありません。これは、私が追加または列を削除する必要はないことを意味します。あなたの時間のためのおかげです! – sujai

関連する問題