今回はExcelにある参照機能の一つ,複合参照について説明します。
参照機能紹介編における最終章です。
今まで説明した相対参照および絶対参照と併せて,ぜひとも覚えましょう!
なお,相対参照と絶対参照の詳細は以下をご確認ください。


概要

Excelには,参照機能として以下の3機能があります。
- 相対参照
- 絶対参照
- 複合参照(相対参照と絶対参照の混合)
いずれの機能も「$」の使用有無で切り替えることが可能です。(「F4」を押下して切替可能。)
特定のセルで設定している数式を他のセルへコピーする際に,設定している参照機能に応じて結果が変わってきます。
慣れるまで煩わしく感じるとしても,作業効率を上げるうえでは理解して損のない機能と言えるでしょう。

それぞれを理解することで,すべてをコピペだけで対応することもできるよ!
複合参照
数式をコピーする際,コピー先のセルに応じて数式内で参照しているセルの行または列の片方を固定する機能です。
具体例を使用して説明します。
具体例:野菜の日次売上げ算出


今回は各野菜における1月1日~1月3日までの売上げを求めてみます。
まずは「キャベツ」から求めてみましょう。
H4セルに以下の数式を入力して,1月1日の売上げを算出します。
=$D$4*E4
計算前


計算後


続いて,1月2日~1月3日のセル(H5,H6)へコピーします。


「キャベツ」の売上げを正しく算出することができました!
では,残りの野菜も数式をコピーして求めてみましょう。


残念ながら全然違いますね(汗)
例えば,「レタス」の「1月1日」の売上げは「\8,000」なのですが,「\10,000」となってしまっています。
原因は「単価」を「絶対参照」にしているからです。
「キャベツ」の分を求めるだけであれば問題ありませんが,他の野菜は常に「キャベツ」の単価(\250)を参照している関係で,全く違う値となってしまっています。


要するに,どこへコピーしても各野菜の単価を参照できれば良いわけです。
となった時に役立つのが「複合参照」!
複合参照のやり方
やり方は簡単で,コピーしても参照先を変えたくないセルのアルファベットまたは行番号どちらかの前に「$」を付けます。
「キャベツ」の「1月1日」(H4)の数式を見直してみましょう。
行のみ固定
「キャベツ」の「1月1日」(H4)の数式を以下の通りに修正します。
「$D$4」のところにカーソルを置いて,「F4」を1回押下してみましょう。
修正前:=$D$4*E4
修正後:=D$4*E4
修正前


修正後(「F4」1回押下)


他のセルにも数式をコピーしてみます。


残念ながら不正解です。
「キャベツ」の「1月1日」以外,すべて違う値となってしまっています。



最初よりも酷くなっているような?



うん,酷くなっているね(汗)
最初よりもさらに酷くなった原因は,各セルの数式において参照している「列」が変動しているためです。
例えば,「キャベツ」の「1月2日」(I4)は「=E$4*F4」となっており,もはや「単価」(D4)を参照していません。
「キャベツ」の「1月2日」


「キャベツ」の「1月3日」


「レタス」の「1月2日」


「レタス」の「1月3日」


1点着目いただきたいのが,どこへコピーしても参照している「行」は変わっていないことです。
「キャベツ」の「1月1日」(H4)で参照するセルを「D$4」としたことで,どこへコピーしても常に4行目(「キャベツ」の行)を参照しています。
なお,表には以下が入力してある状態となっています。
# | 商品 | 単価 | 販売数(個) | 売上げ | ||||
---|---|---|---|---|---|---|---|---|
1月1日 | 1月2日 | 1月3日 | 1月1日 | 1月2日 | 1月3日 | |||
=ROW() -ROW($B$3) (1) | キャベツ | ¥250 | 20 | 50 | 80 | =D$4*E4 (\5,000) | =E$4*F4 (\1,000) | =F$4*G4 (\4,000) |
=ROW() -ROW($B$3) (2) | レタス | ¥200 | 40 | 70 | 100 | =D$4*E5 (\10,000) | =E$4*F5 (\1,400) | =F$4*G5 (\5,000) |
=ROW() -ROW($B$3) (3) | キュウリ | ¥100 | 100 | 60 | 80 | =D$4*E6 (\25,000) | =E$4*F6 (\1,200) | =F$4*G6 (\4,000) |
=ROW() -ROW($B$3) (4) | トマト | ¥120 | 80 | 100 | 50 | =D$4*E7 (\20,000) | =E$4*F7 (\2,000) | =F$4*G7 (\2,500) |
列のみ固定
「キャベツ」の「1月1日」(H4)の数式を,さらに以下へ修正します。
「D$4」のところにカーソルを置いて,「F4」を1回押下してみましょう。
修正前:=D$4*E4
修正後:=$D4*E4
修正前


修正後(「F4」1回押下)


他のセルにも数式をコピーしてみます。


今度こそ,すべての野菜において正しい「売上げ」を算出できました!



長い道のりだったわ(汗)



本当にお疲れさま!
例えば,「レタス」の「1月2日」(I5)は「=$D5*F5」となっており,「レタス」の「単価」および「1月2日」の「販売数(個)」を正しく参照できています。
「キャベツ」の「1月2日」


「キャベツ」の「1月3日」


「レタス」の「1月2日」


「レタス」の「1月3日」


1点着目いただきたいのが,どこへコピーしても参照している「列」は変わっていないことです。
「キャベツ」の「1月1日」(H4)で参照するセルを「$D4」としたことで,どこへコピーしても常にD列(「単価」列)を参照しています。
なお,表には以下が入力してある状態となっています。
# | 商品 | 単価 | 販売数(個) | 売上げ | ||||
---|---|---|---|---|---|---|---|---|
1月1日 | 1月2日 | 1月3日 | 1月1日 | 1月2日 | 1月3日 | |||
=ROW() -ROW($B$3) (1) | キャベツ | ¥250 | 20 | 50 | 80 | =$D4*E4 (\5,000) | =$D4*F4 (\12,500) | =$D4*G4 (\20,000) |
=ROW() -ROW($B$3) (2) | レタス | ¥200 | 40 | 70 | 100 | =$D5*E5 (\8,000) | =$D5*F5 (\14,000) | =$D5*G5 (\20,000) |
=ROW() -ROW($B$3) (3) | キュウリ | ¥100 | 100 | 60 | 80 | =$D6*E6 (\10,000) | =$D6*F6 (\6,000) | =$D6*G6 (\8,000) |
=ROW() -ROW($B$3) (4) | トマト | ¥120 | 80 | 100 | 50 | =$D7*E7 (\9,600) | =$D7*F7 (\12,000) | =$D7*G7 (\6,000) |
まとめ
今回はExcelにおける参照機能の一つ,複合参照について説明しました。
要約すると,相対参照と絶対参照の組合せによる機能で,行または列のどちらか片方のみを固定することができます。
数式内で固定したい行や列がある場合は,固定したいアルファベット(列)または行番号,あるいは両方(絶対参照)に「$」を付けましょう。
「$」は数式内で参照するセルの行または列,あるいは行と列の両方を固定するための接頭辞!
なお,ショートカットキー(「F4」)を使用して切り替える場合,以下の順に参照機能が切り替わります。
- 相対参照(A1)
- 絶対参照($A$1)
- 行固定の複合参照(A$1)
- 列固定の複合参照($A1)
- 相対参照(A1)
以降繰返し
理解度を深めるために,九九の表をコピペのみで作成してみるのも良いかと思います。
参照機能を駆使して,ありとあらゆる数式をコピペのみで作成できるよう励んでみてください!