• ベストアンサー

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/17068)
回答No.5

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

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • 相対参照と絶対参照の使い分け

    とあるセルに数式を入れて率を求めるときに、相対参照を使って求めた後、 オートフィルを使って表を完成させるとき、他のセルに『#DIV/0 !』が出てきます。 ならば最初から絶対参照を使った方がトラブルなくすすめられるんじゃないかと 思うのですが、では相対参照は何のためにあるのでしょう・・・? また、これは相対参照でいけるとかこれは絶対参照じゃないと表が完成されない などの見分けがつきません。どうしたらいいのでしょうか。 よろしくお願いします。

  • 複数のエクセル相対参照を絶対参照に一発変換したい。

    一つの相対参照を例えば横方向にいくつか複写して、 複写された各セルの相対参照を、絶対参照化する時 各セルにポイントをおいて「F4」プッシュで処理 しています。これを範囲指定して一度に変換する方法があれば大変助かるのですが。 良い方法があったら教えて下さい。

  • エクセル 相対参照を含む数式なのに、貼り付けると絶対参照の扱いになる

    エクセルで、数式内のセル番号に$を付けていない(つまり相対参照である)のに、貼り付けると絶対参照同様の扱いをされます。 例えば… O33に「SUM(O3:O32)」が入っている状態でI列~O列をコピーし、 Q列を選択して貼り付けると、W33は「SUM(W3:W32)」となると思うのですが、 なぜかW33は「SUM(O3:O32)」となります。 (絶対参照の扱い) ところがO列のみをコピーし、W列を選択して貼り付けると、 W33は「SUM(W3:W32)」となりました。 (相対参照の扱い) 調べてみたのですが、M2とN2のセルを結合していまして、 どうもその結合したセルM2・N2を含む列をコピーして貼り付けると そのような症状になるため、セルの結合が影響しているようなのですが、それが原因と考えて正しいでしょうか? 宜しくお願いします。

  • エクセル外部リンク参照について

    エクセル外部リンク参照についての質問です。 vlookup関数で、範囲を指定するときに、シート・ファイル名をセルに入力した文字から判別させたいので、INDIRECT関数を使用したのですが、これだと参照元のファイルを閉じるとエラーになってしまい、 また、外部リンクの更新もできません。 外部リンクの更新が可能で、シート・ファイル名はセルに入力された文字を参照し、 vlookup関数のように検索値から値を返せる方法はありますでしょうか。 ※現在入力している数式を添付させて頂きます。

  • Excel関数 シート内の全ての相対参照の計算式をいっぺんに絶対参照に変えたい!

    こんにちは。Excel関数についてお聞き致します。どうか教えてください。 仕事でたくさんのデータを扱っているのですが、 月ごとの売上げデータの累計表や集計結果などを利用して報告書を作成しています。 各月の売上げシートを元に作成した累計表や統合表を作った後で、数式を相対参照にしてしまったことに気づきました。 累計表のある一つのセルに「=SUM(1月売上げ!A1,2月売上げ!C1)」という計算式があるとします。そのセルの他にも参照しているセル番号は異なっているが同じ計算式が入力されています。 私は、上記の計算式を「=SUM(1月売上げ!$A$1,2月売上げ!$C$1)」という絶対参照に変えたいのです。他のセルにも同様に絶対参照記号をつけたいのです。 ところが、検索置換しようとしてもできないし、 ある一つのセルを絶対参照に変えてそれを他の全ての計算式にもオートフィルで反映させようと思っても、できません。絶対参照のマークが就いていない相対参照のときは、オートフィルで他のセルにも反映できるのですが、絶対参照の計算式を他のセルにも反映させようとしてオートフィルを使うと、全てが全く同じ計算式になってしまいます。 絶対参照なので、当たり前なのかもしれませんが、、 少々言っている意味が分かりにくいかもしれませんが、、 相対参照を絶対参照に変える作業は、一つ一つ手入力および一つ一つセルをクリックして絶対参照にしたい数式の部分にカーソルをもっていきF4を押す事でしか、絶対参照にできないのでしょうか(一つ一つ手作業でしか絶対参照に変えられないのでしょうか?)? 書店でExcelの関数やVBAの本にいくつかざっと目を通したのですが、いっぺんに絶対参照に変える方法はありませんでした。

  • エクセル 相対参照ができない

     エクセルで表を作成し、一番右端の列にSUM関数を入力して左側の列の合計を表示させる場合、その左側の列に一列挿入すると普通、相対参照が働いて自動的にその合計の範囲が変更されますよね。どういうわけか左側の列と合計を表示するSUM関数を入力した列の間に列を挿入すると以前に範囲指定した列までの合計のままで、新たに挿入した列まで範囲に入れてくれないのです。どうしてこういうことが起こるのでしょう?

  • 相対参照→絶対参照

    複数のセルを、一気に相対参照から絶対参照にする方法はありますか?

  • Excel VBA Cells 絶対参照 書き方

    Excel VBAにてお尋ねいたします。 Excel VBAにてCellsを使用してセル範囲を指定させていただく際に、絶対参照($A$1:$E$10など)を使用する場合はどのように記述すればよろしいでしょうか? Cellsを使用するのは、セル範囲が毎回異なるため、範囲指定に変数を使用しているためです。 相対参照でしたら、Range(Cells(1,1),Cells(Rows<行番号の変数>,Cols<列番号の変数>))といった記述かと思いますが、絶対参照の場合はどのように記述すればよろしいでしょうか?

  • Excel 相対パス

    Excelでvlookup関数を使っていますが 参照範囲が別ファイルです。 参照先が絶対パスになってしまいますが これでは他人にこのファイルを提供した場合つかえません。 そこで相対パスにしたいのですができません。 どうしたら良いのでしょうか? =VLOOKUP(C2,'C:\Documents and Settings\user1\管理\[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE) これを =VLOOKUP(C2,'./[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE) にしたい。

  • EXCEL シート間 相対セル参照のハズが、絶対に変わってしまう

    シートAのあるエリアのセルを シートBにて参照しています。 相対にてセル参照を作成したものですが、 日を置いて確認したところ絶対に変わってしまいました。 これでは他人に使用してもらうことができず困っています。 計算式の入ったセルを保護したのですがそれと何か関係があるのでしょうか?

このQ&Aのポイント
  • 所得税はバイトの給料から引かれるの?知らないことを解説します。
  • 知人の飲食店でバイトをしているけど、所得税は引かれないの?詳しく教えてください。
  • 旦那の扶養に入っているけど、バイトの給料から所得税が引かれるの?疑問解消します。
回答を見る

専門家に質問してみよう