• ベストアンサー

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

yumihikiの回答

  • ベストアンサー
  • 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
質問者

お礼

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

関連する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にて参照しています。 相対にてセル参照を作成したものですが、 日を置いて確認したところ絶対に変わってしまいました。 これでは他人に使用してもらうことができず困っています。 計算式の入ったセルを保護したのですがそれと何か関係があるのでしょうか?