• ベストアンサー

Excel 絶対参照と相対参照の違い。

VLOOKUP関数を用いて数式を列に作ります。 範囲が違うシートのセルを指定します。 その場合、テキストでいくと相対参照にしなくてはならないのですがなぜでしょう? 相対参照と絶対参照の違いがExcelのヘルプで見ても理解できません。 わかる方、教えてください。

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

  • ベストアンサー
  • yumihiki
  • ベストアンサー率50% (7/14)
回答No.6

terta さん、こんばんは。    ご質問の補足****************    「$A$1とA$1の違いを教えてください。     (絶対参照列と絶対参照行・相対参照列と絶対参照行) について、そこだけをコメントしましょうね。 実は、単純な約束事なんです。   ・$A$1 は、行Aも列1も「絶対」指定ですね。   ・A$1 は、列1 だけが「絶対」指定になっています。   -----以下、説明--------- ・$(ドル)マークは、「これが付いていると、他のセルに  コピーした時に<変化しません>」を意味します。  これって、まさに「絶対」なんです。  逆に、$が付いてなければ、コピーで移動した分だけ  自動的に「変化する」約束になっているのです。  EXCELが、移動した分だけ「相対的に」変えてくれるのです。        ※もしこの自動変化が無ければ、ずれる値を全部     自分が手で入れ直さないといけなくなる。      そしたら、とっても疲れる、、、。     だから、相対参照は、とても便利な機能なんです。 ・あなたの書いた例だと、最初の$A$1 は、行「A」も  列「1」 も、縦(行)、横(列)いずれの方向へ移動して  コピーしても変化しません。 行も列も変わらない。  「行A」も「列1」も絶対参照だからです。  いつも絶対的な場所(セルのアドレス)を指しています。  左右、上下、どの方向のセルへコピーしても、まったく変化   しません。 いつでも「$A$1」を指したままです。 ・ところが、次の例「A$1」の場合は、列番号1 だけには  $マークが付いているので、上と同様に列方向へ移動コピー  しても「列は1のまま変わらない」のですが、、、しかし、、  行「A」は$マークが付いていないので、こちらは「行」が   移動した場合は、そのセルの分だけ行が自動変化します。    (行が変わらない移動ならば、もちろん無変化で、     $マークが有っても無くても同じことになる、、、、。     ここでの議論は、行や列が「移動したとき」の話、です)  だから、例えば行が3個下へ移動すればAから「D」に、  5個なら「F」に変化します。  つまり、「参照元のセルとの位置関係」から計算しなおして  いるんです。だから、お互いの関係が「相対的」なんですネ。   「そこから見て、右に3個目」とか、「上に2個目」と覚えて  あとは自動計算でずらしてくれるんです。これが相対参照。。。 ※複合参照なんて、ほとんど意味がない名前です  これは単なる名前の付け方に過ぎない。つまり、行と列の  どちらか一方が絶対参照、他方が相対参照になっている、、、、。  この「混ざった」状態に「カッコ良い名前」を付けたに  過ぎません。(くだらん、、、) 以上ですが、ご理解いただけたでしょうか?      

terta
質問者

お礼

みなさん、ご回答ありがとうございました。 説明文がとてもわかりやすかったです。 補足までお答えいただき、ありがとうございました。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

補足について。 VLOOKUPは「Vertical」(列方向)に複写することを前提にしており、その際は$A$1 もA$1も結果だけなら同じです。 と言うのは、列方向に複写する時はAの列を表す記号は動かさないからです。 しかし第1引数に$A$1やA$1を使うケースは想像できません。テーブル・表の方は両方とも$をつけるべきです。どのセルから参照しても、表はずれては困るからです。第1引数なら$A1でもA1同じですが、普通はA1 で良いと思いますが変化させないことを意識して、$A1 でも良いでしょう。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

Vlookup関数には4つ引数があります。 (1)第1は検査値で、複写したとき、行に合わせて、1行ずつずらしてくれないと、使い物になりません。 (質問のように、列方向に+ハンドルで複写するものとします。) 第1行目はA1、第2行目はA2、・・のように。 相対参照表現にしておくと($無しなら)そのように 行部分だけ、+1を増やしてくれる仕組みを利用できます。(+1でないケースも出来ますが略)それで$は つけません。 (2)第2引数は範囲、いわゆるテーブル=表のある範囲を指定します。これは複写した時、全行で変ってくれては困ります。それで$をつけないと、相対参照になってコピー時に変化してしまい、困るので、$をつけて絶対参照表現にします。これは忘れやすい。私もやるミスです。 (3)第3引数は列の順番番号なので、セル番地の表現と関係がありません。第4引数もTRUE、FALSEのどちらかですから同じです。

  • timber
  • ベストアンサー率29% (218/739)
回答No.3

絶対参照とは参照先のセルを絶対位置で指定します。 相対参照とは参照先のセルを相対位置で指定します。 つまりある場所の位置を何丁目の何番地のように住所で指定するのが絶対参照で、 2つ目の角を右に曲がって3軒目のように現在位置との関係で指定するのが相対参照です。 絶対参照はコピーしても参照先のセルは常に同じなのに対し、 相対参照はコピーすると現在位置が変わるので参照先のセルも変わります。

terta
質問者

補足

みなさん、お答えくださりありがとうございます。 もう一度補足させていただきます。 $A$1とA$1の違いを教えてください。 (絶対参照列と絶対参照行・相対参照列と絶対参照行)

  • densha
  • ベストアンサー率29% (333/1123)
回答No.2

 テキストの内容が判らないので答え難いですね。 取り敢えず「相対参照」と「絶対参照」の違いを・・・ [相対参照] 【例1】 A1の隣がB1です。B1に「=A1」とすると、 B1はA1を表示しますが、コレはA1を参照と言うより、 左隣のセルを参照と言う事になります。 【例2】B2に「=A1」とすると、1つ上行の1つ左の列の セルの意味です。このB2の式をB3にコピーすると、 B3は「=A2」となって、1つ上行の1つ左の列のセル、 すなわちA2を意味します。 【例1】【例2】の様に、いくつ上(或いは下)の なんマス左(或いは右)と言う位置関係での参照です。 スゴロクで言えば、4が出て4マス進む様な感じです。 行の挿入などをやっても参照する位置関係は崩れません。 他のシートに1列ずらしてコピーしても同様の位置関係です。 [絶対参照] 列だけ或いは行だけの絶対参照もありますが、 今回はセルと言う事で・・・ B1に「=$A$1」としコレを「B2」「B3」と コピーしていっても常にA1を参照します。 どの位置のセルからでも、A1を参照と言う事です。 スゴロクで言うと、「振り出しに戻る」といった、 絶対的な場所を指します。 輸入価格表などを作る際に、レートの変動に応じて 全ての数字を書き換えるのが面倒な時に、 この絶対参照を使うと1セルの書き換えだけで済むので 便利です。  イメージがつかみにくいかもしれませんが、 セルをマス目に見立てると、 相対参照は、距離が変わらない 絶対参照は、遠くても近くても固定された1点 ということです。  実際にエクセルで数値や数式を入れて色々試みてください。

noname#148473
noname#148473
回答No.1

>範囲が違うシートのセルを指定します。 >その場合、テキストでいくと相対参照にしなくてはならないのですがなぜでしょう? ここの意味がよく分からないので、もう少し詳しく説明していただけるとありがたいです。 相対参照と絶対参照の違いは、たとえばセルB1に =A1 と入力されているとします。このセルをセルB2にコピーすると、セルB2の式は =A2 に変わっています。これが相対参照です。 これに対して、セルB1に =$A$1 と入力されていた場合、このセルをセルB2にコピーすると、セルB2の式は =$A$1 のままで変化しません。これが絶対参照です。 絶対参照を作るには、参照したいセルをクリックした直後に[F4]キーを押すか、もしくは手作業で[$]マークを挿入すればOKです。

関連するQ&A