執筆:EugeneAmnis
セル参照と演算子
Excelの醍醐味として他のセルの内容が簡単にセル参照で流用できる事が挙げられます。基本中の基本ではありますが、 案外奥が深いので説明をします。それと演算子の説明を行います。セル参照は演算子を用いる事で大きく表現の幅が広がります。
セル参照
セル参照は大まかに3種類があります。この3種類にシートやブックの参照方法を組み合わせて使用して行きます。
- 相対参照
- 絶対参照
- 構造化参照
相対参照
セルに** = (イコール)**を入力し、適当なセルをクリックした際に入力される形のものです。
= A1
相対参照の入力されているセルをコピーやオートフィルをすると参照先のセルアドレスが変更されます。 つまり、ある起点から何番目の位置にあるのかを覚える際にある起点が常に更新されるという事です。 この機能のおかげでオートフィルが役に立っています。
絶対参照
セルアドレスに$を付けると絶対参照になります。行ごと、列ごとに指定できます。
= $A$1
絶対参照の入力されているセルをコピーやオートフィルしても参照先のセルは変更されません。 つまり、ある起点から何番目の位置にあるのかを覚える際にある起点が変更されないという事です。 オートフィルでも変更されたら困る部分は絶対参照で入力します。
オートフィルイメージ
参照先 | 相対参照 | 式 | 絶対参照 | 式 |
---|---|---|---|---|
1 | 1 | =B3 | 1 | =$B$3 |
2 | 2 | =B4 | 1 | =$B$3 |
3 | 3 | =B5 | 1 | =$B$3 |
4 | 4 | =B6 | 1 | =$B$3 |
5 | 5 | =B7 | 1 | =$B$3 |
行ごと、列ごとの絶対参照例
参照先B | 参照先C | =$B3 | =$B3 | =B$3 | =B$3 |
---|---|---|---|---|---|
1 | 11 | 1 | 1 | 1 | 11 |
2 | 12 | 2 | 2 | 1 | 11 |
3 | 13 | 3 | 3 | 1 | 11 |
4 | 14 | 4 | 4 | 1 | 11 |
5 | 15 | 5 | 5 | 1 | 11 |
構造化参照
構造化参照はテーブルに使用される参照方法です。テーブル名とテーブル列で指定します。
=テーブル名[テーブル列]
SUM関数などの範囲を引数とする関数の場合、テーブルではない表の更新は複雑になってしまいますが、構造化参照だと簡単になります。 また、@を使用するとそのセルと同じ行のセルの値のみが戻ってきます。
=テーブル名[@テーブル列]
シート、ブックの参照
別のシートからの参照は!を使用します。
= シート名!セルアドレス
別のブックを参照する場合は[ブック名]を使用します。ただし、参照先のブックが開いていない場合はパスが必要になります。
参照先ブックが開いている場合
=[参照先ブック名(拡張子つき)]シート名!セルアドレス
参照先ブック名が開いていない場合
='参照先ブックまでの絶対パス[参照先ブック名(拡張子つき)]シート名'!セルアドレス
パスを入力するのは大変なので、参照先のブックを開いた状態で入力することをお勧めします。
演算子
Excelの演算子は4種類あります。
- 算術演算子
- 比較演算子
- 文字列演算子
- 参照演算子
演算子には優先順位があり、各演算子を組み合わせて使用する際はその優先順位に従います。数式と同じで 同じ優先順位の場合は左から計算され、()で囲むと優先順位が変更されます。
優先順位
優先度 | 演算子 |
---|---|
1 | 算術演算子 |
2 | 比較演算子 |
3 | 文字列演算子 |
4 | 参照演算子 |
算術演算子
算術を実行するための演算子です。使用方法と優先順位は以下です。
優先度 | 演算子 | 処理 | 例 |
---|---|---|---|
1 | - | 負号 | |
2 | % | 百分率 | 10% = 10.00% |
3 | ^ | べき乗 | 2^3=8 |
4 | * | 乗算 | 2*3=6 |
4 | / | 除算 | 6⁄2=3 |
5 | + | 加算 | 2+3=5 |
5 | - | 減算 | 6-2=0 |
比較演算子
2つの値を比較し、真(TRUE,1)または偽(FALSE,0)を返します。使用方法は以下です。
演算子 | 例 | 結果 |
---|---|---|
= | =if(1=1,1,0) | 1 |
< | =if(2<3,1,0) | 1 |
> | =if(2>3,1,0) | 0 |
<= | =if(2<=3,1,0) | 1 |
>= | =if(2>=3,1,0) | 0 |
<> | =if(1<>1,1,0) | 0 |
文字列演算子
文字列連結演算子&のみがあります。 & の前後の文字を連結します。
入力
= "ABC" & "DEF"
結果
ABCDEF
参照演算子
セル範囲を参照するための演算子です。:(コロン) ,(カンマ) (半角スペース)があります。 ()は使用不可です。
参照表
A | B | C | |
---|---|---|---|
1 | a1 | b1 | c1 |
2 | a2 | b2 | c2 |
3 | a3 | b3 | c3 |
4 | a4 | b4 | c4 |
5 | a5 | b5 | c5 |
:(コロン)
連続したセル範囲を指定します。左上のセルアドレスから右下のセルのアドレスで指定します。
入力
A2:C4
結果
a2 b2 c2
a3 b3 c3
a4 b4 c4
,(カンマ)
隣接していないセルを参照するのに使用します。セルアドレスをカンマで区切って指定して行きます。
入力
A1,B3,A5,C5
結果
a1 b3 a5 c5
(半角スペース)
2つの範囲の交差範囲(重なった部分)が戻ってきます。
入力
A2:C2 B1:B5
結果
b2
セル参照は基本ではありますが、これが疎かだとマクロの自動記録などで思った通りの結果にならなかったりします。 また、構造化参照を使用すると保守性が大幅に向上するのでお勧めです。