電子書籍の厳選無料作品が豊富!

VLOOKUPの参照先が変わってしまうトラブルを解決したいです。

エクセルのVLOOKUPについての質問です。
エクセルで、VLOOK関数を使用して(IF関数と一緒に使用しています)、
A2の欄に、A1を参照してA1から値を引っ張ってくる形となっています。

そのIF+VLOOKの関数は、うまく作動しているのですが、たとえばこのA1を切り取り、べつのシートに貼り付けすると、A2は、その貼り付けた先を参照しようとします。(IF+VLOOKの関数自体、勝手に変化して、参照先が変わっています)

私はA1の値を切り取ってどこに貼り付けようと、仮にどこからA1に値を貼り付けようと、常にA1の値を参照させたいのです。

どのようにしたら上手くいくでしょうか?

A 回答 (4件)

そういう時はOFFSET を使うのがいいでしょう。


たとえば、A2からA1を参照する場合、「A1」と書くのではなく、「OFFSET(A2,0,-1)」とします。
これは「A2の同じ行(0)、一つ左(-1)のセル」という意味になり、
こうすれば、A1を切り取って移動してもこの式は変わりません。

なお、回答1/回答2の「絶対参照にする」方法では、今回の質問者さんの問題は解決しないですね。

A2がA1を参照しているときに、A2をB2にコピーしたら、
相対参照(A1)の時は、B2はB1を参照しますが、
絶対参照($A$1)の時は、B2もA1を参照したままにななる、というものです。

ですが、相対参照(A1)/絶対参照($A$1)どちらの場合でも、
例えば、A1を切り取ってA3に貼り付けたりすると、参照先は A3や$A$3 に変わってしまいます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
こんな関数があるとは知りませんでした。
やってみると、上手く行きました!ありがとうございます!

お礼日時:2010/07/22 17:51

切り取り→貼りつけの操作ではどうしてもそうなってしまうので、コピー→貼りつけを実施後コピー元を削除すれば一応ご希望通りの結果にはなると思います。

    • good
    • 0

セルの参照を固定するには絶対指定を使います。



例:VLOOKUP(A1,B1..C5,1) → VLOOKUP($A$1,$B$1..$C$5,1)

このように$を使うと、コピーをしても参照先は固定されたままです。
しかし、別のシートとなると参照先はコピー先のシートになってしまいますので、シート名を指定します。

例:VLOOKUP($A$1,$B$1..$C$5,1) → VLOOKUP(シート1!$A$1,$B$1..$C$5,1)

別シートの別のセルにコピーする場合であれば、セルごとコピーするのではなく、数式バーの中の数式を選択してコピーすれば、数式をそのままコピーすることが出来ます。

この回答への補足

回答をありがとうございます。
ただ、絶対参照にしても、やはり変わらず、貼り付け先を参照するようです。

補足日時:2010/07/22 17:36
    • good
    • 0

A1を$A$1にしてみるとか。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!