web-dev-qa-db-ja.com

すべての行で同じ値を返すExcel VLOOKUP

Vlookup関数が壊れているようです。すべてのルックアップで同じ値を返しますが、そうではありません。

私はそれを次のように設定しています:

=VLOOKUP(A3, Asset_Mapping!A$2:B$673, 1)

検索値がB列にあり、結果がA列にある場合。

$を使用するので、数式を行に貼り付けたときに行がA3:B674などに自動更新されません。ただし、その式を次の行に手動で入力しても、正しい値が見つかりません。

「$」を削除すると、変更された範囲内の値(Asset_Mapping!A3:B674など)の最初の行で正しい値が見つかりますが、範囲が無効であるため、最終的には期待どおりに値の検索が停止します。

ここで間違って何をしていますか?数式を自動計算に設定しています。

3
Alexx

実際のデータでテストしないと、これが機能することを確認するのは困難ですが、falseパラメータを追加します。これにより、最初の部分一致ではなく、完全一致が検索されます。

=VLOOKUP(A3, Asset_Mapping!A$2:B$673, 1, false)

ポイントをまとめて式を明確にする

パラメーター1:探している値

パラメータ2:データを含むテーブル。最初の列は、探している値です。

パラメータ3:表示する値の列番号。

パラメータ4:完全一致または部分一致が必要な場合。

@Jeepedは、より信頼性の高い結果を得るためにデータを注文することにしました。いいアドバイス。

4
Rob White

また、ルックアップ値は最初の列になければなりません。

1

アンドレスは正しい考えを持っていますが、問題を修正するより速い方法があります。

範囲全体で何度も同じ値が返される場合は、計算オプションが「手動」に設定されている可能性があります。

上部のリボンの数式に移動し、計算オプションを選択します。そこで、計算方法を「自動」に変更できます。

このトピックにソリューションを追加する場合に備えて。大きなテーブルでVlookupとIndex + Matchが他のすべてのセルの最初の結果の値だけを表示する傾向がある理由がわかりません。

これを修正するために、数式を範囲全体にコピーした後、数式を含むセルを選択し、F2キーを押してからEnterキーを押します。それは一種のExcelがすべてを処理することを強制します。

0
Andrés Roldán

検索値がB列にあり、結果がA列にある場合。

VLOOKUPは常に左端の列を検索し、指定された列番号から値を返します。ルックアップ/戻り順序を逆にしたい場合は、INDEX(...、MATCH(...))を使用します

=INDEX(Asset_Mapping!A$2:A$673, MATCH(A3, Asset_Mapping!B$2:B$673, 0))

ソートされたバイナリルックアップを使用していたことに注意してください。これを、ソートされたデータを必要としない完全一致ルックアップに変更しました。

0
user4039065