- ベストアンサー
VLOOKUP関数のコピーについて
お世話になっております。VLOOKUP関数を違うセルにコピーするのですが、参照するセルが替わりません。。#N/Aエラーが出てしまいます。たとえば、=VLOOKUP(B24,M3:N21,2,FALSE)をコピーして、違うセルに貼り付けても、=VLOOKUP(B24,M3:N21,2,FALSE)。また、オートフィルでやると、参照範囲もずれてしまいます。上手にコピーする方法はないのでしょうか。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
=VLOOKUP(B24,$M$3:$N$21,2,FALSE) 検索する範囲が変わらないように$を付け 絶対参照にしてからコピーすると良いです。 ちなみにM3やN21をマウスでクリックし 「F4」を押すと簡単につけることもできます。 いかがでしょうか。
その他の回答 (4)
- mshr1962
- ベストアンサー率39% (7417/18945)
上記の式は B24と同じ値をM3:M21から検索して、初めて同じ値になった行のN列の値を表示するというものです。 表の範囲は$M$3:$N$21の様に絶対参照(コピー時に設定が変わらない)にするか、 「挿入」「名前」「定義」で$M$3:$N$21の範囲に任意の名前をつけ参照する方法があります。 #1の方の言う通り、M3:N21をカーソルで反転させた状態でF4キーで$マークを付加するか、名前を付けて参照してください。
- imogasi
- ベストアンサー率27% (4737/17069)
>オートフィルでやると、参照範囲もずれてしまいます これは私も回答で注意喚起してますが、参照表のセル範囲を表す部分 は、$M$21:$N$21のようにしなければなりません。 M3:N21と行数が3と21のように違うケースもニーズが想像できません。 >違うセルにコピーするのですが (1)編集ーコピーの方法 (2)CTRLとマウスのドラック (3)オートフィル のどれを使いましたか。 どれを用いても、相対的に変わるはずです。 >#N/Aエラーが出てしまいます B24に値が入ってないか、参照表にないか、前記の参照表を絶対番地指定にしてないので、コピーをしたとき、表とVLOOKUP式の中の指定範囲ががずれてしまって、表の中に探す値がないというエラーになってしまう。 >参照するセルが替わりません の操作を再現できるなら、説明してみてください。 ツールーオプションにも、それに影響しそうな設定もないようですし、不思議です。
- fmajin
- ベストアンサー率61% (75/122)
わかりにくい面がありますが、参照セルというのが「B24」セルで、参照範囲というのが「M3:N21」ということでしょうか。それを前提に回答しますね。 まずコピーしても違うセルに貼り付けても同じ数式というのは、コピーする方法が違うのではないでしょうか。数式の文字そのものをドラッグするなどして反転させてコピーしてから貼り付けると、数式はまったく同じ内容になります。 エクセルでのコピー作業の基本は、セルをクリックしたりドラッグするなどしてセルを選択した状態(編集状態ではない)でコピーして、別のセルを選択してから貼り付けるという方法ですね。 この手法ですと、数式の参照セル関係が調整されます。提示されている数式では、「M3:N21」の部分が調整されては困るわけですね。こうした場合は、絶対参照方式にします。入力してある数式の「M3:N21」の部分を選択した状態で[F4]キーを押せば、「$M$3:$N$21」となります。このようにセル番地の前に「$」ドルマークを付けるとそのセル参照はコピーしても位置が変わらないようにすることができます。ちなみに「$A$1」ですと列も行も調整されないようになりますが、「$A1」ですと列を変えずに行番号だけを調整するということもできます。 このような数式に変更していただければ、オートフィルで行っても正しい結果が得られるはずです。
- takkuni
- ベストアンサー率24% (166/676)
参照表に名前の定義付けをしておくとずれません。
お礼
ありがとうございました。勉強になりました。