- 締切済み
vlookup について。
基本的な質問でごめんなさい。 A B D E 鈴木 鈴木 100 川口 川口 200 大島 大島 300 相川 相川 400 佐藤 佐藤 500 DE列の表を検索して、B列に数字を表示したかったのですが、検索の結果、 鈴木 500 川口 #N/A 大島 300 相川 #N/A 佐藤 #N/A と、なるのです。もちろん表の場所を変えてみたり何度もやりなおしてみたりしても同じなのです。いったい、何がいけないのでしょうか?今まで当たり前のようにできていたのに………。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- telescope
- ベストアンサー率54% (1069/1958)
>=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)
vlookupのヘルプに 「範囲の左端の列のデータは、昇順に並べ替えておく必要があります」 と書いてありますよ
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
#N/Aエラーは検索範囲内で検索値が見つからなかったのです。たと えばD列に「川口」さんはいなくて「川口 」さんがいるとか、探し ているのが「佐藤 」さんだったなんてパターンがよくあります。
- cistronezk
- ベストアンサー率38% (120/309)
VLOOKUPにどういう引数を渡したのでしょう? それを示して間違いを指摘してもらわないと、また同じ間違いを繰り返すことになります。
補足
=VLOOKUP(A1,$D$1:$E$5,2) です。FALSEは指定しませんでした。
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えばB1セルに入力する式は次のようにすればよいでしょう。 =VLOOKUP(A1,D:E,2,FALSE) または、例えば =VLOOKUP(A1,D$1:E$100,2,FALSE) おそらくは範囲においてD1:E100などと絶対参照ではなく相対参照で使われているのではないでしょうか?、また、FALSEを記載したほうがよいでしょう。 また、同じ文字列が見られない場合に#N/Aが表示されますので文字列に空白のスペースなどが入っている場合には表示されますね。
- chiizu2
- ベストアンサー率41% (164/400)
DE列の表を D列をキーとして昇順でソートすればいいですよ
補足
D列をソートすると 相川 400 大島 300 川口 200 佐藤 500 鈴木 100 と、なって、 AB列の結果が、 鈴木 100 川口 200 大島 500 相川 500 佐藤 #N/A と、なってしまいます。 (T_T) ごめんなさい。
補足
ご回答ありがとうございます。「範囲の左端の列のデータ」とは、D列のことですか? 勉強を始めたばかりですので理解できず申し訳ございません。