• ベストアンサー

Excel LookUP関数のタイプ設定

お世話になります。 エクセルで別シートにデータベースを作り、メインのシートで入力したらLookUp関数で名前を取得するように組んでいます。 このとき、入力するコードが数字4桁固定で、しかも0から始まるので文字列にし、データベースも文字列指定しているのに、正しい値を持ってきません。 どうやら、関数では数字で認識していたり、文字列になっていたり、正しい名称をもってきたり来なかったりと不安定です。 どのように設定したら良いのでしょうか、教えてください。

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

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

#2のものです。表として範囲指定した再左列に検索する 値が入っている必要がありますよ。エクセルシステムとの 約束です。取ってくる値列は、その間にこの検索では 使わない列がいくらあろうともかまわないですが。 #4の(3)と関連します。検索する列を1として 取ってくる値の入っている列を何番目の列かカウントして 指定すると言うことです。1列目は検索値が入っているれつなので、取ってくる列にはならないと言うことです。

その他の回答 (4)

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

#2のものです。エラーが出るとのこと。思いつく原因が 直ぐでませんが (1)表のソートはFalseで拾う時は不要のようです。   表の見やすさという点から、ソートするでしょうが。 (2)表の範囲を絶対番地で指定して、式をコピーしているか念のためチェックしてください。 (3)列数を間違えていませんか。再左列が1から始まります。1は理屈からあり得ず、2以後になります。 (4)表の範囲指定を見なおしてください。 (5)ついでに、検索値の列も (6)FALSEになっていること。

cat_tomato
質問者

補足

回答ありがとうございます。 1.False設定してあるので、ソートはいいのですね。 2.データベース範囲は絶対番地で直接指定しました。 3.ちょっと意味がわかりません。 データベースにタイトルがあるので、2行目からになります。 キー項目は一番左にあるとは限りません。 何度も申し訳ありません。

  • omusupa
  • ベストアンサー率61% (115/186)
回答No.3

確認します。 1.VLOOKUP関数に変更した。 2.VLOOKUP関数に変更し,検索の型も0またはFALSEをいれた。 3.ちゃんと出てくるところもあるが、出てこないところもある。 こんな感じでいいですか? 3.のように、ちゃんと出てくるところもあるが、出てこないところもある。 ということであれば、ちゃんと出てこないことろの、検索値を入力しなおすか、 データベースの方から、コピーして貼り付けてください。

cat_tomato
質問者

補足

回答ありがとうございます。 VLookUp関数に変更し、検索の型は0にしました。 で、ちゃんとした値は出ませんでした。 データ範囲はデータベースから選択しています。

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

(1)LoolUp関数となっていますが(#1ではこれのご解答のようですが)、一般にはVLookup,HLookUp関数を使う例が 多いので、また氏名番号から名前を引くなら、VLookUp関数 で良いと思うので、VLookUp関数で話しをします。 (2)テストデータをA1:B3で 0001 山田 0023 大川 0231 近藤 0001は「'0001」、「'0002」と入れと入れ、文字列にします。 (3)D1に=VLOOKUP(C1,$A$1:$B$3,2,False)と入れ下に複写します。C1以下にはやはり「'0001」,「'0002」・・と入れと入れます。 1とか2と入れると正しく表引きをしません。 これで不安定はなくなりますが、これが実行できますか (他人にやらせるケースもあるでしょうがそれも含めて) 。 また未入力のセルに#N/Aと出ますが、これを防ぐ部分は 省略しました。 C列の表示形式を文字列にするだけでは、1と入力して ’0001の用を成しません。 (4)オペマニかシートの一部かエクセルの吹き出しコメントで、氏名番号の0001は1と入れることを知らせ、表の方も数字1,2、・・で作成してはどうでしょうか。 あくまで0001の入力や表作成に拘りますか。

cat_tomato
質問者

お礼

回答ありがとうございます。 おっしゃるとおりに「'0001」で、セルの書式設定は標準に戻したのですが、今度は#VALUEになってしまいます。 ソートはちゃんとしているのですが…。 何か気づくところはありますでしょうか?

  • omusupa
  • ベストアンサー率61% (115/186)
回答No.1

まず思い当たること。 lookup関数はVlookupやHlookupと違って、「検索の型」という引数がありません。つまり、文字列を検索値としている場合は、必ず「検査範囲」のデータを「昇順(小さい順)」に並べておかなければなりません。 それが無理であれば、VlookupやHlookupを使って、検索の型のところに、「FALSE」または「0(ゼロ)」と入れるといいと思います。

cat_tomato
質問者

お礼

さっそくの回答、ありがとうございます。 データのソートはしてあります。 で、VlookUp関数にしたのですが、やはり型が合いません。

関連するQ&A

専門家に質問してみよう