• 締切済み

エクセル VLOOKUP関数について

エクセル2003を使用しています。 シート1に会員名簿を作り、シート2に計算する表を作りました。 シート2に会員番号を入れると、違う人の名前が出てきます。 シート1 3001 山田 3002 佐藤  : 3100 伊藤 シート2 会員番号 3001  伊藤← 一番最後の人の名前が出てくる 3002  エラー    さらに、シート2の数式をコピーすると#N~エラーがでます。 他の仕事で、似たようなものを作ったときはうまくいったのですが、 会員名簿が載っているシート1に問題があるのでしょうか??

みんなの回答

  • yossy-55
  • ベストアンサー率55% (5/9)
回答No.4

=VLOOKUP(検索値, 範囲, 列番号, FALSE) のTRUE、FALSEは間違っていませんか? あと、絶対参照はF4を押して$を付けるとコピーした時に 参照先が固定されます。 試してみてください

yamamushi
質問者

お礼

どうやらその通りらしいです。 あっさりと解決できたので感激です!

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

VLOOKUP関数で検索するデータ範囲を、きちんと絶対アドレスにしていますか? =VLOOKUP(A1,Sheet1!$A$1:$B$100,2,0) 式の$A$1:$B$100の部分です。 $をつけて絶対アドレスにしないとセルをコピーすると検索範囲も変わってしまいます。

yamamushi
質問者

お礼

$マークは基本ですね。 なにしろまだ初心者ゆえ・・質問が単純ですみません。 でも、とても勉強になりました。ありがとうございます。

回答No.2

vlookup関数は以下の式となります。 =vlookup(keyセル、基準表、取り出したいデータのある行数、false) 基準表が絶対番地になっていないとコピーした場合基準表の対象範囲がずれていきます。また最後にFALSEを入れないと最後に該当がないKEYセルに対して最後に検索した答えがリピートされます。 上記2点を確認の上今一度作業されてみては如何でしょうか。

yamamushi
質問者

お礼

そもそも、もとのシート1を 会員番号順だったものを 名前を使って並び替えたのも原因だった模様です。・・・反省

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

シート2にどんな数式を書いたのか、会員名簿の配置はどうなっているのかを書かなかったら、誰にもわかりませんね。 おそらく数式の間違いだとは思いますが。 =VLOOKUP(検索値, 範囲, 列番号, FALSE) なお、式をコピーするのなら範囲は絶対参照にしないとおかしくなりますよ。

yamamushi
質問者

お礼

みなさんの早い回答で 午後の仕事がスムーズになりそうです。 もっと早くに質問すればよかった・・・ 本当にありがとうございました!!

関連するQ&A