目次:
【第3回】アプリケーションソフト:Office系Tool 第1章
第3章
--自動計算
--セル参照
--行・列の操作
--グラフの作成
--シート間の参照
--演習問題
--絶対参照の補足
|
セル参照
【本節の目的】
セル参照を含む式のコピーを行う時の注意点を理解する。 式をコピーする時の注意 (セルの相対参照と絶対参照)
「3.5.便利な関数や機能の利用」で行なった「式のオートフィル」の解説や、
途中で作業を止めていた「科目ごとの平均」の続編です。
セルの相対参照「3.5.便利な関数や機能の利用」、オートフィルを使って、簡単に式をコピーできることを体験しました。 式をオートフィルでコピーすると(通常のコピー&ペーストでも同じ)、 我々がそうなって欲しいように、自動的に参照範囲が変更されていましたね。 ![]() ![]() ![]() これは、式をコピーする際には、 式の書かれているセルとの相対的な位置関係でセルを参照する機能が、 スプレッドシートに備わっているからです。 これを「相対参照」機能と呼びます。 例えば、「B7」に書かれている「=SUM(B3:B6)」という式は、 コピーされるときには、
そのために、オートフィルでこの式をコピー&ペーストすると、それぞれの式は、
この機能は、非常に有用です。複雑な式であっても、 一度書くと同じ計算を別の行や列で行なうときには、 単にコピーするだけで良いということになりますので、 大きな表であっても、同様な計算は簡単に行なえることになります。 セルの絶対参照
[演習 22]
これまで利用してきたex3.sxc中に、 科目ごとの平均と、 個人の1科目あたりの平均を求めてみよ。 これにより、セルの絶対参照の必要性を理解しなさい。 「相対参照」は、非常に有用なのですが、場合によっては、 それだけではうまく行かないことがあります。
その一例が、科目ごとの平均を求める時です。
![]() ![]() ![]() ![]() その理由を調べるために、「F8」セルに書かれた式を見てみると、 下図のようになっている事が分かります。 ![]() 分子は、英語の合計点数を表すセル「F7」になっていますので問題ありませんが、 分母がおかしいですね。受験者数「B10」で無ければいけないのに、 「F10」になっています。 (これでは、数値328を「平均」という文字では割ることになり、 当然エラーとなりますね。) でも、良く考えてみて下さい。前節で説明したように、 「式をコピーするときには、式中のセル参照は、 相対参照で行なわれる」ので、当然の結果なのです。 コピー元の「B8」には、「=B7/B10」と書いたのですから、
ですから、「F8」にコピーされた式も上のコピー元の式と同じで、
でも、これでは平均値が求まりませんね。 上での問題は、
つまり、一般的に言うと、
この要求に答えるのが、「絶対参照」機能です。
「絶対参照」をするには、
セル番号を「B10」のよう、書くのではなく、
行番号並びに列番号(記号)の前に「$」記号をつけ、
「$B$10」のように書きます。 それでは、この機能を使って、科目ごとの平均を求めてみましょう。 分かりやすくするために、まずは、先に書いたものを全部消去しましょう。 セル内のデータの消去は、消す対象のセルを選択し、以下のどれかを行います。
きれいになったところで、以下のようにします。
![]() ![]() ![]() ![]() ![]()
以上のような手順で、教科ごとの平均を求めることができました。 せっかくですから「3.5.便利な関数や機能の利用」行なったように、平均点を整数表示にしましょう。 3.5では、セルの属性を変更しましたが、ここでは、 roundという新しい関数を使ってみましょう。 ![]() 関数 round()は、 以下の機能をもっています。
そこで、実際の変更は、「B8」をアクティブセルにした後、 数式入力ボックスで、 「=round(B8/$B$10;0)」と入力して、確定した後、 「B8」を「F8」までオートフィルでコピーすれば完成です。 ![]() ![]() ![]() ついでに、 同じ要領で各人の1科目あたりの平均点も「H」列に求めておきましょう。 ![]() ![]() ![]() 教育一さんの科目あたりの平均点を表す「H6」が、 合計点数の「G6」を「B11」で割られ、その値をround関数で、 小数点以下が四捨五入されていることが分かります。 (註) 式をコピーしない時は、 「相対参照」なのか「絶対参照」なのかを、 気にする必要はありません。 「$」が付いていても、付いていなくても同じセルを参照しています。 (注意) 式をオートフィルやコピー&ペーストしたときは、 必ずコピー先のセルをいくつか確認して下さい。 そして、自分が思っている通りにコピーされていなかったときは、 「絶対参照」でうまく行かないか考えて下さい。 (注意) 「相対参照」と「絶対参照」が区別されるのは、 「式をコピー」して利用するときだけです。 コピー&ペーストが終わってしまった後は、 「相対参照」と「絶対参照」の区別は無くなってしまいます。 (正確には、「そのセルを更にコピーしてペーストを行なわなければ」 ということになりますが。)
例えば、下の例では、受験者数を表す「B10」を一旦、「切り取り」
(Ctrlを押しながらXを押す)をおこない、すぐに、「E11」に「貼り付け」
(Ctrlを押しながらVを押す)を行なっています。 ![]() ![]() ![]() 切り取られたときには、科目ごとの平均は、 それぞれの式の分母にあたるセルが空になったので、 すべてエラーになっています。しかし、 別の場所(セル)に貼り付けても、 元のように正確に計算が行なわれています。 試しに、「F8」の式を確認してみると、分母は絶対参照のままですが、 こちらがなって欲しいように自動的にセル番地が変更されていることが分かります。 ![]() |