Location via proxy:
[ UP ]
[Report a bug]
[Manage cookies]
No cookies
No scripts
No ads
No referrer
Show this form
このページではJavaScriptを使用しています。スクリプトが無効に設定されているとメニュー等が表示されません。
A1
参照形式と
R1C1
参照形式の表記の違い。
R1C1
参照形式という行・列を数字で扱う行列表示方式があります。
列の見出し表示が「
A,B,C
」ではなく「数字」になってしまった!
などと、
Excel
が壊れてしまったように問い合わせてくる方が時々いますが、
A1
参照形式
(列を
A,B,C
・・・で表記する通常の形式)は、
Excel
のデフォルトであり、ほとんどの人がこの形式で計算式などを作っていると思いますから不思議なことではありません。 でも、皆さんにはもっと
Excel
を知って使いこなしていただきたいので、最初のうちに
「絶対参照」
と
「
R1C1
参照形式」
について説明することにしました。
「
R1C1
参照形式」は一般的なものではありません。
当サイトでは、計算式や
VBA
を作成・開発する側の方への説明として、「
R1C1
参照形式」を結構多用し、半ばお勧めしています。
ですが、
Excel
では「
A1
参照形式」がデフォルトであり、一般ユーザーでは「
R1C1
参照形式」そのものを知らないケースも非常に多く見られます。
このことから、開発上では「
R1C1
参照形式」をお勧めするものですが、作成したものを一般に配布する段階では「
A1
参照形式」に戻すようにして下さい。 「
R1C1
参照形式」のまま配布してしまうと、そのワークブックを開いている時に後から開いたワークブックも一時的に「
R1C1
参照形式」になってしまい、その状態で後から開いたワークブックの方を保存すると「
R1C1
参照形式」で保存されるという弊害が発生します。
「
R1C1
参照形式」で運用するのは別に問題があるわけではありませんが、上のコラムにあるような誤解もあるのでご注意下さい。
「相対参照」「絶対参照」の動作を試してみましょう。
「
R1C1
参照形式」が何者か、どう記述するものなのか解らない方も多いでしょうが、とりあえず前ページと同じように「相対参照」「絶対参照」の表記を見てみます。
「
R1C1
参照形式」を知らなくても「
A1
参照形式」から切り替えられるので、その方法で進めます。
「
A1
参照形式」のままで
C3
セルからは相対参照で
A1
セルを参照、
D3
セルからは絶対参照で
A1
セルを参照するように計算式をセットした状態です。
ここまでは前ページの最初の方と同じです。では、これを「
R1C1
参照形式」に変更してみます。
「
Excel
のオプション」で左ペインで「数式」を選択し、「
R1C1
参照形式を使用する」にチェックを付けて「
OK
」をクリックします。
このようになりました。
列方向の見出し「
A, B, C...
」が数字の
1, 2, 3...
になってしまった他、
D3
セルの計算式が「
=R1C1
」に変わっています。
「
A1
参照形式」の時は「
=$A$1
」だったわけですから文字数的には同じですね。
では、
C3
セルを見てみましょう。
C3
セルの計算式が「
=R[-2]C[-2]
」に変わっています。
「
A1
参照形式」の時は「
=A1
」だったわけですから長い計算式になってしまいました。
「
R1C1
参照形式」とは、行列ともに数字となる表示形式のことです。
R1C1
参照形式の「
R
」は「
Row(
行
)
」、 「
C
」は「
Column(
カラム
)
」を意味します。
さらに
R1C1
は「
R
」が先であることから「行⇒列」の順に行列位置を記述します。
A1
参照形式が「列⇒行」の順に行列位置を記述することから「行列」の言葉や数学の行列の表記順位、マクロ
(VBA)
などのインデックスの上位・下位の順にも反するため、 学生さんに
Excel
を学ばせるなら最初から「
R1C1
参照形式」で入った方が良いのでは、とも思ってしまいます。
さらに、あることに気がつく現象があります。前ページ同様に
C3
、
D3
セルを1行したにコピーしてみます。
1行下に貼り付けたので
C4
セルが選択された状態になっています。
ここで計算式を見ると「
=R[-2]C[-2]
」となっていて、
C3
セルの時と式の文字列としては全く同じなのです。
A1
参照形式の時は
C3
セルの式は「
=A1
」だったのが、
C4
セルの式は「
=A2
」となるので、 前ページの説明で「相対参照だから移動する行列が一緒にシフトする」というように理解されていたと思いますが、
「
=R[-2]C[-2]
」から類推できることは「現在セルの
2
行手前の
2
列手前のセルを参照」ということです。 このことは、計算式を投入したセルの位置には関係なく常に「現在セルの
2
行手前の
2
列手前のセルを参照」なのですから、計算式を文字列で見ると全く同じだということです。
「
R1C1
参照形式」を使う方は基本的に「相対参照」「絶対参照」も理解されているでしょう。
VBA
などプログラム言語から
Excel
シートを扱う場合には配列操作をすることも多く、 列方向のインデックスが英字ではなく数字である方が判りやすく、計算式を編集するのでなくても間違いないプログラミングにつなげられます。
そうでない方だとしても相対参照、絶対参照が式の表記の上で「直感的」に解りやすいと思います。
ちなみに、カッコ(
[]
)内の数字は、現在セルからの参照先行列の移動量であり、プラスが先、マイナスが手前ですが、プラス符号は記述しません。また、ゼロはカッコを含めて記述しません。 従って、同じ行の
A
列のセルは「
RC1
」と書けば行方向は相対参照、列方向は絶対参照での記述になります。
ここで改めて整理してみます。
参照形式
A1
参照形式の表記
R1C1
参照形式の表記
参照形式の意味
相対参照
=A1
=R[-2]C[-2]
A1
セルは
C3
セルから見て2行手前の2列手前のセル
絶対参照
=$A$1
=R1C1
A1
セルはどこから見てもA列の第1行目のセル
「
R1C1
参照形式」を使うことは特段にお勧めするわけではありませんが、 「相対参照」「絶対参照」についてはきちんと理解されることが賢明だと思います。