関数の数式のどこを固定すべきか判断できる人になるには

解説記事内の画像はExcel 2016のものですが、操作方法は下記のバージョンで同じです。
  • Excel 2016, 2013, 2010

関数の数式のどこを固定すべきか01 C4番地に、「阿部さんの販売個数は、みんなの中で、大きいほうから数えて何位なのか?」を表示させたいと思います。
順位を表示させたいわけですから、RANK関数を使います。

関数の数式のどこを固定すべきか02 「阿部さんの販売個数は、みんなの販売個数の中で何位なのか」ということは、「B4番地の値は、B4からB13番地の中で何位なのか」ということになるので、

関数の数式のどこを固定すべきか04 RANK関数の引数の設定はこのようになります。
ちなみに今回は、販売個数が多い方から数えて順位を付けたいので、最後の引数[順序]は「0」にしました。

関数の数式のどこを固定すべきか05 改めてRANK関数を設定したC4番地を選択して数式バーを見ると、設定したばかりのRANK関数の数式を確認することができます。

関数の数式のどこを固定すべきか03 ちゃんと「B4の値は、B4からB13の中で、大きい方から数えて何位ですか?」と設定できていることが分かります。

関数の数式のどこを固定すべきか06 残りのセルも同じように順位を表示したいわけですから、C4番地のRANK関数の数式をコピーすることにしましょう。
C4番地を選択し、オートフィルすれば、

関数の数式のどこを固定すべきか07 あっという間に、残りのセルにもRANK関数の数式を設定することができました!

関数の数式のどこを固定すべきか08 ちなみに、今回の例で使用した表では、オートフィル終了後、書式が崩れないようにするため、[オートフィルオプション]ボタンを使わなきゃいけないのですが、これは今回のRANK関数とは何の関係もないので、何のことを言ってるのかさっぱりわからないという方は、「書式なしでオートフィル」をご覧ください。

スポンサーリンク

明らかにおかしい事態発生!

関数の数式のどこを固定すべきか09 さて、このようにオートフィルで数式をコピーした直後、明らかにおかしい事態が発生したことに気付きます。
販売個数が同じじゃないにも関わらず、順位が同じになっているところがあるではありませんか!

こういう事態が発生した時が、今後、Excelを使いこなす側になるのか、Excelに使われる側になってしまうのかの分かれ道。
Excelを使いこなす側になりたければ、

一に現状把握、二に現状把握
三、四が無くて五に現状把握

もうこれしかありません!
じゃぁ「現状把握ってどうすればいいの?」ということになると思うのですが、それはそれぞれのセルに設定された数式を確認すればいいんです!

現状把握!

関数の数式のどこを固定すべきか10 それでは早速、現状把握していきましょう!
現状把握では、数式が入力されている欄の先頭から確認していくと分かりやすいので、C4番地を選択して数式バーで数式を確認します。
このC4番地は、数式を入力した時にちゃんと見たけど、もう一度見ときます。
C4番地の数式は、「B4の値は、B4からB13の中で、大きい方から数えて何位ですか?」と、ちゃんと設定されています。

関数の数式のどこを固定すべきか11 続いて、次の数式が入力されているセルの現状把握。
この時、C5番地を選択すると、脇にビックリマークが表示されますが、これはExcelさんからの「このセルに設定してあるもの、おかしいかもよ」というお知らせです。
今、まさにそのおかしいのが何なのかを解明しようとしているので、気にせず数式を確認していくことにしましょう。

関数の数式のどこを固定すべきか12 C5番地を選択して数式バーで数式を確認します。
C5番地の数式は、「B5の値は、B5からB14の中で、大きい方から数えて何位ですか?」と、なってしまっています!
最初の「B5の値は」の部分はOKだけれど、「B5からB14の中で」の部分が違います。
「B5からB14の中で」ではなく、「B4からB13の中で」になっていてほしいのに!

関数の数式のどこを固定すべきか13 続いて、更にその次の数式が入力されているセルの現状把握。
C6番地を選択して数式バーで数式を確認します。
C6番地の数式は、「B6の値は、B6からB15の中で、大きい方から数えて何位ですか?」と、なってしまっています!
最初の「B6の値は」の部分はOKだけれど、「B6からB15の中で」の部分が違います。
「B6からB15の中で」ではなく、「B4からB13の中で」になっていてほしいのに!

関数の数式のどこを固定すべきか14 こうやって現状把握すれば、何がおかしいのか、その原因が分かりましたね。
オートフィルで数式をコピーするということは、コピー元の数式内に設定されているセル番地が1つずつズレていくということですから、今回のRANK関数で設定していた「みんなの販売個数」の範囲がズレてしまったことが原因だということを突き止めることができました。
この「みんなの販売個数」の範囲を、ズレないようにすれば問題解決なので、早速、数式を修正していくことにしましょう!

スポンサーリンク

絶対参照へ修正

関数の数式のどこを固定すべきか33 それでは、コピー元となる先頭の数式を修正していきます。
C4番地を選択して数式バーを見ると、C4番地に設定されている数式の中身を確認できます。

関数の数式のどこを固定すべきか15 この数式の「みんなの販売個数」にあたる、「B4:B13」の部分をズレないように固定したいわけですから、マウスで「B4:B13」の部分をドラッグでなぞります
この時、マウスポインタの形は、下の図のような形です。

関数の数式のどこを固定すべきか16 ドラッグでなぞったことで、「B4:B13」の部分を選択することができました。
この選択した状態で、

関数の数式のどこを固定すべきか17 キーボードの[F4]キーをポンッと押すと、「B4」の部分にも「B13」の部分にもドルマークが付き、ズレないよう絶対参照を設定することができました!
この修正を確定するため、数式バーの[入力]ボタンをクリックするか、キーボードの[Enter]キーを押すと、

関数の数式のどこを固定すべきか18 数式を修正することができました!
絶対参照をかけただけなので、C4番地に表示されているRANK関数の結果、つまり順位表示には何も変わりありません。
違いが見えてくるのはここから!
早速、オートフィルで数式をコピーしてみることにしましょう!

関数の数式のどこを固定すべきか19 数式を修正したばかりのC4番地を選択し、

関数の数式のどこを固定すべきか20 オートフィルで数式をコピーします。
この時、前に入力していたおかしな数式を消してからオートフィルした方がいいんじゃないかと心配になる方もいらっしゃると思いますが、上書きされるので大丈夫です。

関数の数式のどこを固定すべきか21 数式をコピーすることができました!

関数の数式のどこを固定すべきか22 このページの最初の方でもご紹介しましたが、今回の例で使用した表では、オートフィル終了後、書式が崩れないようにするため、[オートフィルオプション]ボタンを使わなきゃいけないのですが、これは今回のRANK関数とは何の関係もないので、何のことを言ってるのかさっぱりわからないという方は、「書式なしでオートフィル」をご覧ください。

関数の数式のどこを固定すべきか21 数式をコピーした後、各セルの順位表示を見ただけで、「うまくいってるな」ということは分かりますが、念のため各セルに入力された数式を確認してみることにしましょう!

関数の数式のどこを固定すべきか23 先頭のC4番地は、直接修正をかけたセルなので、ちゃんとなっているのは分かり切ってますが、一応確認。
B4の値は、B4からB13の中で、大きい方から数えて何位ですか?」と、ちゃんと設定されています。
「B4からB13の中で」の部分に絶対参照を設定しておいたので、次のセルに入力された数式も、更にその次のセルに入力された数式も、この部分はズレていないはず。

関数の数式のどこを固定すべきか24 というわけで、次のC5番地を選択して数式バーを見ると、「B4からB13の中で」の部分がちゃんとズレずに固定されているので、「B5の値は、B4からB13の中で、大きい方から数えて何位ですか?」という正しい数式になっていることが分かります!

関数の数式のどこを固定すべきか25 更にその次のC6番地の数式も、「B4からB13の中で」の部分がちゃんとズレずに固定されているので、「B6の値は、B4からB13の中で、大きい方から数えて何位ですか?」という正しい数式になっています!

スポンサーリンク

経験値を積むために

結局、関数の数式のどこを固定すべきか判断できる人になるには、

おかしなことが起きた時に、その原因を究明するクセを付ける

ということを繰り返すことで、経験値が上がるので、その結果、関数の数式のどこを固定すべきか判断できる人になれます。
それなのに、「どうしてだか分からないけれど、RANK関数の時にはセル範囲を指定するところで絶対参照をかける」といった覚え方をしてしまうと、いつまで経っても根本を覚えることができませんし、他の関数が出てくるたびに、こういった丸暗記をしていかなければなりません。

というわけで、おかしなことが起きた時に原因を究明するクセを付けるということは、すなわち、

一に現状把握、二に現状把握
三、四が無くて五に現状把握

もう、これしかありません!
遠回りなようですが、実はこれが経験値を積む近道です!

絶対参照を設定するタイミング

関数の数式のどこを固定すべきか16 今回は、一度数式を設定した後で、絶対参照に修正したので、絶対参照を設定したい部分をドラッグでなぞり、範囲選択してから[F4]キーを押しました。

関数の数式のどこを固定すべきか26 でも、設定後の修正ではなく、「順位付けはコレ!RANK関数、RANK.EQ関数、RANK.AVG関数」でご紹介している手順のように、そのセルに初めてRANK関数を設定するといった、初めの一歩から設定する場合には、範囲を設定した直後、図のように文字カーソルが点滅した状態のまま[F4]キーを押せば、いちいち「B4:B13」の部分をドラッグでなぞって選択せずとも、

関数の数式のどこを固定すべきか27 「B4:B13」の「B4」の部分にも「B13」の部分にもちゃんと絶対参照を設定することができます。

関数の数式のどこを固定すべきか28 ところが範囲を設定後、[F4]キーを押すのを忘れて、その先の引数の設定に進んでしまい、「あ、絶対参照を設定するのを忘れた」と思って、

関数の数式のどこを固定すべきか31 引き返して、範囲を設定した箇所に文字カーソルを置いただけで[F4]キーを押すと、

関数の数式のどこを固定すべきか32 今度は「B4:B13」の「B13」の部分にしか絶対参照を設定することができません。
(今回は「B13」の側に文字カーソルがあったので「B13」だけに絶対参照が設定されましたが、「B4」の側に文字カーソルを置いた場合には「B4」にだけ絶対参照が設定されます。)
文字カーソルが置いてあるだけで「B4:B13」の「B4」の部分にも「B13」の部分にも絶対参照を設定できるのは、初めから順番にRANK関数を設定する最初の時だけ。

関数の数式のどこを固定すべきか29 一度でも先に進んでしまうと、「修正」という扱いになるので、その場合には、数式バーで修正した時と同じように、「B4:B13」の部分をドラッグでなぞり選択してから、

関数の数式のどこを固定すべきか30 [F4]キーを押すと、「B4:B13」の「B4」の部分にも「B13」の部分にも絶対参照を設定できます。

今回はRANK関数を例にしてご紹介しましたが、他の関数でもおかしなことが起きてしまった時に

一に現状把握、二に現状把握
三、四が無くて五に現状把握

を繰り返していくことで、やがて経験値が上がり、自然とどこを固定すべきか、最初から判断できるようになります!

スポンサーリンク