Excelで数式をコピーしたとき、参照先のセルが意図せずずれてしまい、計算結果が合わなくなることがあります。
この問題は、相対参照と絶対参照の違いを理解し、$記号を正しい位置に付けることで解決できます。
特に単価、税率、割引率、目標値など、コピー後も同じセルを参照し続けたい項目では、数式の固定が重要です。
数式を固定する基本ポイントです。
・行と列を固定する場合は$A$1を使用します。
・列だけを固定する場合は$A1を使用します。
・行だけを固定する場合はA$1を使用します。
・数式編集中にF4キーを押すと参照形式を切り替えられます。
この記事では、エクセルの数式を固定する方法と、コピー時のセルずれを防ぐ考え方を、サンプル表と具体例を交えて解説します。
数式を下方向や右方向へコピーする前に、どのセルを動かし、どのセルを固定するのかを決めることが正確な集計への近道です。
エクセルの数式を固定する方法1【F4キーによる絶対参照】
それではまず、F4キーを使って数式内の参照セルを固定する方法について解説していきます。
| A | B | C | D |
|---|---|---|---|
| 商品名 | 数量 | 単価 | 売上 |
| りんご | 3 | 120 | =B2*C2 |
| みかん | 5 | 80 | =B3*C3 |
絶対参照の入力手順
絶対参照とは、数式をコピーしても参照する列と行が変化しない参照方法です。
たとえば、B1セルに消費税率が入力されていて、各商品の税込金額を計算する場合を考えます。
税込金額の数式を下へコピーするとき、税率が入ったB1セルは常に同じ場所を参照する必要があります。
このような場面では、B1を$B$1に変更します。
税込金額をD2セルで計算する数式です。
=C2*(1+$B$1)
数式を入力するときは、参照したいB1セルをクリックした後、数式バー内でB1の部分にカーソルを置きます。

その状態でF4キーを1回押すと、B1が$B$1へ変わります。
ノートパソコンなどでF4キーがそのまま機能しない場合は、Fnキーを押しながらF4キーを使用する設定も確認しましょう。
$記号は列記号の前と行番号の前の両方に付いているため、下方向にも右方向にも参照先が動きません。
F4キーで切り替わる四つの参照形式
F4キーは、押すたびに参照形式を順番に切り替える便利なショートカットです。
最初にB1を選択してF4キーを押すと、$B$1になります。
もう一度押すとB$1になり、行番号の1だけが固定された状態です。
さらに押すと$B1になり、列記号のBだけが固定された状態になります。
4回目でB1へ戻り、通常の相対参照に戻ります。
B1は行と列の両方が動く相対参照です。
$B$1は行と列の両方を固定する絶対参照です。
B$1は行だけを固定する複合参照です。
$B1は列だけを固定する複合参照です。
キーボードで$記号を直接入力することもできますが、F4キーを使う方が入力ミスを減らせます。

数式の途中に複数のセル参照がある場合は、固定したい参照部分だけを選んでF4キーを押すことが大切です。
コピー前の数式確認
数式をオートフィルでコピーする前には、先頭セルの数式を必ず確認します。
たとえばD2に=C2*(1+$B$1)と入力されていれば、D3へコピーした後は=C3*(1+$B$1)となります。
商品価格のC2はC3へ変わり、税率の$B$1だけは変わりません。
この動きが、複数行に同じ計算ルールを適用する際の基本です。
セルを選択し、右下に表示される小さな四角形のフィルハンドルを下へドラッグすると数式をコピーできます。
コピー後に最終行の数式バーも確認すると、途中で参照が崩れていないかを早期に発見できます。
【操作のポイント】F4キーはセル参照にカーソルがある状態で使います。数式全体を選択している状態では、期待した参照形式に変わらないことがあります。
相対参照と絶対参照の使い分け
続いては、数式コピーでセルずれが起きる理由と、相対参照と絶対参照の使い分けを確認していきます。
| 参照形式 | 入力例 | 下へコピーした場合 |
|---|---|---|
| 相対参照 | B2 | B3へ変化 |
| 絶対参照 | $B$2 | $B$2のまま |
| 複合参照 | B$2 | B$2のまま |
相対参照が適する計算
相対参照は、コピー先に合わせて参照先も同じ距離だけ移動する仕組みです。
各行の数量と単価を掛け合わせるような計算では、相対参照が適しています。
D2セルに=B2*C2と入力して下へコピーすると、D3では=B3*C3、D4では=B4*C4へ自動的に変わります。
各商品の行をそれぞれ計算したいので、この変化は正しい動作です。

明細表の行ごとに異なる値を使う計算では、最初からすべてを固定しないことが重要です。
数式の固定は便利ですが、必要のないセルまで$記号を付けると、同じ行を繰り返し参照してしまう原因になります。
絶対参照が必要な計算
絶対参照が必要になる代表例は、税率、為替レート、基準単価、目標予算、割引率などです。
これらの値は表のどの行で計算しても共通であり、コピー先に応じて移動してはいけません。
たとえばF1セルに10パーセントの割引率があり、D列の金額から割引後価格を計算するなら、=D2*(1-$F$1)のように入力します。
割引後価格の数式例です。
=D2*(1-$F$1)
この数式をD列以外へコピーする可能性もあるなら、$F$1のように行と列の両方を固定するのが安全です。

固定するセルは、表内の共通条件が入力されたセルだと考えると判断しやすくなります。
セルずれを見つける確認方法
コピーした数式の結果が不自然な場合は、数式の表示を切り替えると原因を確認しやすくなります。
数式タブから数式の表示を選ぶか、CtrlキーとShiftキーと@キーを同時に押すと、セル内に計算結果ではなく数式が表示されます。
数式を一覧で見ると、固定すべきセルがB2、B3、B4とずれているのか、$B$1のまま維持されているのかを確認できます。
また、数式が入力されたセルをダブルクリックすると、参照中のセルが色付きの枠で表示されます。
エラー値だけを見るのではなく、数式バーで参照セルそのものを確認する習慣がセルずれ防止に役立ちます。
【操作のポイント】相対参照は明細データ用、絶対参照は共通条件用と分けて考えると、数式を作る段階で参照ミスを減らせます。
行と列を固定する複合参照の設定
続いては、行または列だけを固定する複合参照について確認していきます。
| A | B | C | D |
|---|---|---|---|
| 単価表 | 1月 | 2月 | 3月 |
| 商品A | =B$1*$A2 | =C$1*$A2 | =D$1*$A2 |
行だけを固定するB$1の考え方
B$1は、1行目だけを固定し、列はコピー先に応じて変化させる複合参照です。
横方向に月別の計算式をコピーするとき、見出しや係数が1行目に並んでいる場合に活用できます。
たとえばB2に=B$1*$A2と入力し、右方向へコピーすると、C2では=C$1*$A2となります。
参照する係数はB列からC列へ変わりますが、常に1行目を参照します。
B$1は横へコピーしても行番号が1から動かないため、上段にある月別係数や税率表を参照する計算に適しています。
下方向へコピーした場合も、B$1の行番号は1のままです。
列だけを固定する$A2の考え方
$A2は、A列だけを固定し、行番号はコピー先に応じて変化させる複合参照です。
横方向へ数式をコピーしても、各行の数量や商品名が入力されたA列を参照し続けられます。
先ほどの=B$1*$A2では、B$1が横方向の係数、$A2が縦方向の数量を示しています。
そのため、表の左上に数式を1つ作れば、右と下の両方向へコピーして計算表を完成できます。
縦横に広がるクロス集計表では、行見出し側は$A2、列見出し側はB$1という組み合わせがよく使われます。
複合参照をオートフィルする手順
まず計算表の左上にあたるB2セルへ、=B$1*$A2の数式を入力します。
次にB2セルを選択し、フィルハンドルを右方向へドラッグして必要な月までコピーします。
横方向へのコピーが完了したら、コピー済みの範囲を選択して下方向へドラッグします。
数式の列見出しと行見出しが正しく連動していれば、各交点に対応した計算結果が表示されます。
複合参照は一見複雑ですが、横に動かす参照と縦に動かす参照を分けるだけの仕組みです。
【操作のポイント】数式を右と下の両方へコピーする予定がある場合は、先に表の行見出しと列見出しの位置を確認してから$記号を設定しましょう。
コピー時のセルずれを防ぐ確認手順
続いては、数式をコピーする際にセルずれを防ぐ確認手順について解説していきます。
| 確認項目 | 確認内容 |
|---|---|
| 共通条件 | 税率や単価のセルに$記号があるか |
| 明細データ | 行ごとの数量や金額が動いているか |
| コピー後 | 先頭行と最終行の数式が正しいか |
数式バーで参照先を確認する方法
セルずれを防ぐには、結果の数字だけでなく、数式バーに表示される参照先を確認します。
先頭セルと、その数式をコピーした直後のセルを順番に選択すると、どの参照が変化したのかを比較できます。
税率セルのように固定したい部分が$B$1のままであれば、絶対参照は正常です。
一方でB1、B2、B3と変化している場合は、相対参照のままコピーされています。
正しい数式は見た目の結果だけでは判断しにくいため、数式バーで参照記号を確認することが確実です。
貼り付け後に計算結果を照合する方法
大量の行へコピーした場合は、先頭行、中間行、最終行の3か所を抽出して確認すると効率的です。
たとえば税込金額なら、数量や単価が分かっている行を選び、電卓で手計算した結果と比較します。
差額が出たときは、数式が固定不足なのか、元データの入力ミスなのかを切り分けます。
単価120円、数量3個、税率10パーセントの場合の計算例です。
=120*3*(1+10%)
結果は396です。
計算結果の検算を一部の行でも行うと、数百行の表で起きた参照ミスにも気付きやすくなります。
エラー表示への対処
コピー後に#REF!エラーが表示される場合は、参照先のセルや列が削除されている可能性があります。
#VALUE!エラーの場合は、数値計算に文字列が含まれていることも考えられます。
絶対参照そのものはエラーを発生させませんが、固定したセルが空欄になっていると計算結果が想定と異なる場合があります。
参照先のセルを削除する前には、そのセルを使う数式がないかを確認しましょう。
セルを固定した数式でも、元になる基準値の管理が不十分では正しい計算になりません。
【操作のポイント】コピー後は先頭セルだけでなく、最終行の数式も確認します。途中の行数追加や貼り付け操作で参照範囲が変わることがあるためです。
関数で基準セルを固定する数式例
続いては、SUMやIFなどの関数で基準セルを固定する数式例を確認していきます。
| A | B | C |
|---|---|---|
| 商品名 | 売上 | 目標達成判定 |
| りんご | 12000 | =IF(B2>=$F$1,”達成”,”未達成”) |
IF関数で目標値を固定する方法
IF関数では、目標額や判定基準を入力したセルを絶対参照にする場面が多くあります。
F1セルに10000という目標売上がある場合、C2セルには=IF(B2>=$F$1,”達成”,”未達成”)と入力します。
B2は商品ごとに異なる売上なので、下へコピーするとB3、B4へ変わる必要があります。
一方でF1の目標額は共通の基準なので、$F$1として固定します。
IF関数の比較条件に共通の基準値を使う場合は、その基準セルを絶対参照にすることで判定のばらつきを防げます。
SUM関数で集計範囲を固定する方法
SUM関数では、合計範囲を固定して構成比や累計を求めることがあります。
たとえばB2からB10までの売上合計に対する各行の構成比を計算するなら、=B2/SUM($B$2:$B$10)と入力します。
分子のB2は下へコピーするとB3、B4と変化します。
分母の合計範囲は常に同じなので、開始セルと終了セルの両方を固定します。
構成比を求める数式例です。
=B2/SUM($B$2:$B$10)
範囲指定では、開始セルだけでなく終了セルにも$記号を付けることを忘れないようにしましょう。
VLOOKUP関数とXLOOKUP関数の参照範囲
VLOOKUP関数やXLOOKUP関数で検索表を参照する場合も、検索範囲は固定するのが基本です。
たとえば別表のA2からC20に商品一覧があるなら、VLOOKUP関数の範囲は$A$2:$C$20と指定します。
検索値だけは行ごとに変わるため、A2などの相対参照にします。
範囲を固定しないまま下へコピーすると、検索表そのものがずれて、検索漏れや誤った価格表示につながる可能性があります。
検索関数では検索値を動かし、マスターテーブルの範囲を固定するという役割分担が基本です。
【操作のポイント】関数内に複数の参照がある場合は、どれが明細データで、どれが共通条件またはマスター表かを分けてから$記号を付けましょう。
まとめ エクセルのセルずれを防ぐ数式固定方法
エクセルで数式を固定するには、コピーしても動かしてはいけないセルに$記号を付けることが基本です。
$A$1は行と列を固定する絶対参照であり、税率、割引率、目標値、固定の検索範囲などに適しています。
A$1は行だけを固定し、$A1は列だけを固定する複合参照です。
月別表やクロス集計表では、横方向と縦方向で参照の動き方が異なるため、複合参照が役立ちます。
数式のセル参照を変更したいときは、参照部分にカーソルを置いてF4キーを押すと、相対参照、絶対参照、複合参照を効率よく切り替えられます。
コピー後は計算結果だけでなく、数式バーで参照先が正しく固定されているかを確認しましょう。
相対参照は行ごとの計算に使い、絶対参照は全行で共通の条件に使うという考え方を身に付けると、エクセルの数式ミスを大きく減らせます。