• ベストアンサー

EXCELでセル右下を引っ張るコピー時の数式変化(VLOOKUP関数使用時)について

EXCELでコピーをする際、セルの右下をつまんで下に引っ張る方法があると思うのですが、その際、元のセル内の数式(書式)が自動反映されるかと思います。   A B C 1 1 2 =A1*B1 2 2 3 3 5 6 上記で、セルC1の右下をつまんで下に引っ張ると、 セルC2には[=A2*B2] セルC3には[=A3*B3] となると思うのですが、 今回困っているのは、VLOOKUP関数使用時に、数式の中で変わって欲しい部分と固定したい部分が混在する場合です。 使用している関数(数式)は、 =VLOOKUP(P3,P42:Q90,2,FALSE) です。 P42:Q90の中に商品マスタがあり、商品名をP3に入れれば、自動的に単価が出るようにしたいと思っています(P列に商品名、Q列に単価が入っています)。 この関数が入ったセルの右下をつまんで下に引っ張ると、 =VLOOKUP(P4,P43:Q91,2,FALSE) という風になってしまい、参照する商品マスタが1行下にずれてしまいます。 P3⇒P4は構わない(そうなって欲しい) 2⇒2も構わない(そうなって欲しい) のですが、 P42:Q90⇒P43:Q91となってしまうので困っています。 現状は、セル右下を引っ張ってコピーした後、P42:Q90という数式に1つずつ変えています・・・ ●数式の変化パターンを任意で設定する方法 又は ●本件のような商品マスタからデータを引っ張る時の他の方法 どなたかご教授下さい。 また別件になるのですが、 上述のVLOOKUP関数[=VLOOKUP(P3,P42:Q90,2,FALSE)]を使用した場合、 P3に商品名(値が)入っていない間は、結果を表示するセルは[#N/A]と なっていますが、オートSUMでの計算(表示)が出来ません。 結果を表示するセルがQ列の場合、Q列の合計を表示させたいのですが、そのような方法はありますでしょうか? こちらも出来れば教えて下さい。 よろしくお願い致します。

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

  • ベストアンサー
  • romuromu
  • ベストアンサー率38% (215/558)
回答No.3
stay_dream_
質問者

お礼

相対参照と絶対参照 難しいですね^^; ですが今回の疑問は解決できました。 別件へのご回答は、私の説明が下手でうまくお伝えすることが出来ませんでした。 もう少しうまい説明を考えてまた質問させてもらいます。 沢山の参考サイトのご紹介までして頂きありがとうございました。

その他の回答 (3)

回答No.4

商品マスタを移動(例えばR列に商品名、S列に単価)して Q3に  IF(P3<>"",VLOOKUP(P3,$R:$S,2,FALSE),"") Q4以降にコピーしたら出来るはず(^_-)

stay_dream_
質問者

お礼

ご回答ありがとうございました。 助かりました。

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

セルアドレスに$をつけることで絶対アドレス(移動やオートフィルでも変わらないアドレス)にできます。 $A$1 → 行、列ともに固定 $A1 → 列のみ固定 A$1 → 行のみ固定 =VLOOKUP(P3,$P$42:$Q$90,2,FALSE) とすれば検索する表範囲は固定になります。P3は$P3としても構いません

stay_dream_
質問者

お礼

絶対アドレスというものがあるんですね。 先に教えて頂いた方の内容で解決しましたが、[$]の意味が分かり勉強になりました。 ありがとうございました。

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

1番目 =VLOOKUP(P3,$P$42:$Q$90,2,FALSE)  でOKです。 2番目 質問の意味がよくわかりませんが、N/Aを出したくないということでしたら、 =IF(ISNA(VLOOKUP(P3,$P$42:$Q$90,2,FALSE)),"",VLOOKUP(P3,$P$42:$Q$90,2,FALSE)) としてみてください。

stay_dream_
質問者

お礼

早速のご回答ありがとうございます。 大変助かりました。

stay_dream_
質問者

補足

2番目の質問へのご回答は、私の説明が下手でうまくお伝えすることが出来ませんでした。 もう少しうまい説明を考えてまた質問させてもらいます。