• ベストアンサー

エクセルのVLOOKUP関数には制約が!?

 例えば1000番から2000番までのレコードがランダムに並んでいるとします。1500番のレコードを別のシートに抽出したいのですが、何か適切な関数はあるでしょうか?  VLOOKUP関数だと、検索対象が昇順に並んでいないとうまくいきませんよね?  アドバイスお待ちしておりますm(_ _)m

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

こんにちは。 Sheet1のA1~D1000にリストがあるとして、Sheet2のA1に 1500 、B1等に =VLOOKUP(A1,Sheet1!A1:D1000,3,0) のように入れるとOKです。 最後の 0 は FALSE の意味で完全マッチです。 データがない場合に #N/A エラーが変えるのが嫌なら、ISERROR関数やISNA関数を組み合わせると良いです。 =IF(ISERROR(VLOOKUP(A1,Sheet1!A1:D1000,3,0)),"",VLOOKUP(A1,Sheet1!A1:D1000,3,0))

toki-meki
質問者

お礼

あ、なるほど!FALSEというのがあるんですね。これならいけそうです!ありがとうございました。

その他の回答 (1)

回答No.1

検索の型(4番目の引数)がFALSEなら、昇順に並んでなくてもいいんですよ。 そもそもここをFALSEにしておかないと目的の値が見つからない時に勝手に 近い値を見つけていいかげんな結果を返すので、普通は必ずFALSEにします。 省略するとTRUE扱いってのは迷惑な仕様ですね。

toki-meki
質問者

お礼

お返事ありがとうございました。 まだまだ未熟!を実感しました^^; これならいけます!ありがとうございました。

関連するQ&A