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

(3) 表計算[3]-相対参照と絶対参照

[1]計算式の入力

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

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

例えば=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に複写すればよい。

$は手入力でつけても良いが、C1セルをクリックした後でShift + F4キーを押すと、$C$1→C$1→$C1→C1と、$の位置が順に変化する。

[5]今日のファイル

本日もCalcファイルをダウンロードして作業を行ってみる。本日のテーマは上記で説明した(1)計算、(2)式のコピー、(3)相対参照と絶対参照である。

今日のファイル

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

[6]出席課題

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

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

宿題について

宿題のワークシートについて次週の授業開始前までに実施しておくこと。「宿題」のワークシートのみを「学籍番号-calc3.ods」という名称で保存し、メールに添付して提出する。

特定のワークシートのみの保存方法

「宿題」のワークシートのみを保存するためには、ワークシートの「宿題」タブを右クリックし、「移動またはコピー」を選択する。出てきたダイアログで、「コピーを作成する」にチェックを入れ、移動先ブック名を「新しいブック」にしてOKすると、ワークシートの複製が新規エクセルファイルとして作成されるので、名前を付けて保存すればよい。

  1. 提出先:課題提出用メールアドレス
  2. メールの件名(Subject):表計算第3回宿題
  3. 提出期限:次回授業開始時まで