roy > naoya > 情報リテラシーII > 表計算[3]-相対参照と絶対参照

(7) 11/11の授業内容:表計算[3]-相対参照と絶対参照

[1]計算式の入力

前回まではエクセルの基本的な操作方法について学んだ。今回はエクセルを用いた計算を行ってみよう。

前回はセルに値を入力する際に先頭に=をつけると、それは単なる値ではなく式として受け取られる。

例えば=100+200と入力すると、先頭に=があるため式として認識され、100+200を行った結果の300が表示される。単に100+200と入力すると、先頭が=でないため式として認識されず、画面にも100+200と表示される。

[2]セル参照を用いた計算

A B C
1 100200

A1に100、B1に200が入力されているとする。ここでC1に100+200の計算を行うとする。上記の方法を用いるのであれば、=100+200と入力すればよい。しかしせっかくデータが既に入力してあるのに、いちいち入力するのは面倒くさい。これはセル参照という方法を用いることで解決できる。具体的には以下のように入力する。

=A1+B1

A1やB1はキーボードから入力しても良いし、マウスで該当するセルをクリックしても良い。いちいち入力するのは面倒なので、マウスでクリックしたほうが良い。この場合=と入力した後でA1をクリックし、+と入力してからB1をクリックする。そして[Enter]を押すと計算結果が表示される。

セル参照を用いて式を書いておくと、単に書くのが楽なだけでなく、A1やB1のセルの値を変更すると、それに伴って計算結果も変更してくれるという利点がある。

[3]式の複写

セル参照を用いて式を書いておくと、式を他のセルに複写することも可能となる。

A B C
1 100200300
2 300400
3 500600

今C1に=A1+B1という式を書いたとしよう。セルには計算結果の300が表示されているはずである。ここでC1をコピーしてC2とC3に複写してみよう。コピーして貼り付ける方式でも良いし、オートフィル機能を使ってもかまわない。この結果、C2、C3は以下のように表示される。

  • C2:セルの表示:700、計算式:=A2+B2
  • C3:セルの表示:1100、計算式:=A3+B3

コピーをしたC1は「=A1+B1」と書かれていたが、コピーをして1つ下のC2に複写すると参照するセルも1つ下に下がり「=A2+B2」となっている。2つ下のC3に複写すると参照するセルも2つ下に下がり「=A3+B3」となる。セル参照をした式を他のセルに複写すると、参照するセルも相対的に変化する。このような機能を相対参照という。

[4]相対参照と絶対参照

相対参照を使うことで、式をコピーして他のセルに複写することが容易にできる。同じ計算を100回繰り返す場合、最初の1行目だけ式を書いておけばよいことになる。しかし、この相対参照がうまく使えないようなケースもある。まずは以下の例を見てみよう。

ABC
1名前得点50
2一郎30-20
3二郎50

ここではA列に名前、B列にテストの点が入力されている。C1には平均点が記載されている。ここでC2以降で平均点との差を求めることにする。C2には「=B2-C1」と入力し、計算結果の-20が表示されているものとする。

では、先ほどと同様にC2をコピーしてC3に複写してみよう。二郎さんは50点をとっており平均点と同じなので0になるはずである。しかし結果は70になる。セルにどのような式が入力されているか調べると「=B3-C2」となっていることが確認できる。

セル参照を用いて式を書いた場合、コピーして貼り付けると参照するセルも変化する。1つ下のセルに複写したため参照するセルもそれぞれ1つ下に移動している。これは正しい働きであるが、このケースでは参照するセルが変化すると都合が悪い。より厳密に言うと、B2は1つ下のセルに移動してB3に移動してほしいが、C1は1つ下のC2に移動するとまずいことになる。

式を複写した際に参照するセルを変化させない方法もある。自動的に変化するのが相対参照であるが、固定する方法を絶対参照という。

絶対参照は以下の3種類がある。手前に$をつけることで、つけた部分を固定することができる。

  • $C1:列(C)のみ固定する。式を横に複写する場合に有効。
  • C$1:行(1)のみ固定する。式を縦に複写する場合に有効。
  • $C$1:行列いずれも固定する。式を全く別の場所に複写する場合に有効。

今回は下に複写した際にC1がC2に変更しないようにしたいため、1を固定する必要がある。よってC2に「=B2-C$1」と書き、C3に複写すればよい。

[5]今日のファイル

本日もエクセルファイルをダウンロードして作業を行ってみる。本日のテーマは上記で説明した(1)計算、(2)式のコピー、(3)相対参照と絶対参照である。以下のハイパーリンクをクリックするとファイルを「開く」か「保存」するかたずねられる。「保存」を選びzドライブに保存しよう。ファイル名は特に変更しなくて良い。

今日のファイル

  1. Excelで作業をする場合:zドライブを開き、保存したファイルをダブルクリック。
  2. Calcで作業をする場合:StarSuite Calcを起動し、「ファイル」の「開く」からzドライブ内のexcel-3.xlsを開く。

ファイルを開くと、5枚のシートがある。最初の3枚が学習用シートで、4枚目が復習問題のシートである。順番に作業を進め、最後に復習問題に挑戦しよう。なお、5枚目のワークシートは発展問題である。早く終わってしまった場合はこれにも挑戦してみよう。

[6]出席課題

以下の項目についてメール本文に記載し、今日のファイルを添付して送る。

  • 理解できたかどうか(難しかったものがあれば、どれが難しかったか)
  • エクセルを使った感想や、1回の授業の分量についての意見
    1. 提出先:課題提出用メールアドレス
    2. メールの件名(Subject):literacy7
    3. 提出期限:授業終了時
    4. 電子メールの使い方に自信がない場合:Mewの主要コマンドについてを確認しよう