• 締切済み

相対参照と絶対参照について

PCインストラクター暦3日目です。今度30人くらいのPC初心者の生徒様ににエクセル2003の相対参照と絶対参照の違いをわかりやすく教えたいのですが、なかなかアイディアが思い浮かびません。なにか、例え話でもいいので初心者にも「あ~なるほど」と思わせるような良い案はないでしょうか? ※授業内容としては、こういう流れでいきたいのですが・・・ 1、そもそもなぜ相対参照と絶対参照を使う必要があるのか?(その意味も教えたいです) 2、では、どういうときに使ったらいいのか? 3、相対参照、絶対参照を知っておくと、こういうメリットがあるんだよと伝えたいです 4、最後にまとめとして、結論を言いたい。  (プロジェクター、ホワイトボードはありますので、なにか大事なところを記入する必要があれば教えてください) 以上を踏まえてなにか皆様方のアイディアがあれば、教えていただきたいです。まだ駆け出し生徒様にわかりやすく教えたいのですが、うまく伝えられるかどうか、自信がなくて・・・お願いします

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

2、では、どういうときに使ったらいいのか? ですが 私も以前にエクセルの勉強会の時に悩ました。 会社ですので、最も身近な事例を取り上げましたが  消費税込 の金額でした。 改善前  品名 税別価格 税込価格  A商品 1000 ・・・ 税込金額に =B2*1.05 と式が入っているのを  消費税率 5%  品名 税別価格 税込価格  A商品 1000 ・・・ として 式を =B4*(1+B$1) に変更することで、今後の消費税率の変更にすぐに対応できるようなります。 というアイディアでメリットを実感してもらいました。 エクセルは普通に式を入れるとすべてが相対参照になるので 絶対参照が必要な事例を上げて、こんな場合は こんなテクニックが必要ですよ といった感じが興味を持ってもらえると思います。 駆け出しの生徒様には、「全体の中でこの機能の意味」を という説明は理解が難しいですね。

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

(1)エクセルの関数の式は、結果がほしい全セルに入れないとならない。普通は多数のセル(行・列)になるので、やってられない。 それを1つ1つのセルに人手で入れていては大変。引数のセル番地指定で、変わる部分ある事がほとんどである。 (参考 VBAというプログラムではこういう考慮とは別の考慮になる。プログラムの中で処理データを変えて処理するので シートには式は現れず、結果だけをシートにセットする。) (2)エクセルの関数の便利さは、「式の複写」が出来て、行と列について、規則的な変化をしてくれる。 下方向の式の複写では、直下行では行が+1、右方向の式の複写では右隣列では列が+1(A-->Bのように)してくれる。 これでほとんどの場合OKの場合が多い。 この「式の複写」という仕組みをよく説明して、その後に絶対参照などを説明すべきだ。 (3)しかしこれ(番地の自動・機械的変化)ではダメ(都合が悪い)なケースがある。 (A)平均を出す場合の合計値や割合を出す場合の合計値は、式を入れるセルのあり場所によっては、変わらない場合がある。 その場合に、合計の在る番地の行や列の、式の複写による変化を止めるのが$を付けることである。 (B)いつも表の見出しである第1行目などを見たいときがある。その場合も式の複写で第2行目以下にヅレないように第1行目で固定する。 (C)混合参照などは、経験を積んでいく過程で、問題に対面して考える過程で学ぶほか無いとおもう。 式の番地がどう変化してほしいかをとらえる能力獲得が先である。

回答No.2

こんにちは 1)について  相対参照と絶対参照の意味の説明  相対参照とは、参照したセルの位置を、現在のセルの位置(数式を入力したセルの位置ですね)  から何行何列、どの方向に離れているか、という方式で参照します。   絶対参照とは、参照したセルそのものの位置を参照します。  という説明から入って、A1を参照する式を作って、コピー&ペーストした場合を例に  とると判りやすいと思います。   添付画像を参照してください。  【添付画像の場合の説明方法】  A1を参照するとします。   この時点では、A1の参照は相対参照(C5)と絶対参照(C11)、どちらも同じ結果  を返しますが、コピー&ペーストをした時に大きな違いが生じます。  相対参照では、1行上、または1列左にコピーをした場合に=#REF!というエラーが発生  します。 理由は、現在の位置からの情報をそのままコピーするため、4行上、または  2列左は、存在しないセル位置になっているからです。  絶対参照では、A1の位置そのものを参照しているため、どこにコピーをしてもA1の  情報が参照されます。    相対、絶対という言葉にはこのような違いがあります。    では、なぜ、このような参照方法の違いがあるのかというと・・・  --------------------------------------------------------------------  前述のような説明の後、  エクセルで表作成をする場合に、ひとつの数式を入力後、実際にコピー&ペーストする  ことによって効率的に作成できることを説明し、この場合には主に相対参照がメインに  行われることを説明するとよいのではないでしょうか?    A   B  C  D 1 商品名 単価 数量 売上 2   A   100  10  1,000 D2に=B×Cと入力して下方向にコピー&ペースト 3   B   150   5   750 4      :    その際に、売上構成比を計算する場合に、E列に=D2/D$10  のような具体的な例をあげて、分母の行を固定する必要がある場合などに、絶対参照を  例にあげるとよいと思います。 2)について  上記の割合を計算する場合など、数式をコピーした場合に、相対参照で行った場合の不具合  を実例にあげて、『結果がおかしくなって困りますね』というように実感させてあげると  よいのではないでしょうか? 3)について  前述の説明から、相対参照と絶対参照の必要性が説明できると思います。 4)について  相対参照とは ・・・ 現在の位置を基準にした位置情報によりセルを参照する。  絶対参照とは ・・・ 指定したセルそのものの位置を参照する。  相対参照により、コピー&ペーストによるセルの参照が変化するため、表作成が効率的に             行える。  絶対参照により、コピー&ペースト時に固定しなければならないセルを固定でき、             より効率的に表作成が可能になる。 こんな感じでどうでしょうか? なにかあれば補足してください。 それでは

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>1、そもそもなぜ相対参照と絶対参照を使う必要があるのか?(その意味も教えたいです) 同じ数式をコピー(オートフィル)すれば、すべてのセルに数式をまとめて入力できる。 >2、では、どういうときに使ったらいいのか? 代表的な例として、掛け算の九九の一覧表を作成するときに、縦横1~9を入力した表を参照するときの例(複合参照)がわかりよいと思います。 >3、相対参照、絶対参照を知っておくと、こういうメリットがあるんだよと伝えたいです 例えば、C列に収入金額D列に支出金額が入力されている場合、それらの全体に対する割合をE列、F列に表示したいときに、以下のような数式が使えることで説明されてはいかがでしょう。 =B2/合計セルを複合参照(行を固定) >4、最後にまとめとして、結論を言いたい。 基本操作はそれまでのプレゼンで説明されていると思いますので、最後に複合参照のパターンを再度説明すればよいと思います。 実戦的には完成した式の修正時に必要となるF4キーの使い方(数式バー上でのカーソル移動とF4キーで変化する部分)を具体例を交えてプレゼンするのが良いと思います。

関連するQ&A

  • マクロでの相対参照ペースト

    (マクロ・VBA初心者です・・・・・・) 職場で使用している掲示板で、読んだ人がチェックする為に、 書き込みの後に名前のリストをコピー→貼り付けしています。 これをマクロを使って、任意のセルを選んでマクロを実行すれば リストが貼り付けられるようにしたいのですが、貼り付けがうまく行きません。 マクロの記録で行っているのは、 (1)名前のリストをコピー(絶対参照) (2)コピーしたリストを貼り付け(相対参照) なのですが、貼り付けが相対参照で行われず、絶対参照で行われてしまいます。 記録終了バーが相対参照になっているのは確認しているのですが・・・・・・。 自分なりにマクロの本を読んだりネットで探してみたりしましたが、 基本的なこと過ぎるのか解決策が見つからず、途方に暮れて質問させて頂きました。 もしかしたら何か基本的なところを見落としているかもしれませんが、 何卒宜しくお願い致します。

  • エクセルのマクロの相対参照と絶対参照の併用

    いつもお世話になっております。 マクロ初心者です。(エクセル2010) 毎日更新されるデータがあり、これを特定の場所(I2-I7)に縦に集めた表が有ります。 A列には下方向に日付が入るとして、 これをコピーして、行方向(B1-G1)に貼り付ける作業をマクロの記録でやろうとしたのですが、コピーを取る場所の固定はマクロ編集で、絶対番地($j$7-$j$17)に変更すればできるのですが、貼り付ける行が毎日下にずれていくのでうまく行きません。 全てを相対参照で記録すると、日付けと一緒にコピー元の参照セルも下にずれていってしまいます。 どうすれば良いか教えてください。

  • Excelの絶対参照について

    Excelの絶対参照、相対参照について Excelの絶対参照について教えていただきたいです。 データの引用元(もしくは参照元)のシートで、一行増やしたり、一列減らしたりと編集を行ったときに、 引用先シートではズレることなく順応しているようにしたいです。 (例) 引用先(Aシート)    引用元(Bシート) A2='Bシート'!B2 B2 A3='Bシート'!B3 B3 A4='Bシート'!B4 B4 ↓ 引用先(Aシート)    引用元(Bシート) A2='Bシート'!B2 B2 A3='Bシート'!B4 B3←一行増やした A4='Bシート'!B5 B4   B5 このようにする場合は、$の絶対参照を引用先のAシートの各セルに付けておくのでしょうか。 それとも別に絶対参照を付ける必要はないのでしょうか。 質問内容が分かりにくくて申し訳ありません。 別ファイルや、別タブからデータを引用することが多いのですが、そのときに引用先では絶対参照を使った方がいい時と、使う必要はない時との違いが分からなくて……。 浅学でお恥ずかしい限りですが、ご教授願えればと思います。 よろしくお願いいたします。

  • 条件付き書式での相対参照について

    こんにちは いつもお世話になっています。 エクセル2007を使っています。 条件付き書式で相対参照にできずに困っています。 条件内容は生徒名毎に5教科内での上位1位のセルの背景色を赤、下位1位のセルの背景色を青です。 A列に番号、B列に名前、C列-G列に教科ごとの得点が入力されています。 生徒名毎にC-Gセルに条件付き書式を設定してあります。 例えば C3-G3セルを選択し、条件付き書式を以下のようにしてあります。 ルール1:上位1位、書式をセル背景色赤、適用先=$C$3:$G$3 ルール2:下位1位、書式をセル背景色青、適用先=$C$3:$G$3 このままだと下の行に書式をコピーすると失敗します。 手動で$C3:$G3としても、適用すると絶対参照に戻ってしまいます。 条件付き書式でなくとも上記のような条件内容を実現できればいいのですが、御教授お願いいたします。

  • CnvFormula 絶対参照にsheet名を付けたい

    winxp he sp3, excel2003 CnvFormula 範囲指定して相対→絶対参照に変換します。 sheet1→sheet2にcopyした時、sheet名が必要です。 下記マクロにsheet名を追加したいのです。 Sub CnvFormula() With Selection.SpecialCells(xlCellTypeFormulas) .Formula = Application.ConvertFormula(.Formula, xlA1, xlA1, xlAbsolute) End With End Sub よろしくお願いします。

  • エクセルの絶対参照の一括操作はできるか…

    現在、仕事でエクセルを使用してます。 そこで数式を組み立てて「在庫数管理シート」と、「印刷用シート」を作りました。 基本的に、印刷用シートは =IF('在庫数管理シート'!H1="","",'在庫数管理シート'!H1) の式の相対参照で埋め尽くし、在庫数管理シートの必要な項目だけを見やすいようにまとめて印刷目的のみに使っていました。 問題は、この式に出てくる参照元のセルを「切り取り→貼り付け」する事で参照先が変化してしまい、エラーが出てしまう事です。エクセルを独学でやってたため、時が経ち管理する在庫の種類が増減し始めてやっと気付きましたが、すでに2000種類の在庫数の増減の為のマクロを組んだりして(自分なりに)大掛かりなデータになってしまいました。 前置きが長くなってしまいましたが、ここから質問です。 「シート全体で使用されている相対参照をすべて絶対参照に置き換える」為にはどのような操作をすれば良いでしょうか? 現在、セルをひとつひとつクリックしてアクティブにしては、セル指定箇所にカーソルを合わせ「F4」キーを押して絶対参照に変えてましたが、 種類Aのシート アイテムA,入荷数,在庫数,販売可能数,備考(次回入荷時期) ・ ・ (約100アイテム) ・ ・ 種類Bのシート アイテムA,入荷数,在庫数,販売可能数,備考(次回入荷時期) ・ ・ といった状態でひとつひとつセルをクリックしていくのは非効率過ぎます。 何か良い方法があればご教授願いたいと思います。

  • グラフの参照元を相対参照で記述するには

    マクロ初心者です。 あるグラフを最初テンプレートで作っておいて、他のデータでも簡単に同じグラフを作れるようにしたいです。 マクロの記録で「相対参照」があったので、これでできると思ったのですが、グラフのセルは絶対参照になるようです。下記のようになってりまいます。 Sub Macro6() ' ' Macro6 Macro ' ' ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.PlotArea.Select ActiveSheet.ChartObjects("グラフ 1").Activate ActiveCell.Select ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.PlotArea.Select ActiveSheet.ChartObjects("グラフ 1").Activate ActiveChart.SeriesCollection(1).XValues = "='Sheet1'!J3:J11" ActiveChart.SeriesCollection(1).Values = "='Sheet1'!M3:M11" ActiveChart.SeriesCollection(2).XValues = "='Sheet1'!J3:J11" ActiveChart.SeriesCollection(2).Values = "='Sheet1'!P3:P11" ActiveCell.Select End Sub 具体的にやりたい動作は、 1.相対的な場所を決定するセルを選択(表の左上のセルなど) 2. ActiveChart.SeriesCollection(1).XValues = "='1.のセルから右に2列進んだセル:1.のセルから右に2列下に8列進んだセル" ActiveChart.SeriesCollection(1).Values = "='1.のセルから右に4列進んだセル:1.のセルから右に4列下に8列進んだセル" ActiveChart.SeriesCollection(2).XValues = "='1.のセルから右に2列進んだセル:1.のセルから右に2列下に8列進んだセル" ActiveChart.SeriesCollection(1).Values = "='1.のセルから右に6列進んだセル:1.のセルから右に6列下に8列進んだセル" というふうにしたいです。 ご指導お願いします。

  • エクセルのVBA 相対参照についての質問です。

    エクセルのVBA 相対参照についての質問です。 VBA初心者ですが、困っております。 難しいのですが、詳しい方にご教示頂けると幸いです。 【分らない点】 アクティブセルに対応して、別のシートからそのアクティブセルと同じ列にあるセルの値を参照する。 【前提設定】 (1)工事金額のデータベースとなるシート(数か月分の工事金額・階数が記載)、予定表となるシートがある。 (2)予定表にはデータベースから値を参照したいが、いつ工事が発生するか、どの階数なのか、は分からない。 (3)予定表の○月・○階数の部分にセルを置き、VBAを実行すると、その階数に対応する工事金額を、そのアクティブセルの位置から貼り付けたい。 【具体例】(アンダーバーは無視してください) データベースシート __1カ月 2カ月 3カ月 4カ月 1階_12_13__14__15 2階_25_26__27__28 3階_31_32__33__34 4階_44_45__46__47 予定表シート __1月 2月 3月 4月 5月 6月 1階 2階___25 26 27 28 3階 4階___ _44 45 46 47 ※上は理想イメージで、予定表の2月の2階にアクティブセルを置き、マクロを実行したとき、データベースの2階の1カ月目~4カ月目の工事金額のデータを参照した場合。 4階は3月から工事が発生し、対応する4階の工事金額を参照した場合。 データベースは常に1カ月目からの参照が必要です。 【不明な点】 『アクティブセルと同じ列』での『異なるシート』からの参照ができません。 アクティブセルの位置は変わるのに、自分でマクロを組むと、異なるシートの同じ位置から常に参照されてしまいます。 自分でも試したのですが、うまく参照されません。 わかり辛い例ですが、ご教示頂けると幸いです。 よろしくお願い致します。

  • 絶対参照なんだけど相対参照にもしたい

    図のように数式を絶対参照にしてコピーしたいのですが この場合、横の五月には貼り付けできますが 下の二年には貼り付けで着ません(一年の結果を表してしまいます) これぐらい簡単な表なら書き換えればいいのですが、もっと大きな表の時は 一々書き換えてられません この場合、一年の数式を二年にも貼り付けるには どういう数式にすればよいのでしょうか?

  • 相対参照→絶対参照

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

専門家に質問してみよう