roy > naoya > 情報リテラシーII > (2)表計算[2]-絶対参照と相対参照
(2) 10/01の授業内容:表計算[2]-絶対参照と相対参照
[1]計算式の入力
前回はエクセルの基本的な操作方法について学んだ。今回はエクセルを用いた計算を行ってみよう。
前回はセルに100や山形県というように入力した。これらは数字や文字として扱われる。しかし、入力する際に先頭に=をつけると、それは単なる値ではなく式として受け取られる。
例えば=100+200と入力すると、先頭に=があるため式として認識され、100+200を行った結果の300が表示される。単に100+200と入力すると、先頭が=でないため式として認識されず、画面にも100+200と表示される。
[2]セル参照を用いた計算
A | B | C | |
1 | 100 | 200 |
A1に100、B1に200が入力されているとする。ここでC1に100+200の計算を行うとする。上記の方法を用いるのであれば、=100+200と入力すればよい。しかしせっかくデータが既に入力してあるのに、いちいち入力するのは面倒くさい。これはセル参照という方法を用いることで解決できる。具体的には以下のように入力する。
=A1+B1
A1やB1はキーボードから入力しても良いし、マウスで該当するセルをクリックしても良い。いちいち入力するのは面倒なので、マウスでクリックしたほうが良い。この場合=と入力した後でA1をクリックし、+と入力してからB1をクリックする。そして[Enter]を押すと計算結果が表示される。
セル参照を用いて式を書いておくと、単に書くのが楽なだけでなく、A1やB1のセルの値を変更すると、それに伴って計算結果も変更してくれるという利点がある。
[3]式の複写
セル参照を用いて式を書いておくと、式を他のセルに複写することも可能となる。
A | B | C | |
1 | 100 | 200 | 300 |
2 | 300 | 400 | |
3 | 500 | 600 |
今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行目だけ式を書いておけばよいことになる。しかし、この相対参照がうまく使えないようなケースもある。まずは以下の例を見てみよう。
A | B | C | |
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ドライブに保存しよう。ファイル名は特に変更しなくて良い。
- Excelで作業をする場合:zドライブを開き、保存したファイルをダブルクリック。
- Calcで作業をする場合:StarSuite Calcを起動し、「ファイル」の「開く」からzドライブ内のexcel1001.xlsを開く。
ファイルを開くと、5枚のシートがある。最初の3枚が学習用シートで、4枚目が復習問題のシートである。順番に作業を進め、最後に復習問題に挑戦しよう。なお、5枚目のワークシートは発展問題である。早く終わってしまった場合はこれにも挑戦してみよう。
[6]出席課題
以下の項目についてメール本文に記載し、今日のファイルを添付して送る。
- 最後までできたかどうか(途中の人は練習の何番までいったか)
- 理解できたかどうか(難しかったものがあれば、どれが難しかったか)
- エクセルを使った感想や、1回の授業の分量についての意見
- 提出先:課題提出用メールアドレス
- メールの件名(Subject):literacy(2)
- 提出期限:授業終了時
- 電子メールの使い方に自信がない場合:Mewの主要コマンドについてを確認しよう