目次
Excelの数式を書くとき、セル参照の$は多くのユーザーを混乱させます。 しかし、説明はとても簡単です。 Excelのセル参照のドル記号はただ一つの目的を持っています。数式が他のセルにコピーされたときに参照を変更するかどうかをExcelに伝えます。 この短いチュートリアルでは、この素晴らしい機能についての完全な詳細を説明します。
絶対参照、相対参照、複合参照の違いを理解すれば、Excel の数式や関数を使いこなすことができるようになります。
Excelの数式でドル記号($)を見て、なんだろうと思ったことはありませんか。 確かに、A1、$A$1、$A1、A$1のように、1つの同じセルを4通りの方法で参照することが可能です。
Excelのセル参照にあるドル記号は、数式を他のセルに移動またはコピーしたときに、その参照をどのように扱うかをExcelに指示します。 簡単に言うと、行と列の座標の前にドル記号を使用すると、絶対セル参照となり、変更されません。 ドル記号がない場合は、相対参照となり、変更されることになります。
1つのセルに対して数式を書くのであれば、どの参照形式を使っても正しい数式が書けます。 しかし、数式を他のセルにコピーする場合は、適切なセル参照形式を選ぶことが重要です。 運がいいと思ったら、コイン投げをしてください :) 本格的に学びたい場合は、数分かけてエクセル、いつどれを使うか。
Excelのセル参照とは何ですか?
Excelのセル参照とは、簡単に言うとセルの番地で、数式で使いたい値がどこにあるかをMicrosoft Excelに伝えるものです。
例えば、セルC1に単純な数式=A1を入力すると、ExcelはセルA1からC1へ値を引き込みます。
すでに述べたように、数式さえ書けば 単細胞 ドル記号($)の有無にかかわらず、どのような参照型を使用しても、結果は同じです。
しかし、もしあなたが 動く または コピー 次のセクションでは、各セル参照の種類に関する詳細な説明と式の例を示します。
注)別に A1参照スタイル ここで、列は文字で、行は数字で定義されます。 R1C1参照スタイル ここで、行と列は数字で識別される(R1C1 は 1 行目、1 列目を示す)。
A1はExcelのデフォルトの参照スタイルであり、ほとんどの場合使用されているため、このチュートリアルではA1タイプの参照のみを説明します。 現在、誰かがR1C1スタイルを使用している場合、それをオフにするには、次のようにクリックします。 ファイル > オプション > 計算式 のチェックを外してください。 R1C1参照スタイル ボックスを使用します。
Excel の相対セル参照($記号なし)。
A 相対参照 のように、行と列の座標から $ 記号を除いたセルアドレスを Excel で指定します。 A1 .
セルへの相対参照を持つ数式を別のセルにコピーすると、行と列の相対位置に基づいて参照が変更されます。 Excel のデフォルトでは、すべての参照は相対です。 次の例では、相対参照がどのように機能するかを示しています。
セルB1に次のような数式があるとします。
=A1*10
この数式をコピーすると 別段 を同じ列のセルB2に入力すると、ExcelはA列の各行の値を10倍することを想定しているので、数式は2行目(A2*10)に対して調整されます。
への相対セル参照を持つ数式をコピーすると 別枠 を同じ行に配置すると、Excel は 欄参照 をもとにしたものです。
また、相対的なセル参照を持つExcelの数式をコピーまたは移動すると 他行他列 , 両方 行と列参照 が変わります。
このように、Excelの数式でセルの相対参照を利用すると、ワークシート全体で同じ計算を行うことができ、非常に便利です。 よりよく説明するために、実際の例で説明しましょう。
Excelで相対参照を使用する - 計算式の例
ワークシートにUSD価格の列(B列)があり、EURに変換したいとします。 USD - EUR変換レート(執筆時点では0.93)がわかっているので、2行目の数式は次のように簡単になります。 =B2*0.93
ドル記号を使わずに、Excelの相対セル参照を使っていることに注意してください。
Enterキーを押すと、数式が計算され、その結果がすぐにセルに表示されます。
ヒント:Excelのデフォルトでは、すべてのセル参照は相対参照です。 したがって、数式を書くときに、セル参照を手入力する代わりに、ワークシート上の対応するセルをクリックして、相対参照を追加することができます。
への 数式を列の下にコピーする マウスを塗りつぶしハンドル(選択したセルの右下隅にある小さな四角)に合わせると、カーソルが細い黒い十字に変わるので、そのままドラッグして、自動塗りつぶししたいセル上に持っていきます。
これで完了です!数式は、各セルに対して適切に調整された相対参照で他のセルにコピーされます。 各セルの値が正しく計算されていることを確認するには、いずれかのセルを選択して数式バーで数式を表示します。 この例では、セルC4を選択しています。数式内のセル参照が4行目の相対参照になっており、まさにそうなっていることが分かります。
Excelの絶対セル参照($記号付き)
An 絶対参照 のように、行や列の座標にドル記号($)をつけたセルアドレスをExcelで指定します。 $A$1 .
ドル記号は、指定されたセルへの参照を固定するので もちあい つまり、セル参照に$を使えば、Excelで数式をコピーしても参照を変更する必要がないのです。
例えば、セル A1 に 10 が入っていて、それを 絶対セル参照 ( $A$1 )を用いると、式 =$A$1+5
は、その数式が他のどのセルにコピーされても、常に 15 を返します。 一方、同じ数式を 相対セル参照 ( A1 をコピーして、列内の他のセルにコピーすると、各行で異なる値が計算されます。 次の画像は、その違いを示しています。
注意:Excelの絶対参照は変更されないと言いましたが、実際には、ワークシートの行や列を追加または削除すると、参照するセルの位置が変わります。 上記の例では、ワークシートの最上部に新しい行を挿入すると、Excelは十分に賢く、その変更に合わせて数式を調整します。
実際のワークシートでは、Excelの数式で絶対参照のみを使用することは非常に稀ですが、以下の例に示すように、絶対参照と相対参照の両方を使用する必要がある作業も多くあります。
注:絶対セル参照は、符号を無視した数値の大きさである絶対値と混同してはならない。
1つの数式でセルの相対参照と絶対参照を使用する
数式をコピーする際に、あるセル参照はコピー先の列や行に合わせて調整し、別のセル参照は特定のセルに固定したままという数式が必要になることがよくあります。 つまり、1つの数式で相対セル参照と絶対セル参照を使い分けなければならないのです。
例1.数値計算のためのセルの相対参照と絶対参照
前の例では、米ドルとユーロの価格を使用していますが、数式に為替レートをハードコードしたくない場合があります。 代わりに、いくつかのセル(C1など)にその数値を入力し、次のスクリーンショットに示すようにドル記号($)を使用して数式でそのセル参照を固定することができます。
この数式(B4*$C$1)には、2種類のセル参照があります。
- B4 - 縁故 各行ごとに調整されるセル参照と
- $C$1 - 絶対 数式がどこにコピーされても変更されないセル参照。
この方法の利点は、ユーザーが数式を変更することなく、変動する為替レートに基づいてユーロ価格を計算できることです。 変換レートが変われば、セルC1の値を更新するだけでいいのです。
例2.日付計算のためのセルの相対参照と絶対参照
また、一つの数式でセルの絶対参照と相対参照をよく使うのは 今日の日付に基づいてExcelで日付を計算することです。
B列に納期のリストがあり、C1にTODAY()関数で現在の日付を入力したとします。 知りたいのは、各商品が何日後に出荷されるかですが、これは次の式で計算できます。 =B4-$C$1
そしてまた、数式で2つの参照型を使用しています。
- 相対的 は、最初の納品日のあるセル(B4)に対するもので、このセル参照は、数式が存在する行によって異なるようにしたいからです。
- アブソリュート というのは、今日の日付のセル($C$1)に対して、このセル参照を一定に保ちたいからです。
最後に、常に同じセルを参照するExcelの静的セル参照を作成したい場合は、必ずドル記号($)を数式に含めて、Excelで絶対参照を作成してください。
Excelの混合セル参照
Excelの混合セル参照とは、列文字と行番号のどちらかが固定されている参照のことです。 例えば、$A1とA$1は混合参照です。 しかし、それぞれ何を意味しているのでしょうか? 非常に簡単です。
Excelの絶対参照は、列と行の両方を固定する2つのドル記号($)を含んでいます。 混合セル参照では、一方の座標だけが固定(絶対)で、他方(相対)は行または列の相対位置に基づいて変更されます。
- 絶対列と相対行 この参照タイプを持つ数式が他のセルにコピーされるとき、列文字の前にある $ 記号は、指定された列への参照をロックし、決して変更されません。 ドル記号のない相対行参照は、数式がコピーされる行によって変化します。
- 相対列と絶対行 この参照型では、行の参照は変更されず、列の参照が変更されます。
以下に、両方のセル参照タイプを混在させて使用する例を示しますので、理解しやすくなると思います。
Excelで混合参照を使用する - 計算式の例
この例でも、通貨換算表を使用します。 しかし今回は、米ドル-ユーロの換算だけにとどまりません。 ドル価格を他の多くの通貨に換算するのです。 単式 !
まず始めに、下のスクリーンショットのように、ある行、例えば2行目に変換レートを入力しましょう。 そして、左上のセル(この例ではC5)に、EUR価格を計算する数式を1つだけ記述するのです。
=$B5*C$2
ここで、$B5 は同行のドル価格、C$2 はドル-ユーロの換算レートである。
そして、この数式をC列の他のセルにコピーし、その後、フィルハンドルをドラッグして他の列に同じ数式を自動入力します。 その結果、同じ列の2行目の対応する為替レートに基づいて3種類の価格列が正しく計算されます。 これを確認するには、表の任意のセルを選択して数式バーで数式を表示させます。
例えば、セルD7(GBP列)を選択してみましょう。 ここで表示されるのは、以下の数式です。 =$B7*D$2
は、B7のUSD価格と、D2のUSD-GBP変換レートを掛け合わせたもので、まさにドクターの指示通りです :)
さて、ではなぜExcelがどの値段にどの為替レートを乗せるかを正確に知っているのかを理解しましょう。 お察しの通り、混合セル参照がその役割を果たしています($B5*C$2)。
- $B5 - 絶対列・相対行 ここでは、ドル記号($)を列の文字の前にだけ追加して、列Aへの参照を固定します。 Excelは常にすべての変換に元のUSD価格を使用します。 各行の価格を個別に計算したいので、行の参照($記号なし)は固定されていません。
- C$2 - 相対列・絶対行 すべての為替レートは 2 行目にあるので、行番号の前にドル記号 ($) を付けて行参照を固定します。 これで、数式をどの行にコピーしても、Excel は常に 2 行目の為替レートを探します。 また、列参照は相対なので ($ 記号なし)、数式がコピーされた列で調整されます。
Excelで列や行全体を参照する方法
行数の異なるExcelワークシートを使用している場合、特定の列内のすべてのセルを参照したいことがあります。 列全体を参照するには、次のように列の文字を2回入力し、間にコロンを入力します。 A:A .
全カラムのリファレンス
セル参照と同様に、列全体の参照も、例えば、絶対参照と相対参照が可能です。
- 絶対的な列の参照 , のように、$A:$A
- A:A のような相対的な列の参照
そしてまた、ドル記号($)を使うのは 絶対列参照 を使用すると、数式を他のセルにコピーしても列全体の参照が変わらないように、特定の列にロックすることができます。
A 相対列参照 は、数式を他の列にコピーしたり移動したりすると変化し、同じ列内の他のセルに数式をコピーするとそのまま残ります。
全行程のリファレンス
行全体を参照するには、列の文字の代わりに行番号を入力する以外は、同じ方法を使用します。
- 絶対行参照 , のように、$1:1
- 1:1 のような相対的な行の参照
また、理論的には 混合全列参照 または 合成 ぜんぶ - 行参照。 理論的には」と言ったのは、このような参照を実際に使うことが思いつかないからです。 しかし、例題4は、このような参照を持つ数式が正確に想定通りに動作することを証明しています。
例1.Excelの列全体の参照(絶対参照と相対参照)
B列にいくつかの数値があり、その合計と平均を求めたいとします。 問題は、毎週新しい行がテーブルに追加されるため、固定されたセル範囲に対して通常の SUM() や AVERAGE() 式を書くことはできません。 その代わりに、B列全体を参照することが可能です。
=SUM($B:$B)です。
- ドル記号($)を使って 絶対 ぜんらんさんしょう で、数式をB列にロックします。
=SUM(B:B)
- を作るために、$を使わないで式を書きます。 縁故 ぜんらんさんしょう は、数式を他の列にコピーすると、変更されます。
ヒント:数式を書くときに、列の文字をクリックすると、列全体の参照が数式に追加されます。 セル参照と同様に、Excelはデフォルトで相対参照($記号なし)を挿入します。
同じように、B列全体の平均価格を計算する数式を書きます。
=AVERAGE(B:B)
この例では、列全体の相対参照を使用しているため、数式を他の列にコピーしても適切に調整されます。
注意:Excelの数式で列全体の参照を使用する場合、同じ列内の任意の場所に数式を入力しないでください。 たとえば、同じ列の最後に合計があるように、B列の一番下の空のセルの1つに数式=SUM(B:B)を入力すると、良いアイデアだと思うかもしれません。 これはしないでください!これは、いわゆる、「列全体の参照」を作成します。 循環参照 となり、数式は0を返してしまいます。
例2.Excelの全行参照(絶対・相対)。
Excelシートのデータが列ではなく行で構成されている場合、数式で行全体を参照することができます。 たとえば、2行目の平均価格を計算する方法は次のとおりです。
=平均($2:$2)
- アン 絶対 全列参照 は、ドル記号($)を使用して特定の行にロックされます。
=AVERAGE(2:2)
- a 縁故 全列参照 は、数式が他の行にコピーされたときに変更されます。
この例では、3行のデータがあり、同じ数式をコピーして各行の平均を計算したいので、相対的な行全体の参照が必要です。
例3.最初の数行を除いた列全体を参照する方法
これは非常にトピックな問題です。ワークシートの最初の数行には、導入句や説明情報が含まれていることがよくあり、それらを計算に含めたくありません。 残念なことに、Excel では B5:B のように、B 列の 5 行目から始まるすべての行を含むような参照を使用できません。 そのような参照を追加しようとすると、数式はほとんどの場合、次のように返ります。#NAMEエラーです。
その代わりに指定できるのは 最大列 Excel 2016、2013、2010、および 2007 では、最大で 1,048,576 行と 16,384 列になります。 それ以前の Excel バージョンでは、最大行数は 65,536 で最大列数は 256 になります。
そこで、下の表の各価格欄(B列~D列)の平均を求めるために、セルF2に次の数式を入力し、セルG2、H2にコピーします。
=AVERAGE(B5:B1048576)
SUM関数を使用している場合は、除外したい行を減算することもできます。
=sum(b:b)-sum(b1:b4)です。
例4.Excelで列全体の参照を混在させた場合
先程も少し触れましたが、Excelでは列全体や行全体が混在した参照も可能です。
- A:Aのような混合カラム参照
- 1:1のような混合行参照
では、このような参照を持つ数式を他のセルにコピーするとどうなるか見てみましょう。 仮に、数式 =SUM($B:B)
という数式を右隣のセル(この例ではF2)にコピーすると、次のようになります。 =SUM($B:C)
というのは、最初のBは$記号で固定されていますが、2番目は固定されていないからです。その結果、この式はB列とC列のすべての数値を足し算することになります。実用的な価値があるかどうかはわかりませんが、この仕組みは知っておいた方がいいでしょう。
注意点! Excelの動作が遅くなる可能性があるので、ワークシートであまり多くの列/行全体の参照を使用しないようにしてください。
絶対参照、相対参照、混合参照の切り替え方法(F4キー)
Excelの数式を書くとき、$記号を手入力して相対セル参照を絶対または混合に変更することがもちろんできます。 または、F4キーを押してスピードアップすることもできます。 F4ショートカットが機能するためには、数式編集モードである必要があります。
- 数式を入力したセルを選択します。
- F2キーを押して編集モードに入るか、セルをダブルクリックします。
- 変更したいセル参照を選択します。
- F4キーを押すと、4つのセル参照タイプが切り替わります。
A1のように$記号のない相対セル参照を選択した場合、F4キーを繰り返し押すと、$A$1のように両方のドル記号を持つ絶対参照、絶対行A$1、絶対列$A1、そして相対参照A1へと切り替わり、またA1に戻ります。
注意:セル参照を選択せずにF4を押すと、マウスポインタの左側の参照が自動的に選択され、他の参照タイプに変更されます。
相対参照と絶対参照を理解し、$記号のついたExcelの数式はもう謎ではありませんね。 次回以降も、別のワークシートの参照、3次元参照、構造化参照、循環参照など、Excelのセル参照に関するさまざまな側面を学んでいきます。 その間、お読みいただき、ありがとうございました。来週のブログでご紹介します。