Excel「行と列」、「相対参照と絶対参照と複合参照」について

初心者がExcelを使うときに「もやっとしてしまう」「感覚的になってしまう」というのに「相対参照、絶対参照、複合参照」があると思います。

たとえば「Excel関数」を使うときに、「どのように相対参照、絶対参照、複合参照を使い分けるのだろう?」というもやっとした感覚です。

このもやっとした感覚をすっきりした感覚に変えていきたいと思います。

行と列

まずはじめにおさえておくべきは「行と列」の観念です。

Excelは一番左に数字が、一番上にアルファベットが書かれています。そして「行」とは一番左に書かれている数字のこと、「列」とは一番上に書かれているアルファベットのことです。

Excelの「行」(数字)のイメージは以下の図のとおりです。

つまり「行」とは横に並んでいるセルの集合体のことです。

Excelの「列」(アルファベット)のイメージは以下のとおりです。

つまり「列」とは縦に並んでいるセルの集合体のことです。

相対参照

相対参照とは

相対参照とは、ある一つのセルが他のセルを参照するときに、その2つのセルの位置関係で参照することを言います。

たとえば「F9セル」が「C4セル」を参照する場合、「F9セルから5行上、3列左にあるC4セルを参照する」ということです。

別の言い方をすれば「参照元であるF9セルから5行上、3列左にあるセル(C4セル)を参照先セルとして参照するということです。

実際に数値をあてはめて説明します。たとえば「C4セル」に「10」の値が入っていました。

そして「F9セル」が「C4セル」を相対参照します。

この相対参照は「参照元であるF9セルから5行上、3列左にあるC4セルを参照先として参照する」ため「F9セル」の値は「10」となる訳です。

「F9セル」をコピーして、他のセルに貼り付けた場合

「F9セル」(5行上、3列左のセルを参照するという計算式)をコピーして、これをたとえば「H10セル」に貼り付けた場合、どのようになるのでしょうか。

この場合「H10セル」の計算式は「5行上、3列左のセルを参照する」という計算式なので、「H10セル」から5行上、3列左にある「E5セル」が参照先のセルとなります。

そして参照先の「E5セル」は空欄(0)なので、「E5セル」を参照した「H10セル」も「0」となります。

ここで要望が生まれます。どういう要望かというと「F9セル」をコピーしてどのセルに貼り付けても、「C4セル」を参照先してほしいという要望です。この要望に応えるのが「絶対参照」です。

絶対参照

絶対参照とは

絶対参照とはセルの参照先をひとつのセル(またはひと塊のセル)に固定することです。

言いかえれば参照先のセルにつき、行と列を両方固定してしまうということです。

先ほどの「F9セル」が「C4セル」を参照するという例で説明します。

下図を見て下さい。

「F9セル」が「C4セル」を絶対参照するとは、相対参照(参照元のF9セルから5行上、3列左のセルを参照先にするということ)ではなく、列と行が固定された「C4セル」を参照先として参照するということです。

下図を見て下さい。

つまり相対参照の場合は、たとえば参照元がF9セルからH10セルに移動したとき、H10セルから5行上、3列左のセル(E5セル)を参照元にしますが、絶対参照の場合は参照元がF9セルからH10セルに移動してもC4セルを参照先として絶対的に参照するということです。

絶対参照する場合のキーボードの操作方法

「F9セル」が「C4セル」を絶対参照する場合のキーボードの操作方法ですが、「F9セル」に「=C4」と打ち込んだ後にF4キーを1回押します

そうすると下図のように「F9セル」の計算式が「=$C$4」と表示されます。

この「$」の意味は「固定」という意味です。

つまり「F9セル」の参照先がC列で固定され、かつ4行目で固定されるということです。もっと端的に言うと、C列と4行目が交差するC4セルに参照先が固定されるということです。

「F9セル」をコピーして、他のセルに貼り付けた場合

それではこの「F9セル」をコピーして他のセルに貼り付けた場合どのようになるのでしょうか。

「F9セル」の計算式は「=$C$4」です。つまり参照先は「C4セル」に固定されているということです。

よってこの計算式をどこのセルに貼り付けようが、参照先は「C4セル」に固定されます。

上図のように「H10セル」に貼り付けても、参照先は当然に「C4セル」です。よって「H10セル」の値は「C4セル」を絶対参照して「10」となります。

複合参照

複合参照とは列と行のいずれか片方を固定して参照する方法です。

行固定

行固定とは、その名のとおり「行を固定」することです。

イメージ的には下図のように「4行目に固定」すると「青枠内では横に行き来できるけど、上下には行き来できない」という感じです。

それでは次に計算式をからめて考えます。

たとえば「C4セル」に「10」という値を入れます。そして「F9セル」が「C4セル」を行固定で参照するようにします。

この場合、まず「F9セル」に「=C4」という計算式を入れた後にF4キーを2回押します。そうすると「F9セル」の計算式は「=C$4」となります。

この「=C$4」の計算式の意味は「行は必ず4行目を参照し、列は自分の位置から3列左を参照する」という意味です。

もう少し言うと「行は必ず4行目を参照するが、列は「C4セル」と「F9セル」の位置関係(「C4セル」は「F9セル」の3列左)を参照にする」ということです。

そうすると「F9セル」は「行は必ず4行目を参照し、列は自分の位置から3列左を参照する」ため「C4セル」を参照することになり、「F9セル」=「10」となります。

それでは「F9セル」の計算式である「=C$4」をコピーして、たとえば「H10セル」に貼り付けた場合、どのようになるのでしょうか。

下図を見て下さい。

「F9セル」には「=C$4」という計算式が入っています。

この計算式は「行は必ず4行目を参照し、列は自分の位置から3列左を参照する」という意味でした。

この計算式を「H10セル」にコピーすると、基準が「H10セル」に変わります。

つまり「H10セル」から見て「行は必ず4行目を参照し、列は自分の位置から3列左を参照する」ので、「E4セル」を参照することになります。

そして「E4セル」は空欄(0)なので「H10セル」の値も「0」となります。

列固定

列固定とは、その名のとおり「列を固定」することです。

イメージ的には下図のように「C列に固定」すると「C列内では縦に行き来できるけど、左右には行き来できない」という感じです。

それでは計算式をからめて考えてみます。

たとえば「C4セル」に「10」という値を入れます。そして「F9セル」が「C4セル」を列固定で参照します。

この場合、まず「F9セル」に「=C4」という計算式を入れた後にF4キーを3回押します。そうすると「F9セル」の計算式は「=$C4」となります。

この「=$C4」の計算式の意味は「列は必ずC列を参照し、行は自分の位置から5行上を参照する」という意味です。

もう少し言うと「列は必ずC列を参照するが、行は「C4セル」と「F9セル」の位置関係(「C4セル」は「F9セル」の5行上)を参照にする」ということです。

そうすると「F9セル」は「列は必ずC列を参照し、行は自分の位置から5行上を参照する」ため「C4セル」を参照することになり、「F9セル」=「10」となります。

それでは「F9セル」の計算式である「=$C4」をコピーして、たとえば「H10セル」に貼り付けた場合、どのようになるのでしょうか。

下図を見て下さい。

「F9セル」には「=$C4」という計算式が入っています。

この計算式は「列は必ずC列を参照し、行は自分の位置から5行上を参照する」という意味でした。

この計算式を「H10セル」にコピーすると、基準が「H10セル」に変わります。

つまり「H10セル」から見て「列は必ずC列を参照し、行は自分の位置から5行上を参照する」ので、「C5セル」を参照することになります。

そして「C5セル」は空欄(0)なので「H10セル」の値も「0」となります。

相対参照絶対参照、複合参照の使い分け

Excel上で相対参照、絶対参照、複合参照の使い分けができればいろんな場面で効率化を図ることができます。いくつか例を紹介します。

絶対参照と相対参照の使い分け

たとえば当社はA社~R社に対して甲製品を販売していました。そこでそれぞれの会社に対する「税抜売上高、消費税額、税込売上高をExcelで管理することにしました。

①まずは「税抜売上高」の欄に各々の会社に対する売上高を記入していきます(下図参照)。

②次に各々の会社に対する税抜売上高に係る消費税額を求めます。消費税率は10%なので「税抜売上高×10%」という計算式で消費税額を求めることができます。

計算式の組み方としてはいくつか考えられます。たとえば、それぞれの税抜売上高に10%を乗じる計算式を組んでいくという方法があります(下図参照)。

A社の消費税額の欄(D11セル)を見て下さい。A社の消費税額は「A社に対する売上高4,803,895円×10%」で求めることができます。つまりD11セルにおいて「D10セル×10%」という計算式を組むのです。

この計算式を残りのB社からR社までひとつずつ組んでいくという方法があります。また、D11セルの計算式をB社からR社までの消費税額の欄にコピーして計算式を組むことも可能です。

上記の計算式は相対参照だけを取り入れた計算式です。しかし絶対参照、複合参照を利用した計算式を組むこともできます(下図参照)。

A社の消費税額の欄(D11セル)を見て下さい。A社の消費税額は「A社に対する売上高4,803,895円×10%」で求めることができます。その求め方は「D10セル(税抜売上高)×C5セル(10%)」で求めます。

この場合「D10セルは相対参照に、C5セルは絶対参照」にしておきます。そうしておけばこのD11セルの計算式を他の消費税額の欄にコピーしても各々の会社の消費税額を求めることができます。

コピーした結果が以下の図のとおりです。

B社からR社までの消費税額の欄にはA社の消費税額を求めるための計算式である「D10×$C$5」という計算式がコピーされています。つまり「D10(相対参照)×$C$5(絶対参照)」という計算式がコピーされているのです。

正しくコピーがされているかを確認します。

たとえばL社の消費税額の欄(F18セル)の計算式を見ます(上図参照)。

すると「F17×$C $5」という計算式が組み込まれているのが確認できます。つまりこれは「F18セルから見てひとつ上のセルの値(L社の税抜売上高)にC5セルの値(税率10%)を乗じている」ということです。

よってL社の消費税額は正しく計算されていることが確認できました。

このように計算式の組み方は複数考えられます。その中で「相対参照、絶対参照、複合参照」を上手く取り入れて一番正確で効率的な計算式を自分で組めるのが理想です。

複合参照の使い方

たとえば、当社はA社、B社、C社に甲商品、乙商品、丙商品を販売していました。この場合にどの会社にどの商品をどれだけ販売したかを知るためにExcelの複合参照を利用します。

まずは下図を見て下さい。

少しぼやけていますが、左の表には「商品名(甲商品、乙商品、丙商品)、販売相手(A社、B社、C社)、販売個数」が記載されています。

そこでこの左の表をもとに、右の表で「甲商品、乙商品、丙商品をA社、B社、C社それぞれに対して何個販売したかを集計しましょうということです。

この場合、右表の甲とAが交差する場所(I10セル)に「=SUMIFS($D:$D,$B:$B,I$9,$C:$C,$H10」という計算式を打ち込みます。

SUMIFS関数を知らない人には訳の分からない関数ですが、要は甲とAが交差する場所(I10セル)に「A社に対して甲商品を何個売ったのか?」を集計している訳です。

そしてこの関数である「=SUMIFS($D:$D,$B:$B,I$9,$C:$C,$H10」という計算式は右表の他の空欄にコピーするとすべて集計してくれます。すべて集計されるように複合関数を用いているのです。

計算結果は以下のとおりです。

ポイントは商品は行固定(行固定の複合参照)をし、相手会社は列固定(列固定の複合参照)することです。

商品を行固定することで、参照元がA→B→Cと下に移っていっても行が固定されているため、参照先を9行目で固定することができるのです。

また相手会社を列固定することで、参照元が甲→乙→丙と右に移っていっても列が固定されているため、参照先をH列で固定することができるのです。

最後に

今回はExcelの「行と列」、「相対参照、絶対参照、複合参照」を解説しました。

Excel初心者にとって、つまずく所のひとつは「関数を組むときに、相対参照、絶対参照、複合参照の使い分けがややこしくて分からない」という所だと思います。

そのややこしさを少しでも解消するために「行と列」、「相対参照、絶対参照、複合参照」のイメージと理解が重要だと思います。

このブログがその一助になれば幸いです。

タイトルとURLをコピーしました