Excelを起動したら、セルの表記が勝手に「R1C1」のようになっていて戸惑ったことはないでしょうか?
突然見慣れない形式になっていてびっくり。。。ちょっとパニックになりますよね。
実はこれ、R1C1参照形式という設定が有効になっているだけなんです!
安心してください!だれでも1分で直せます。
この記事では、列が数字表示になってしまう原因と、A1形式に戻す具体的な手順を、初心者にも分かりやすく画像付きで解説します!
- 「R1C1形式」の意味と、「A1形式」との違い
- 「R1C1形式」から、「A1形式」に戻す方法
- 「R1C1形式」の歴史とメリットについて
「R1C1形式」って何?実はセルの参照形式は2種類ある
まず「R1C1」って何?の説明の前提として、実はExcelには、セルの参照形式が以下の通り2種類あることはご存じでしょうか。
・A1参照形式
・R1C1参照形式

え、セルの参照形式って2種類あったの!?
と、初めて知った方も多いのではないかと思います。
■A1形式とは?
Excelを開くとき、既定では「A1」形式となっています。
列番号→アルファベット、行番号→数字

こちらが皆さんおなじみの形式だと思います。
■R1C1形式とは?
こちらが冒頭でもお伝えした「R1C1」形式ですね。
R1→1行目、C1→1列目の表示となります。
※R→Row(行)、C→Column(列)

初めて見ると、「お?」と思ってしまいますよね。
私も最初、

Excel壊してしまったかも。。。
と凄く焦ったことがあります(汗
A1形式に戻す手順(画像付き)
では、このR1C1形式について解説していこうと思いますが、、

違う違う!まずはA1形式への戻し方を教えてくれ~!!
業務で困っているんだ~(泣
という声が聞こえてきそうなので、まずは「A1形式に戻す方法」を紹介していきます。
オプションから手動でA1形式に戻す場合
■A1形式に戻す流れ
R1C1形式になってしまって困っている場合、以下の手順でA1形式に戻すことができます。
1.「ファイル」タブより、「オプション」を選択

2.「数式」→「数式の処理」にある「R1C1参照形式を使用する」のチェックを外し、「OK」を選択

この手順で設定することで、A1形式に戻すことができます。

動画で操作を確認したい方はこちらをご参照ください。
VBAで強制的にA1形式に戻す場合
仕事でExcelファイルを使用するとき、他の人とそのファイルを共同編集する機会は多いのではないでしょうか。共同編集する人の中に、R1C1形式を参照している人が作業→ファイル保存すると、次に開く人はR1C1形式でファイルを開くことになろうかと思います。
とはいえ、その人がR1C1形式での作業に慣れているとすれば、「A1形式にしてくださいよ!」というのも気が引けますよね。ただそうはいっても、毎回オプションから変更。。というのも手間なので、ちょっと困ってしまいます。
そんなときは、ファイルを開くときに自動的にA1形式にするVBAを作成しておくと便利です。
もし編集ファイルにVBAを組み込むことができるなら、「ThisWorkbook」に以下VBAをコピペしてみてください。
「Workbook_Open」とすることで、ファイルを開いたとき、自動的にA1形式で表示させることができます。
Private Sub Workbook_Open()
Application.ReferenceStyle = xlA1
End Sub
普段使う機会はないと思いますが、他の人のPC設定を変更することは難しいので、そのような複数人で同じファイルを扱う場合などは、VBAで強制的にA1形式に戻す方法が便利です。
それでも戻らない場合
■Excelを再起動してみる
→設定変更は即時反映されるはずですが、まれに一時的に反映されないこともあります。Excelを一度閉じて再起動することで改善するケースもあります。
■Excelのバージョン差・環境依存の問題
→古いExcelや異なるPC間でファイルのやり取りをしたとき、保存されている参照形式の設定が上書きされてしまうことがあります。この場合、ファイルを開いた環境ごとに設定を確認してください。
なぜ勝手にR1C1形式になってしまうの?
しかし、なぜ勝手にR1C1形式に変換されてしまうのでしょうか。

設定なんて変えた記憶ないんだけどな。。。
と、首をかしげる人も多いと思います。
よくある原因としては、メール添付やダウンロードしたExcelファイルなど、自分以外の人が作成したExcelファイルを開いたときに、R1C1形式に変わってしまうことが多いようです。R1C1形式で保存されたExcelファイルなので、開いたときも参照スタイルがR1C1形式になってしまっているわけですね。
しかし、人によっては「ちゃんとA1形式で開けたよ?」という不思議なことが発生したことがないでしょうか。
実はこの参照スタイル、1つ目に開いたExcelファイルに依存する性質があります。
例えば、以下のように「A1形式」と「R1C1形式」で保存したExcelファイルがあったとします。
Excelファイルを開くと、それぞれA1形式とR1C1形式でファイルが表示されます。

こちらを、「Book_A1形式」から「Book_R1C1形式」の順番に開くと、R1C1形式で保存されたはずのファイルも、A1形式で表示されています。
逆に「Book_R1C1形式」から「Book_A1形式」の順番に開くと、いずれもR1C1形式で表示されます。

このことから、人によってはA1形式で開けたり、R1C1形式のままだったりすることがあるのです。
R1C1形式の存在意義とは?
ここまでの説明で、このような疑問を持った方もいらっしゃると思います。

じゃあ、R1C1形式って何のために存在するの?
私も完全にA1形式でExcelを見慣れていたので、最初R1C1形式がなんのためにあるのか分かりませんでした。
Excelの歴史(R1C1→A1への流れ)
ざっくりの流れだと、
・Excelの前身である「Microsoft Multiplan」(R1C1形式を採用)が、「Lotus 1-2-3」というソフトの登場以降シェアが低下
・「Microsoft Multiplan」が「Lotus 1-2-3」からシェアを奪い取るために、後進の「Excel」のセル表記を、「Lotus 1-2-3」と同じA1形式を採用
したという流れがあるようです。
以下「インストラクターのネタ帳」様の記事を参考にさせていただきました。
つまり、Microsoftの表計算ソフトは、元々はR1C1形式だったわけですが、Lotus 1-2-3ユーザーをExcelに乗り換えさせるために、ExcelではA1形式を採用し、R1C1形式をオプションで選択できるようにしたということです。
出典:インストラクターのネタ帳
内容が分かりやすく丁寧にまとめられておりますので、もっと知りたいという方はぜひチェックしてみてください。
当時のシェア争いの影響もあると思いますが、今のExcelでも「Lotus 1-2-3」との互換性を意識した機能(DATEDIF関数など)が残っています。
DATEDIF関数については、以下記事で詳しく解説しています。
VBAやマクロを扱う人にはメリットあり!
ここまで見てきましたが、あまりR1C1形式を使うメリットってなさそうですよね。
実際、R1C1形式を意識する必要はほとんどないと思っています。
「じゃあ何のためにあるんや?」ってなりますよね。
個人的に、R1C1の考え方が役に立つと思ったのは、VBA(Visual Basic for Applications)やマクロを自作し始めてからでした。
VBA(Visual Basic for Applications)とは、定型作業を自動化してくれるプログラミング言語です。
例えば、
・毎日新しいデータを取り込んで、必要なデータに加工する
・同じフォーマットの請求書を、取引先別に作成する
・Excelファイルを更新して、メールに添付→送信する
という、定期的かつ工程が決まっている作業は、なるべく手間をかけずに処理したいですよね。
そんなときにVBAを活用することで、これらの作業を自動化することができます。手作業でかかっていた時間を大幅に短縮することができるんですね。
話を元に戻すと、VBAを記述するときには、基本的に行・列を数字で指定するケースが多いです。
実際にどういう記述になるか、以下の表で説明します。

今回C列にある「部署」を「営業部」にフィルターするVBAを作るとします。
その場合、VBAとしては以下のように記述することになります。
Sub フィルターをかける()
Dim ws As worksheet
Set ws = ActiveSheet
ws.Range("A1:E1").AutoFilter Field:=3, Criteria1:="営業部"
End Sub「Field:=3」というのが、3列目(=C列)にある「部署」を示しています。ここでは直接”C”列を指定することはできないため、列番号を数字で指定してあげる必要があります。
(Field:=”C”ではエラーが発生してしまう)
ちなみに結果は以下のとおり。ちゃんと営業部だけフィルターをかけることができています。

このように、VBAでは列を数字で指定するケースもあり、R1C1形式だと列番号がすぐにわかるので便利ということがご理解いただけたかと思います。
絶対参照・相対参照を理解しておくことが重要
基本的にはA1形式の使用で問題ないと考えていますが、R1C1形式を使用しようとする場合、絶対参照・相対参照を理解しておくことが重要です。
絶対参照・相対参照については、以下記事でも詳しく解説しています。
また絶対参照・相対参照を使いこなすことはExcelの業務効率化に大きく関わってきます。自動(VBA)で参照方法を一気に切り替える方法も紹介しておりますので、「エクセル業務をもっと楽にしたい!」と思っている方は、ぜひチェックしてみてください。
絶対参照・相対参照の違いは、「セルをコピー・移動したときに参照先が変わるかどうか」です。
通常のA1形式であれば、「$」マークがついてれば絶対参照、なければ相対参照になります。
例えば、以下のようにセルD4に「=A1」、セルF4に「=$A$1」と入力したとします。
それぞれのセルをコピーして4セル分貼付してみると、相対参照は参照範囲がずれ、絶対参照は参照範囲が変わっていないことが確認いただけると思います。

それぞれのセルは以下のとおりとなっています。
相対参照はそれぞれ参照先が変わっており、絶対参照は参照先が変わっていません。

ではこれをR1C1形式で見ていきましょう。
先ほどと違い、セルD4は「=R[-3]C[-3]」、セルF4は「R1C1」と表示されていますが、A1形式と同じセルを参照しています。

なぜこのような表記になるかというと、R1C1形式では「選択したセルから〇行・〇列移動したら参照セルにたどり着くか」という見方で表現しているからです。
例えば、セルR4C4(=D4)はセルR1C1(=A1)を参照しています。セルR4C4から上に3行・左に3列移動した先に、セルR1C1がありますよね。そのため、「=R[-3]C[-3]」という表記となるわけです。
R1C1形式では、絶対参照でも「$」マークをつけることはありません。
絶対参照については、コピー・移動しても参照先が変わらないため、参照するセル番号を指定することになります。
同じように、セルの中身を確認してみます。
相対参照の場合、コピー・移動した分だけ参照範囲がずれますが、「選択したセルから」という基準で見ると移動する行・列分は変わらないため、どのセルも「=R[-3]C[-3]」となっています。
考え方さえ理解してしまえば、非常にシンプルで分かりやすいと思います。

Excelの関数で言うと、OFFSET関数が「基準となるセルから〇行・〇列移動する」という数式なので、こちらを活用されている方は理解していただきやすいと思います。
OFFSET関数もExcelで便利な関数の一つとなります。私も活用しており、とても応用の効く関数であり、以下の記事で詳しく解説しております。
こちらもぜひチェックしてみてください。
まとめ:Excelの列が数字になったらR1C1形式を解除!
Excelには、「A1形式」と「R1C1形式」の2種類の参照形式があることを解説してきました。
普段は「A1形式」に見慣れている方が多いと思いますので、勝手に「R1C1形式」になっていると焦りますよね。
基本的な原因は設定の問題で、たまにVBAで強制的に参照方法が変わっているケースもあります。そんな時は焦らず、今回ご紹介した方法をぜひ試してみてください。
この記事が役に立ったと思った場合、ブックマークやシェアしてもらえると嬉しいです。また、質問やこんな方法を紹介してほしい!などありましたら、お気軽にコメントしてください。
最後まで読んでいただき、ありがとうございました。





コメント