• ベストアンサー

エクセルのV-LOOKUPについて

Vlookup で絶対に該当しているのにヒットせず、 #N/Aになります。 引継ぎで渡されたファイルで、エクセルにとても強い方が作成されました。私は超初心者です。 検索値は文字です。 検索範囲のセルの表示形式も同じです。 関数の数式で違うのはセルの番号だけです。 どうすればいいでしょうか。教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • NIWAKA_0
  • ベストアンサー率28% (508/1790)
回答No.4

'F:\留学リスト\[name.xls]p' あなたのパソコンのFドライブの中の留学リストフォルダ内に name.xlsというエクセルファイルがありますか? この式だとそのファイルのpというシートの A1セルからH300セルまでを参照しようとしています。 別シートのセルを参照している式をファイル間でコピーするとこうなります。 おそらく、あなたの今持ってるファイルのpというシートの A1セルからH300セルを参照すれば良いのだと思いますので、 念のため別にバックアップをとってから、 [Ctrl]+[A]で全ゼルを選択した後、 [編集]→[置換]で [検索する文字列]に「'F:\留学リスト\[name.xls]」を、 [置換する文字列]に「'」を入力し、 [すべて置換]を行ってください。

tomimo
質問者

お礼

ありがとうございました! 解決いたしました。お礼が遅くなりすいません。

その他の回答 (5)

  • LINERS
  • ベストアンサー率21% (211/974)
回答No.6

#4さんのが手っ取り早いですね。 =VLOOKUP(J42,'F:\留学リスト\[name.xls]p'!$A$1:$H$300,5,FALSE) =VLOOKUP(セルJ42を見て,Fドライブの留学リストnameというエクセルファイルのpというシートのセルA1からH300を絶対参照し,5列目から,そこにある答えをもってこい)という式になってます。 が 多分pと言うシートは同じブック内にある(と思う)ので Fドライブの留学リストnameというエクセルファイルのpというシートのセルA1からH300の  を pというシートのセルA1からH300の にかえれば良いわけです。 つまり =VLOOKUP(J42,p!$A$1:$H$300,5,FALSE)になります。 それを全セル一気にやるには#4さんのやり方になります。 (ただpを’’で囲うかどうかが#4さんと私の違うところです。)

tomimo
質問者

お礼

ありがとうございました。解決いたしました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

#N/A表はの検索表に最左列の中に、その検索値が無い場合に限られるようです。 (1)検索値は最左列にあるか (2)表の番地が絶対番地($付き)になっているか (3)列番号(第三番目引数)が表の最左列=検索列を1として考えているか などは可能性は少ないでしょう。 (4)文字列とはいいながら、数値左詰めや半角全角、 、ペース(前スペースは勿論、後スペースも障害になる)の可能性が大きい。 例 検索値  a   (A1セル)   表    a△ (△が1スペース、C1セル) でも=VLOOKUP(A1,$C$1:$D$5,2,FALSE)が#N/Aになります。 ●一度編集-検索で検索値をコピー貼り付けでセットし 検索をして、見つかるかテストする。見つからない時は 見つかるはずの値を(関数で出した値でなければ、)数式バー部に出したりしてチェックしてみてください。

tomimo
質問者

お礼

勉強になりました。ありがとうございました。

回答No.3

検索値が文字列ということなら、検索される側の文字列の前後に空白が入っているとか、アルファベットなら全角・半角の違いとかはないでしょうか? 検索範囲の指定で、検索する列は必ず左端にないと 検索できず、#N/Aエラーになりますが、検索範囲は 適切な範囲になっているのでしょうか? どういう式があって、参照されている部分にはどういうデータが入っているという具体的なものがあるといいんですが・・・。

tomimo
質問者

補足

一つ目のファイルには留学先国、学校のリスト、2つ目のファイルは実際に行った人、学校、国名ETCのリストを作っています。(同じファイル内のシートではありません) 2つ目のファイルに学校名を打ち込んだら、一つ目のファイルから取り込まれた国名が入るはずなのです。 以下、関数式です。。。 =VLOOKUP(J42,'F:\留学リスト\[name.xls]p'!$A$1:$H$300,5,FALSE) NO、02様にもお伝えしましたが、ヒットするセルとの違いは42の数字だけなのです。 前に作成してくれたものをコピー貼り付けすると、問題ないのです。。。 説明不足ですいません。おわかりいただけるといいのですが・・・。 どうぞよろしくお願いします。

  • LINERS
  • ベストアンサー率21% (211/974)
回答No.2

一部だけじゃなく全部ダメってことですか? *文字の場合""で囲わないとだめ *VとH(lookup)が逆 とりあえずイージーミスをあげましたが、ちがいますよねぇ。 数式ミスの可能性であれば、補足で数式あげてもらえると楽ですが。

tomimo
質問者

補足

回答ありがとうございます。 数式はこうなっています。 =VLOOKUP(J42,'F:\留学リスト\[name.xls]p'!$A$1:$H$300,5,FALSE) ヒットするセルはこのJ42がJ43となっているだけです。どうしてでしょうか。 本当に初心者ですいません。

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.1

検索範囲が絶対参照になっていますか? セル番号が$A$1と$が付いていますか?

tomimo
質問者

お礼

絶対参照???調べてみます。ありがとうございました。

関連するQ&A

  • エクセルのcountif関数でカウントできません。

    エクセルもまだまだ初心者という感じの者で恐縮です。セルに表示されている文字をcountif関数でカウントできません。2重にリンクというか数式を張り付けている(vlookup関数で表示させた文字を別のシートで=を使って表示させている)せいでしょうか?でてくる値が0になってしまいます。検索条件の文字はシート上に見えていますし、範囲しても間違えていないのになぜでしょう。どなたか是非お教えください。宜しくお願いします。

  • ExcelのVlookup関数で値を返さない問題

     ExcelのVlookup関数で、文字の検索値が値を返さない理由が分かりません。  例えば、「検索値:埼玉県 範囲:A1~B5 列番号:2 検索の型:FALSE」にした場合、「#N/A」と出てしまいました。セルの書式設定で見ても、フォント名、スタイル、サイズ、表示形式は同じになっています。  しかし、範囲内の「埼玉県」をコピーして検索値のセルに貼り付けすると、正しく値を返します。あるいは、検索値の「埼玉県」をその場で書き直しても、表示します。「検索」機能を使って、「埼玉県」を探しても見つけてくれます。  範囲に指定している表は、そのパソコンで作ったものではないですが、何か関係しているのでしょうか?  よろしくお願い致します。

  • エクセルのLOOKUP関数について

    LOOKUP関数とVLOOKUP関数はどう違うのでしょうか?わかりやすく教えて下さい。(使用例など)  文字だけの表(2行)から検索したんですが、VLOOKUP関数は検索できたんですが、LOOKUP関数だと間違った検索になってしまうんです‥。

  • Excel VBA背景色について。

    A1からE1までの行にそれぞれ違う文字が入ります。 そしてF1からJ1にはA1~E1を検索値にしてvlookup関数で文字の種類番号が表示されるようになっています。そして種類は全部で9種類あり、A1からE1まではその9種類のどれかに該当すれば条件付き書式で背景色がつくようになっています。 A1~E1はそれぞれ違う文字が入りますが、5つ全て種類は同じです。 例えばA1がvlookup関数の検索にヒットして9種類の内の1番に該当するならば、B1からE1まで全て1番という事になります。C1が4番に該当したらA1からE1全て4番ということになります。 しかし、A1からE1まで全てがvlookup関数にヒットするわけではありません。 A1とD1だけが該当してB1、C1、E1は該当せず背景は白のままです。全てヒットして綺麗に前セルの背景が一色になることもありますが、大体は1つ2つしかヒットしません。どれか一つでも該当したらその5つの種類は同じです。 そこで、該当しなかったセルの背景も同じように背景色をつけたいのですがどうすれば良いでしょうか。条件書式で重ねれば良いとも思いましたが、それぞれのセルには既に9種類の色分けをするために9つのルールが入っているので、重ねればさらに膨大な条件書式の量になるので、色の値を返せるVBAでスマートに解決できないかと思い質問させて頂きました。 説明下手でわかりにくいと思いますが、VBAでどうにか良い方法はないでしょうか。 よろしくお願いしますm(_ _ )m

  • エクセル(関数)について

    vlookupの質問です。 参照範囲に検索値が含まれて無いので、セルに#N/Aが表示されます。 SUMで#N/Aを含んだ範囲の合計を出すようにしているため、合計値も#N/Aになってしまいます。 参照範囲のデータが日々変わるので、いつ検索値がヒットするかわからないため、今は手作業で検索結果#N/Aを0(ゼロ)に打ちかえています。 #N/Aを含まず合計値を出す関数(方法)、または#N/Aを0(ゼロ)に置き換える関数(方法)ってあるのでしょうか? 質問内容がわかりづらく申し訳ありませんがアドバイスお願いいたします。

  • 数式の中のエクセルの範囲

    エクセルについて教えて頂きたいのですが あるセルにvlookupの数式が入っています。 普通ならvlookup(検索値,範囲,列番号,検索の型)だと思うのですが で、範囲の部分はA1:D10とかになると思うんですが、areaとなって いてどこかに範囲が設定しているのだと思います。 それは、どうやって範囲になっている部分を探せばいいですか? どこを探しても見つからず、範囲を変えることができません。 その数式だけ変更すればいいとも考えたのですが 大量の数式にそれが使用されていて、その部分を変更しても 他のシートの数式に影響を及ぼします。 探す方法又は再設定する方法はないでしょうか すいませんが、自分ができる範囲ではわからないので 教えて下さい。 お願い致します。

  • エクセル 検索値が関数でVLOOKUPの時

    括弧付き社員番号「(12345)」からMID関数で12345を取り出したセルを使用してVLOOKUP関数で検索するとヒットしません。 ・セルが数字なのに左寄せになっている。 ・直接12345と入力すると右寄せで入りヒットする。 関数の結果は数字といえども文字列で戻ってくるようです。 セルもテーブルもどちらも半角です。 数字と英字の混在を試すと正しくヒットする。 VLOOKUPでは「関数で取り出した数字」は正しく認識してくれないのでしょうか? 基本的な質問かもしれませんが対処策を教えてください

  • ExcelのVlookup関数で一致した文字のセルの番地を取得する方法

    ExcelのVlookup関数で一致した文字のセルの番地を取得する方法 プログラム(VBA)で、検索で使用する関数でVlookup関数というのがあるというのが最近知ったのですが、Vlookup関数は、検索するセルの範囲を指定して、検索対象の文字列が一致した場合、そのセルの内容(値)を返すという風に書いてあったのですが、値ではなく、そのセルの番地を取得する方法はあるのでしょうか? ありましたら、その方法を詳しく教えてください。Vlookup関数以外でも検索するコードがあるようですが、Vlookup関数に限った場合でよろしくお願いします。 回答よろしくお願いします。

  • エクセル外部リンク参照について

    エクセル外部リンク参照についての質問です。 vlookup関数で、範囲を指定するときに、シート・ファイル名をセルに入力した文字から判別させたいので、INDIRECT関数を使用したのですが、これだと参照元のファイルを閉じるとエラーになってしまい、 また、外部リンクの更新もできません。 外部リンクの更新が可能で、シート・ファイル名はセルに入力された文字を参照し、 vlookup関数のように検索値から値を返せる方法はありますでしょうか。 ※現在入力している数式を添付させて頂きます。

  • エクセルの関数のコピー

    エクセルの関数を下のセルにコピーをすると、1つずつ関数の式がずれてくるのですが同じ範囲の関数を同じ様に入力したい場合はどうすればいいですか? 例)=VLOOKUP(F3,Sheet2!A1:E5000,2,0) という関数があったとすると 次の行には=VLOOKUP(F4,Sheet2!A1:E5000,2,0) と検索値のみが1つ変わる感じにしたいのですが・・・ コピーでは無理なのでしょうか。やはり1つ1つ数式を入れてやらないとだめでしょうか。

専門家に質問してみよう