Googleスプレッドシートで数式を入力するとき、セル参照の扱いに悩んだことはありませんか。特に、行全体や列全体に同じ計算を一括適用したい場合、絶対参照を正しく使わないと意図しない結果になることがあります。この記事では、絶対参照の4つのパターン($A$1, A$1, $A1, A1)の違いと、行全体・列全体への一括適用方法を具体例とともに解説します。
絶対参照を使いこなすことで、数式をコピーしても正しいセルを参照し続けることができます。たとえば、売上表の各行に消費税を計算する場合や、単価表の列全体に割引率を適用する場合などです。この記事を読めば、絶対参照の仕組みが理解でき、スプレッドシートの作業効率が大幅に向上します。
【要点】絶対参照を使った行全体・列全体への一括適用方法
- $記号による行固定・列固定: 数式中のセル参照に「$」を付けることで、行または列を固定します。コピーしても固定部分が変わらないため、一括適用が可能になります。
- 絶対参照($A$1): 行と列の両方を固定します。常に同じセルを参照する場合に使います。
- 複合参照(A$1, $A1): 片方だけ固定します。行全体に固定列を適用したい場合は$A1、列全体に固定行を適用したい場合はA$1を使用します。
ADVERTISEMENT
目次
絶対参照の基本と行全体・列全体への適用の前提
セル参照には「相対参照」「絶対参照」「複合参照」の3種類があります。相対参照(A1)は数式をコピーすると参照先が自動的にずれます。たとえば、セルB2に=A1と入力し、下方向にコピーすると、B3には=A2、B4には=A3となります。これが一般的な挙動です。
一方、絶対参照は「$」記号を使って行や列を固定します。$A$1と書くと、数式をどこにコピーしても常にセルA1を参照します。複合参照は、行だけ固定(A$1)または列だけ固定($A1)できます。
行全体に一括適用したい場合は、参照先の行番号を固定($1)します。列全体に一括適用したい場合は、列文字を固定($A)します。これを理解していないと、数式をコピーしたときに参照がずれてエラーになります。
絶対参照を使った行全体・列全体への一括適用手順
ここからは、具体的な操作手順を説明します。以下の例では、A列に単価、B列に数量、C列に小計(単価×数量)を計算する表を想定します
行全体に固定の列を参照する場合(複合参照 $A1)
たとえば、商品一覧表の各行に対して、別シートの消費税率(セルF1)を掛けたい場合です。税率がF1にあり、各行の金額に税率を適用するとき、列は常にF列を参照し、行は各行に合わせてずらしたいので、$F1と書きます。
- 計算式を入力するセルを決める
たとえば、D2セルに=C2*$F$1と入力します。ただし、この式を下方向にコピーする場合、$F$1は絶対参照なので固定されますが、C2は相対参照でC3、C4と変わります。これで税率は常にF1を参照できます。 - 数式を入力してコピーする
D2に=C2*$F$1と入力し、Enterキーを押します。次にD2の右下のフィルハンドルをダブルクリックするか、下方向にドラッグして、D3以降にコピーします。すると、D3には=C3*$F$1、D4には=C4*$F$1というように、税率が固定されたまま行がずれていきます。
列全体に固定の行を参照する場合(複合参照 A$1)
たとえば、単価表に割引率(セルB1)を適用して、各行の割引後の価格を計算したい場合です。割引率は1行目に固定されているので、B$1と書きます。
- 計算式を入力するセルを決める
B2に=A2*(1-B$1)と入力します。この式を右方向にコピーすると、B$1は1行目を固定、列はBからC、Dと変わりますが、行は固定のままです。しかし、この場合は列を固定したいわけではありません。正しくは、割引率がB1にあるなら、列も固定して$B$1にすべきです。複合参照で列を固定したいときは、行ではなく列の文字に$を付けます($A1)。
混乱しやすいので、列全体に固定行を適用する場合は、参照先の行を固定(A$1)ではなく、固定する列を指定するのが正解です。たとえば、列方向にコピーするとき、行は固定したいが列はずらしたいなら、A$1ではなく$A1と書きます。列全体に固定行を適用するシナリオは、実は行固定と列固定の組み合わせになります。具体的には、固定したい行が1行目にあって、それを列方向にコピーして各行の計算に使う場合、参照先のセルがB1なら、$B$1と絶対参照にします。複合参照で列だけ固定するのは、行方向にコピーしたいが列は固定したい場合です。
絶対参照($A$1)を使って常に同じセルを参照する
たとえば、売上表の各行に消費税率(セルH1)を掛ける場合、税率はどこにコピーしてもH1を指す必要があります。このときは絶対参照$H$1を使います。
- 数式を入力する
D2に=C2*$H$1と入力します。$H$1は絶対参照なので、列も行も固定されます。 - 数式をコピーする
D2のフィルハンドルを下方向にドラッグすると、D3には=C3*$H$1、D4には=C4*$H$1と、税率部分は常にH1を指します。
複合参照で行または列だけを固定する
複合参照は、行だけ固定(A$1)または列だけ固定($A1)の2種類があります。行だけ固定する場合は、数式を下方向にコピーしても行番号が変わらず、列はずれます。列だけ固定する場合は、右方向にコピーしても列文字が変わらず、行はずれます。
| 記法 | コピー方向 | 固定される部分 | ずれる部分 |
|---|---|---|---|
| $A1 | 縦方向にコピー | 列A | 行番号1,2,3… |
| $A1 | 横方向にコピー | 列A | 行番号はずれない(1固定) |
| A$1 | 縦方向にコピー | 行1 | 列A,B,C… |
| A$1 | 横方向にコピー | 行1 | 列A,B,C… |
たとえば、各行のデータに対して、ある列の固定値を掛けたい場合(行方向にコピーするが列は固定)は$A1を使います。逆に、各列のデータに対して、ある行の固定値を掛けたい場合(列方向にコピーするが行は固定)はA$1を使います。
絶対参照を使うときの注意点とよくある失敗
コピー後に参照がずれてエラーになる
絶対参照を付け忘れると、数式をコピーしたときに参照先がずれてしまい、#REF!エラーや意図しない計算結果になります。たとえば、税率を$H$1と固定せずにH1と書くと、下方向にコピーしたときにH2、H3とずれてしまい、税率が変わってしまいます。
複合参照の方向を間違える
行方向にコピーするときに列を固定したい場合、$A1と書くべきですが、A$1と書いてしまうことがあります。A$1は行が固定されるため、下方向にコピーすると行番号が変わらず、結果的に別のセルを参照してしまいます。コピーする方向を意識して、固定する部分に$を付けてください。
絶対参照と相対参照を混在させる
1つの数式の中で、セルによって参照モードを変えることは可能です。ただし、意図が複雑にならないように注意しましょう。たとえば、=A1*$B$1+C$1のような式は、A1は相対、$B$1は絶対、C$1は行固定です。このような混在は、コピー先での挙動を予測しにくくするため、可能な限りシンプルにしたほうがよいでしょう。
フィルハンドルで一括適用するときの注意
フィルハンドルをダブルクリックすると、隣接する列にデータがある場合は自動的に最終行までコピーされます。ただし、数式の参照が正しいか事前に確認してください。特に空白行があるとそこでコピーが止まるため、一括適用できない場合があります。その場合は手動で範囲を選択してコピーするとよいでしょう。
ADVERTISEMENT
絶対参照の4パターンの比較: 使用場面と挙動
| 記法 | 種類 | コピーしたときの挙動 | 使用例 |
|---|---|---|---|
| A1 | 相対参照 | 列も行もずれる | 通常の引き算や掛け算で、行ごと・列ごとに参照をずらしたい場合 |
| $A$1 | 絶対参照 | 列も行も固定 | 共通の定数や税率、単価など、常に同じセルを参照したい場合 |
| $A1 | 列固定(複合参照) | 列は固定、行はずれる | 列方向に固定した値を各行に適用する場合(例:各商品に同じ列の割引率を掛ける) |
| A$1 | 行固定(複合参照) | 行は固定、列はずれる | 行方向に固定した値を各列に適用する場合(例:各月に同じ行の予算比率を掛ける) |
この表を参考に、自分のデータ構造に合わせて適切な参照モードを選んでください。
まとめ
この記事では、絶対参照を使って行全体・列全体に数式を一括適用する方法を解説しました。$記号を使って行や列を固定することで、数式コピー時の参照ずれを防げます。複合参照($A1やA$1)は、片方向だけ固定したいときに便利です。まずは簡単な表で練習し、絶対参照の挙動を体感してみてください。応用として、IMPORTRANGE関数と組み合わせて別ファイルのデータを参照する際にも絶対参照が必要になることがあります。ぜひ日々の業務で活用してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
