Medbb's blog

日々の中でなにかしらまとまった話をしたときや調べたときの内容を忘れないように書き留めたページです

Medbb Webサイトはコチラ

セルの絶対参照,相対参照(エクセル)

 その昔,アルバイトでパソコンインストラクターをしていた時期がありました.e-Japan戦略の一環として行われていたIT講習会では大阪府吹田市の会場で春先から夏まで沢山喋らせていただきました.もともと講習会の本の作成お手伝い迄の予定でしたが(学生としての本分を全うしないといけないので),予定していたインストラクターの引き抜きがあったらしく人手が足りずで,期間限定で良い経験をしました.受講したご婦人が講習の合間にペイントで私の似顔絵を描いてくれたり,参加者からお褒めの言葉をもらったり,講習会の本にサインを求められたり.受講生が会場近くのビール工場のお祭りにお昼休み中に行ってご機嫌になっていたり・・・,20年以上前の昔話ですが

 

 さて,本題ですが当時,通常のエクセルの授業においてはセルの絶対参照,相対参照が一つのヤマだ! と当時のインストラクターが仰っていたように思います.$マークをつけたら動かなくなるということで理解し使える方もいましたが,どの部分が相対参照だといいのか整理できていないと結局使えないわけでして.

 困っていた学生さんに授業後以下のように説明したところわかりやすかったようで喜んでいただいたので以下.

 

 カイ二乗検定を行うときやカッパ統計量を求めるときに必要となります期待値.周辺度数を用いて計算するわけですが,数式を一つ作って後コピーでOKならば間違えることなく計算できます.

例えば下のように観察者A,Bがそれぞれ同じ文章を読みどの季節なのか分類したとしましょう.(1-春 2-夏 3-秋 4-冬)

 

期待値を求めるわけですが,観察者Aも観察者Bもともに1-春 と分類した文章は周辺度数から求めると,観察者Aが1と答えた合計の度数(586)に対して観察者Bが合計の度数よりどの程度の確率で1と答えるかの確率を乗じたもので求めることが出来ます.

計算式は 586×(565/2284) となります.(以降カッコは無くても結果は一緒なので,586×565/2284と表記します)

エクセルの場合は直接数字を入力せずにその数値が入っているセル番地を指定することで,打ち間違えを防止できますから,今回もセル番地で式を入れようと思います.

そうすると計算式は =I12*M8/M12 となりました.

(列見出し行見出しは以下参考に,表示している一番上は6行目になります)

(観察者AもBも1-春の結果が入るセルはI8セルになります)

  G    H    I    J    K    L    M

 エクセルの数式はコピーできるものの基本は相対参照でコピーしたセルが元の場所から動いた分だけセル番地を変えてしまいます.便利な反面動いてほしくないのもありますのでその場合絶対参照で指定(F4キー,もしくは直接$マークを入力)します.

灰色で示したI8セルの数式ですが,上述の =I12*M8/M12 のままではなく =I$12*$M8/$M$12 としておけば 観察者Aと観察者Bの組み合わせのセルにコピーすると計算結果を記してくれます.

 

 という恰好で授業をした後に,なんでそのような数式になるの?どうしたら自分でその数式を立てれるようになるのかと,質問を受けました.この授業がエクセル入門的な授業ならば元インストラクターとしてみっちり時間をとるのですが,込み入った統計学の授業だったもので,個別対応となった次第です.

 

<絶対参照相対参照の入り混じった数式の立て方の説明>

1)まず最初にコピーすることを意識せず,数式をセル番地で作成してください.

2)次にその式を使いまわし(コピー)するのは行方向(縦)列方向(横)のいずれなのみなのか,表のように両方なのか確認してください.

3)1)で記した数式を書いたセルの使いまわしをする方向の直近のセルに,1)と同様に数式をセル番地で作成してください.表のように両方向の場合は両方向に作成してください.

 下の例は表を意識して列側行側両方向に数式を作成しています.

4)1)で作った数式と3)で作った数式を比較してください.その中で変化しているセル番地があれば,それは相対参照のまま,変化していないセル番地は絶対参照にしてください
オリジナルの =I12*M8/M12 (セル番地I8 観察者Aが1 観察者Bも1 灰色セル)
最初のI12の列のIは右のセル(セル番地J8)ではJとなっています.下のセル(I9セル)ではIのままですが,動いていたらOKなので最初のIは相対参照.次にI12の行の12は右のセルも下のセルでも12のままです.動いていないので絶対参照になります.

そのようにまとめると下記のように赤字の部分が変化の無かった部分(絶対参照にする部分)になります.

赤い部分の前に$マークを付けると

=I$12*$M8/$M$12

となります.

件の学生は上記の説明で理解し喜んでいたので,参考になればと思いまとめました.