• 締切済み

vlookup について。

基本的な質問でごめんなさい。 A      B           D     E 鈴木               鈴木    100 川口               川口     200 大島               大島     300 相川               相川     400 佐藤               佐藤     500 DE列の表を検索して、B列に数字を表示したかったのですが、検索の結果、 鈴木         500   川口          #N/A 大島          300 相川          #N/A 佐藤          #N/A と、なるのです。もちろん表の場所を変えてみたり何度もやりなおしてみたりしても同じなのです。いったい、何がいけないのでしょうか?今まで当たり前のようにできていたのに………。

みんなの回答

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.6

>=VLOOKUP(A1,$D$1:$E$5,2) です。FALSEは指定しませんでした。 完全一致の値を求めるときは、FALSEを指定します。 省略するとTRUEを指定したのと同じになります。 質問の例では、TRUEでもD列を基準に昇順に並べ替えてあれば同じ値が得られますが、完全一致の値を求めるときは、FALSEを指定します。 検査の型にTRUEを指定した場合、検査値が見つからないときは、検査値未満で最も大きい値を返します。 質問の例で、範囲にない「川島」を検査値にした場合でも値を拾ってきてしまいます。範囲の並べ替えのオプションで「ふり仮名を使う」「ふり仮名を使わない」でも拾ってくる値が変わります。 検査の型にFALSEを指定すれば、検査値が見つからないときは、エラー値 #N/A を返してくれます。 検査の型にTRUEを指定すると良いのは、次のような場合です。 0 E 30 D 50 C 70 B 90 A 50点以上70点未満はCをつけたいとき、検査値が68点ならCを返します。

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.5

vlookupのヘルプに 「範囲の左端の列のデータは、昇順に並べ替えておく必要があります」 と書いてありますよ

ranevo10
質問者

補足

ご回答ありがとうございます。「範囲の左端の列のデータ」とは、D列のことですか? 勉強を始めたばかりですので理解できず申し訳ございません。

回答No.4

#N/Aエラーは検索範囲内で検索値が見つからなかったのです。たと えばD列に「川口」さんはいなくて「川口 」さんがいるとか、探し ているのが「佐藤 」さんだったなんてパターンがよくあります。

回答No.3

VLOOKUPにどういう引数を渡したのでしょう? それを示して間違いを指摘してもらわないと、また同じ間違いを繰り返すことになります。

ranevo10
質問者

補足

=VLOOKUP(A1,$D$1:$E$5,2) です。FALSEは指定しませんでした。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばB1セルに入力する式は次のようにすればよいでしょう。 =VLOOKUP(A1,D:E,2,FALSE) または、例えば =VLOOKUP(A1,D$1:E$100,2,FALSE) おそらくは範囲においてD1:E100などと絶対参照ではなく相対参照で使われているのではないでしょうか?、また、FALSEを記載したほうがよいでしょう。 また、同じ文字列が見られない場合に#N/Aが表示されますので文字列に空白のスペースなどが入っている場合には表示されますね。

  • chiizu2
  • ベストアンサー率41% (164/400)
回答No.1

DE列の表を D列をキーとして昇順でソートすればいいですよ

ranevo10
質問者

補足

D列をソートすると 相川     400 大島     300 川口     200 佐藤     500 鈴木     100 と、なって、 AB列の結果が、 鈴木     100 川口     200 大島     500 相川     500 佐藤     #N/A と、なってしまいます。   (T_T)    ごめんなさい。

関連するQ&A