【PC小ネタ】絶対参照の使い分け
Excelなどのスプレッドシートの絶対参照(Numbersだったら保持)は、4種類あります。どう使い分けるかという話です。
絶対参照の種類
スプレッドシートの絶対参照は、セル番地に$がついて表現されます。そこら辺に関してはこちらの記事を読んでいただければと思います。で、そっちの記事でも書いてますが、絶対参照には以下の種類があります。
行列固定 =$A$1
行固定 =A$1
列固定 =$A1
無固定 =A1
まあ、無固定は相対参照なので、絶対参照としては3種類というべきかもしれません。ExcelでF4キーを押すと、上のリスト順に$の付き方が変化します。で、これをどう使い分けるかという話です。
行列固定は全部固定
![](https://assets.st-note.com/img/1662184235024-IvHPKh2EXZ.png)
図01はこちらの記事で説明してるのと同じデータですが、こんな感じで割合を出したいなというときは、合計を行列固定してやればよいのです。これでドラッグすれば一発で結果が出ます。
![](https://assets.st-note.com/img/1662184438905-8V1DaFFpr4.png)
ちゃんと他のフレーバーのところも、合計で割っていることになっているので問題ありません。
この場合、行列固定($F$8)を使用しましたが、行固定でも結果は同じになります。上の図の状態だと、セル内の情報は「アクティブセルの1列左をF8セルで割る」となっています。これを行固定(この場合はF$8)にしても問題はありません。
![](https://assets.st-note.com/img/1662184938443-E1JQmdt61W.png)
図03の状態だと、セル内の情報は「アクティブセルの1列左を、1列左の8行目のセルで割る」となります。列は相対的な指定になりますが、ドラッグするのは同一の列内(この場合はG列)で変わることがないので、合計のある8行目だけが絶対的に指定されていればよいことになります。
このような場合は、行列固定でも行固定でもどっちでもいいのですが、Excelの場合は最初にF4キーを押すと行列固定になるので、そこで止める場合が多いでしょう。
行固定や列固定を使うとき
行だけ、または列だけを絶対指定場合に、行固定や列固定を使用します。
![](https://assets.st-note.com/img/1662185607482-MDk1BBgqc6.png?width=1200)
図04は、左側に各年の売り上げ個数があるので、その右側に割合の表を作りたいというものです。この表の作り方がいいかどうかという話はあるのですが、説明用ということで。
E4セルには、1年前の割合を出す式(=B2/$B$8)が入っています。意味としては、「3列左をB8で割る」ということになります。これをドラッグしてみるとどうなるでしょう。
![](https://assets.st-note.com/img/1662186062254-9WsmVCzMW6.png?width=1200)
複数列とか複数行にドラッグするときは、斜めに指定することができないので、一度縦か横のどちらかにドラッグし、そのまま横か縦に再度ドラッグします。原付の2段階右折と一緒で、1回でいくことができません。
で、ドラッグした結果が図05です。こういうときに合計のところまでドラッグすると間違いにすぐ気づきます。合計なので、割られる数と割る数が同じになっているから、100%にならなくてはいけないのに、2年前と3年前はなっていません。
![](https://assets.st-note.com/img/1662186380142-FAdVGTG6pe.png?width=1200)
図06は、2年前のストロベリーの割合(F3)の式をみているところです。割られる数は2年前のストロベリー(C3)で問題はありませんが、割る数が1年前の合計(B8)になっています。つまり違う年の合計で割っているので、全然意味が無い値になっているのです。
それでは困るので、割る数の絶対参照を行固定に変えてみましょう。
![](https://assets.st-note.com/img/1662187647931-FV1OpnzN2I.png?width=1200)
E4セルの式を =B2/$B$8 から =B2/B$8 に修正してみます。意味としては「3列左を3列左の8行目で割る」となります。これをドラッグしてみるとどうなるでしょう。
![](https://assets.st-note.com/img/1662187871441-Beu5gsEmAB.png?width=1200)
今度はちゃんと、その年の合計で割られています。
今回は合計が表の下部にあるので行固定のパターンになりますが、例えば合計が右端にあるような表なら、列固定になるでしょう。
まとめ
絶対参照は、何を固定するかを考えて使います。行列固定でいいのか、行や列は相対参照のほうがいいのか、それは何を計算しているのかをちゃんと理解している必要があります。
あと、まとめというか注意点なのですが、図05や06の状態で、合計の割合を出していないと、絶対参照の指定が間違っていることになかなか気づかないです。それっぽい値になっていますし。見た目だけ同じように作ろうとすると、こういうことになりがちです。
私は割合の表を作るとき、合計の部分まで式をドラッグして、間違っていないかチェックするようにしています。そして式を入力するときは、なんの計算をしているのか、面倒くさがらずに考えるようにしています。面倒なことで、ついつい惰性でやってしまいがちですが、そういうときに限って間違ったりするので気をつけるようにしています。
この記事終わり