Excelで数式をコピーしたとき、参照していたセルや集計範囲までずれてしまい、計算結果が想定どおりにならないことがあります。
この問題は、相対参照と絶対参照の違いを理解し、必要な箇所にドル記号を付けることで解決できます。
売上表の税率、単価表の参照範囲、検索関数の表範囲など、固定すべき場所は業務シートごとに異なります。
セル番地の前にドル記号を付けると、数式をコピーしても行または列の参照を固定できます。
列と行を両方固定する書き方は $A$1、列だけを固定する書き方は $A1、行だけを固定する書き方は A$1 です。
この記事では、Excelで範囲を固定する数式の作り方から、関数別の参照範囲の考え方、コピー時の確認方法までを解説します。
エクセルで範囲を固定する方法【ドル記号による絶対参照】
それではまず、数式・関数で参照範囲を動かさないための基本操作について解説していきます。
| A | B | C | D |
|---|---|---|---|
| 商品 | 価格 | 税率 | 税込価格 |
| ノート | 500 | 10% | =B2*(1+$C$2) |
| ペン | 200 | 数式を下へコピー |
絶対参照の基本構造
絶対参照とは、数式を別のセルへコピーしても参照先を変えない指定方法です。
たとえば、C2セルに税率があり、各商品の価格に同じ税率を掛ける場合、税率のセルは常にC2を参照し続ける必要があります。
このとき、D2セルに =B2*(1+$C$2) と入力します。
=$C$2 のように列記号Cと行番号2の両方にドル記号を付けると、横方向・縦方向のどちらへコピーしてもC2を参照します。
コピー先の数式だけを変化させたい場合は、変えてはいけないセルを絶対参照にすることが重要です。
数式の中でB2は商品ごとの価格なので相対参照のままにし、税率だけを固定します。
このように、変化する値と共通で使う条件値を分けて考えると、絶対参照の必要な箇所を判断しやすくなります。
【操作のポイント】固定するセルを先に決め、列と行の両方を固定したい場合はセル番地のすべてにドル記号を付けます。
F4キーによる参照形式の切り替え
ドル記号はキーボードで直接入力できますが、Windows版ExcelではF4キーを使うと効率的です。
数式の入力中に固定したいセル番地へカーソルを置き、F4キーを押すと参照形式が順番に切り替わります。

最初は $C$2、次に C$2、次に $C2、最後に C2 の順に変化します。
ノートパソコンでは、キーボードの設定によりFnキーとF4キーを同時に押す必要がある場合もあります。
数式バーでセル番地を選択してから操作すると、意図しない部分が変わる失敗を防げます。
F4キーは数式を確定する前に使用するショートカットであり、セルを選択しただけの状態では参照形式を変更できません。
【操作のポイント】数式編集中にセル番地へカーソルを置き、F4キーを必要な回数だけ押して固定方法を選びます。
コピー後の数式確認
D2セルの数式を下方向へオートフィルすると、D3では =B3*(1+$C$2) のように変化します。
価格の参照先はB2からB3へ移動しますが、税率の参照先はC2のままです。

コピー後のセルをクリックし、数式バーで参照先を確認しましょう。
税率のような共通条件を相対参照のままにすると、D3ではC3、D4ではC4を参照し、空欄や別の値を掛けてしまう可能性があります。
数式の表示を切り替えたいときは、数式タブの数式の表示を利用すると、シート内の数式構造をまとめて確認できます。
入力後は最初のコピー先だけでなく、最終行付近の数式も確認すると、途中で参照範囲が崩れていないか把握できます。
【操作のポイント】オートフィル後は、固定したセル番地にドル記号が残っているか数式バーで確認します。
相対参照・絶対参照・複合参照の使い分け
続いては、コピー方向に合わせた参照形式の選び方を確認していきます。
| 参照形式 | 数式例 | コピー時の動き |
|---|---|---|
| 相対参照 | A1 | 列と行が移動 |
| 絶対参照 | $A$1 | 列と行が固定 |
| 複合参照 | $A1 または A$1 | 列または行を固定 |
相対参照が向く計算表

相対参照は、コピー先に応じて参照先も同じ距離だけ移動する形式です。
同じ行に数量と単価があり、金額を計算する場合は、=B2*C2 のような相対参照が適しています。
この数式を下へコピーすると、次の行では =B3*C3 となり、各行のデータを自然に計算できます。
明細行ごとに異なるセルを計算する表では、基本的に相対参照を残すのが自然です。
すべてを絶対参照にしてしまうと、どの行でも最初のデータだけを参照する数式になり、集計表として正しく機能しません。
【操作のポイント】明細ごとに参照先を移動させる計算は、ドル記号を付けない相対参照で作成します。
行だけを固定する横方向の計算
行だけを固定する複合参照は、表を右方向へコピーする計算で役立ちます。
たとえば、B1からM1に月名が並び、A2からA10に商品名が並ぶクロス集計表を考えます。
売上率の基準が1行目にある場合、数式内の基準行は B$1 のように指定します。
右へコピーすると列はC、D、Eへ変わりますが、行番号1は変わりません。
=B2*B$1 は、下へコピーすると商品行だけが変化し、右へコピーすると月列だけが変化する計算式です。
行番号の前だけにドル記号を置くと、上下へのコピーで行番号を固定できます。
【操作のポイント】横に展開する表で見出し行を使うときは、行番号だけを固定する B$1 を検討します。
列だけを固定する縦方向の計算
列だけを固定する複合参照は、左端の項目列を基準に横方向へ数式をコピーするときに便利です。
たとえば、A列に数量があり、B列以降に異なる単価条件を並べる場合、数量の参照は $A2 とします。

右へコピーしてもA列の数量を参照し続け、下へコピーしたときだけ行番号が変わります。
= $A2*B$1 のように組み合わせれば、数量は常にA列、単価は常に1行目という二方向の表にも対応できます。
複合参照は、表のどの方向にコピーするかを先に考えると迷いません。
下へコピーするなら固定すべき列を確認し、右へコピーするなら固定すべき行を確認するという順番で考えると理解しやすくなります。
【操作のポイント】縦軸の項目列を固定したいときは、列記号の前だけにドル記号を付けた $A2 を使います。
SUM・IF・VLOOKUPで固定する参照範囲
続いては、よく使う関数で参照範囲を固定する方法を確認していきます。
| A | B | C | D |
|---|---|---|---|
| 商品コード | 数量 | 単価 | 金額 |
| A001 | 3 | =VLOOKUP(A2,$G$2:$H$10,2,FALSE) | =B2*C2 |
| A002 | 5 | 下へコピー | 下へコピー |
SUM関数で集計範囲を固定する方法
SUM関数では、合計対象の範囲を絶対参照にすると、コピー先でも同じ範囲を集計できます。
たとえば、B2からB10の合計を複数の計算式で使うなら、=SUM($B$2:$B$10) と入力します。
=SUM($B$2:$B$10) は、開始セルB2と終了セルB10をどちらも固定するため、数式を移動しても集計対象が変わりません。
一方、行ごとの累計を計算する場合は、=SUM($B$2:B2) のように開始位置だけを固定します。
この数式を下へコピーすると、B2からB3、B2からB4というように終点だけが伸び、累計計算になります。
範囲の両端を固定するのか、開始位置だけを固定するのかで、SUM関数の役割は大きく変わります。
【操作のポイント】全体合計には $B$2:$B$10、累計には $B$2:B2 のように、範囲の増減を意識して指定します。
IF関数で判定基準を固定する方法
IF関数で合格点や目標値を判定する場合、判定基準のセルを固定する必要があります。
たとえば、F1セルに合格点の80が入力され、B2から得点が並ぶ場合は、=IF(B2>=$F$1,”合格”,”不合格”) とします。
得点B2は行ごとに変化しますが、合格点F1はすべての行で共通です。
基準値を数式内へ直接入力するよりも、基準値を専用セルに置いて絶対参照するほうが、条件変更時の修正漏れを減らせます。
条件式に共通の閾値を使うときは、その基準セルを絶対参照にするのが実務的です。
評価区分が複数ある表では、IF関数の参照先と条件表の範囲を分けて設計すると、後からのメンテナンスも容易になります。
【操作のポイント】判定対象は相対参照、全行共通の合格点や目標値は絶対参照に設定します。
VLOOKUP関数とXLOOKUP関数の表範囲固定
VLOOKUP関数やXLOOKUP関数では、検索する表の範囲を固定しないと、数式を下へコピーした際に検索表までずれます。
VLOOKUP関数の例では、=VLOOKUP(A2,$G$2:$H$10,2,FALSE) と入力します。
A2は検索値なので行ごとに変化しますが、G2からH10の単価表は同じ範囲を使い続けるため絶対参照にします。
XLOOKUP関数でも、=XLOOKUP(A2,$G$2:$G$10,$H$2:$H$10,”該当なし”) のように検索範囲と戻り範囲を固定します。
検索値だけを動かし、マスター表の範囲は固定するという考え方が検索関数の基本です。
【操作のポイント】検索関数では、検索値以外のマスター範囲にドル記号を付けてからオートフィルします。
数式コピーとオートフィルの操作手順
続いては、固定した数式を効率よくコピーする操作を確認していきます。
| A | B | C |
|---|---|---|
| 数量 | 単価 | 税込金額 |
| 2 | 500 | =A2*B2*(1+$F$1) |
| 4 | 300 | オートフィルでコピー |
フィルハンドルで下方向へコピーする操作
数式を入力したセルを選択すると、選択枠の右下に小さな四角形が表示されます。
この四角形はフィルハンドルと呼ばれ、下方向へドラッグすると数式を連続コピーできます。
隣接する列にデータが連続している場合は、フィルハンドルをダブルクリックすると、データ末尾まで自動で数式をコピーできます。
オートフィルでは相対参照だけがコピー先に合わせて変わり、絶対参照は固定されたままです。
途中に空白行がある場合はダブルクリックで期待する範囲までコピーされないことがあるため、ドラッグやコピー貼り付けを使いましょう。
【操作のポイント】最初の数式を正しく作ってからフィルハンドルを使うと、複数行へ同じルールを反映できます。
コピー貼り付け時の参照範囲
CtrlキーとCキーで数式セルをコピーし、貼り付け先でCtrlキーとVキーを押しても、通常は相対参照が移動します。
たとえば、D2の =B2*(1+$C$2) をD3へ貼り付けると、B2だけがB3へ変わります。
数式そのものを完全に同じ文字列で貼り付けたい場合は、数式バーから文字列をコピーする方法があります。
貼り付けた後に数値ではなく数式を確認し、意図しないセル参照が発生していないか確認する習慣が大切です。
コピー元と貼り付け先の位置関係が大きく異なる場合ほど、相対参照の移動量も大きくなります。
【操作のポイント】コピー貼り付け後は、数式バーで相対参照と絶対参照の変化を確認します。
名前の定義を使った範囲管理
何度も使う固定範囲には、名前の定義を利用する方法もあります。
たとえば、単価表のG2からH10を選択して名前ボックスに「単価表」と入力すると、数式内でその名前を使えます。
VLOOKUP関数なら、=VLOOKUP(A2,単価表,2,FALSE) のように記述できます。
名前を付けた範囲は参照先が分かりやすく、長い絶対参照を繰り返すより読みやすい数式になります。
ただし、名前の定義はブック全体に影響することもあるため、ほかの利用者が理解できる名称を付けることが大切です。
【操作のポイント】繰り返し利用する表範囲には、内容が分かる名前を付けて数式の可読性を高めます。
固定範囲がずれる原因と修正方法
続いては、数式の参照範囲がずれる代表的な原因と修正方法を確認していきます。
| 症状 | 原因 | 修正例 |
|---|---|---|
| 税率が空欄を参照する | C2が相対参照 | $C$2へ変更 |
| 検索表がずれる | 表範囲が相対参照 | $G$2:$H$10へ変更 |
| 累計が同じ値になる | 終点まで固定 | $B$2:B2へ変更 |
ドル記号の付けすぎによる計算ミス
参照範囲を固定したい気持ちから、すべてのセル番地にドル記号を付けると、明細行の計算が更新されなくなります。
たとえば、=$B$2*$C$2 を下へコピーすると、すべての行でB2とC2だけを計算します。
行ごとに異なる数量と単価を計算したいなら、B2とC2は相対参照のままにする必要があります。
固定すべきなのは共通の条件や検索表であり、明細データそのものではありません。
数式を作る前に、コピーして変化させたい参照先と、変化させたくない参照先を紙に分けて考えるとミスを減らせます。
【操作のポイント】数式内のすべてを固定せず、コピー時に変えてよい参照先は相対参照として残します。
範囲の開始位置と終了位置の確認
SUM関数やCOUNTIF関数では、範囲の開始セルと終了セルのどちらを固定するかが重要です。
固定範囲の例は $B$2:$B$100 ですが、下へ伸びる累計では $B$2:B2 を使います。
=COUNTIF($B$2:$B$100,E2) では集計対象を固定し、条件のE2だけをコピー先に合わせて変化させます。
範囲を選択してからF4キーを押すと、範囲の両端に絶対参照が付きます。
数式バーで開始セルと終了セルの両方を確認し、片方だけが意図せず移動していないか確認しましょう。
【操作のポイント】範囲を使う関数では、開始位置と終了位置を別々に確認して固定方法を決めます。
別シート参照とブック参照の固定
別シートのセルを参照する場合も、同じようにドル記号でセル番地を固定できます。
たとえば、設定シートのB2に税率がある場合は、=A2*(1+設定!$B$2) のように入力します。
シート名が変更されると数式の表示も自動調整されますが、参照先のセル位置を固定したい場合はドル記号が必要です。
別シートの共通設定を参照する数式では、シート名だけでなくセル番地も固定することが基本です。
外部ブックを参照する数式は、参照元のファイルを移動または削除するとリンク切れになる可能性があります。
【操作のポイント】設定値を別シートに置く場合は、設定!$B$2 のようにセル番地を絶対参照で指定します。
まとめ エクセルで数式・関数の参照範囲を固定する方法
| 目的 | 参照形式 |
|---|---|
| 共通の税率や基準値を固定 | $A$1 |
| 見出し行だけを固定 | A$1 |
| 項目列だけを固定 | $A1 |
Excelで範囲を固定するには、数式内で動かしたくないセルや範囲にドル記号を付けます。
列と行を固定する $A$1、行だけを固定する A$1、列だけを固定する $A1 を使い分けることで、縦方向・横方向のコピーに対応できます。
SUM関数では合計範囲、IF関数では判定基準、VLOOKUP関数やXLOOKUP関数では検索表の範囲を固定する場面が多くなります。
数式をコピーする前に、変化すべき参照先と固定すべき参照先を区別することが、計算ミスを防ぐ最も確実な方法です。
F4キーで参照形式を切り替え、オートフィル後に数式バーで確認する流れを習慣にしましょう。