エクセル初学者の大きなハードル、複合参照を理解する!
ここまでの記事で [相対参照] と [絶対参照] について触れてきました。この記事では、もう一つの参照形式、[複合参照] について学習をします。
学習のために、配送料金表を作成してみましょう。以下のキャプチャは、配送先の基本料金と、荷物の重さに応じた追加料金のクロス表です。
キャプチャは全体を映しているため小さくなっております。サンプルデータは文末にありますので、先にダウンロードしてワークシートを確認してから、続きを読んでください。
複合参照のロジックを理解する
[絶対参照] の復習となりますが、たとえば「セルB2」をセル参照したあとで「F4」キーを使うと、以下のように変化しました。
B2 → $B$2 → B$2 → $B2 → B2
ここで注目するのが「B$2」と「$B2」のタイプです。「$」マークは固定を示す意味として扱われていますので、「$B$2」は ① $B:B列を固定して ② $2:2行目を固定する という意味でした。
そのため「$」マークは2つあったわけです。この状態であれば [オートフィル] のコピーをしたときでも、セル番地「B2」は絶対に変わりません。
これが片方外れている2パターンになりますので、「B$2」は2行目だけ固定、「$B2」はB列だけ固定、という意味になります。
まず「B$2」の形式で [オートフィル] をするとどのようなセル参照になるか確認しましょう。
このキャプチャのとおり、行方向(↓)へのコピーでは2行目がずっと参照され、列方向(→)へのコピーでは列番号は相対的にC列・D列・E列・F列と変化します。
続いて、「$B2」の形式を見ておきましょう。
行方向(↓)へのコピーでは相対的に行番号が3・4・5・6と変わり、列方向(→)へのコピーではB列をずっと参照したままとなります。
つまり、複合参照とは、行または列どちらか一方を固定する、という意味となります。
配送料金表を作成して複合参照を体験してみよう!
[複合参照] の設定は、集計方法によって出番があったりなかったりです。実際の業務でも、設定する機会は限定的ではありますが、ピンポイントで必要になる場合もあります。
サンプルデータに配送料金表を作成しましたので、これで複合参照をマスターしていきましょう。まずは、北海道の配送料「1,130」円に対し、2kgまでの追加料金「50」円を加算しました。
この計算式に対して、[複合参照] の設定をします。
配送料金は列方向(→)にスライドさせたいので「D$5」に設定します。追加料金は行方向(↓)にスライドさせたいので「$C6」とします。
計算式は「D$5+$C6」と「F4」キーを使って変更してください。
できましたでしょうか? 変更後、行方向に [オートフィル] をしてみます。
北海道の「1,130」円が入力され散る「セルD5」はそのままセルD5を維持しました。さらに、重さが1キロずつ加わるごとに、追加料金を50円ずつ加算することができました。
このまま列方向(→)に [オートフィル] してみましょう。
キャプチャは全体を映すために小さくなってしまいましたが、一気にすべてのセルに配送料金と追加料金の表を完成することができました。
ぜひ、サンプルデータでこの結果を確認してみてください。
では、適当なセルを選んで、本当に正しい計算式になっているかどうか確認してみましょう。試しに、行先は関東・3㎏までの配送料を確認してみます。
450円+100円=550円。無事に正しい計算式が入力されていました。皆さんの操作でも、うまく同じようにセルG7が「550」になったかどうか、ご確認ください。
以上が [複合参照] の設定方法になります。
[複合参照] は、行・列の片方を固定した参照形式となります。そのため、エクセルの初学者は [オートフィル] をしたときのセル番地の動き方がイメージしづらいでしょう。
この配送料金表を一例として、まずは確実な結果が出せるように練習をしておいてください。
この記事のサンプルデータ
mixed-reference.xlsx 【Excelファイル】