VLOOKUPがうまくいかない

最終更新 2010/6/14
行列関数 VLOOKUP を記述。明らかに一致する値があるのに #N/A になる場合の対応

=VLOOKUP(検索値,範囲,列番号,FALSE/TRUE) 
*列番号とは照合列が範囲の何列目にあるか
*FALSE : 検索値との完全一致の値を求める。一致する値がないときは #N/A
*TRUE : 検索値と一致する値がないとき、検索値より小さい値の最大値を求める


【1】セル属性が合っていない。
「検索値」と「範囲の見出し列」に注目する
片方が文字列、片方が数値のように セル属性が異なっていると値を引き当てない

ツール>オプション
[移行]タブをクリック
Lotus1-2-3形式のキー操作にチェックを入れる

' が入っていたら INT関数を使い、 ' を外す
エクセルでコーテーションを外す


【2】文字コードが合っていない。
「検索値」と「範囲の見出し列」に注目する
セル属性が同じでも、文字コードが異なっていると値を引き当てない
「検索値」をコピーして「範囲の見出し列」に貼り付けるとエラーが消えることでわかる
漢字氏名が引き当てられない時は、このケースが疑わしい

一つ一つ「検索値」から「範囲の見出し列」へコピー&ペーストするしかない


【3】「範囲の見出し列」が 昇順にソートされていない。

範囲全体を選択、照合列を昇順でソートする

2005年から毎日1話ブログ「しらべるが行く」

世界の平和実現 Copyrightしらべる 今日の更新 初出2010年6月