もっとパソコンを活用しよう – エクセルの豆知識

これは覚えておいて損はないと思うエクセル関数や自動マクロでは教えてくれないVBAの書き方

列文字から列番号を表示(CELL,INDIRECT)

Excelの列はデフォルトの設定であれば「A、B、C・・・」のようにアルファベットで表示されていますが、マクロでは列番号で取り扱うほうが便利なことが良くあります。

そこで、「C」や「D」であれば、前から数えて「3」列目「4」列目というのがすぐにわかりますが、「AZ」などは数えるのに手間がかかります。

表示設定を「R1C1参照形式」に変更して数字で表示することも可能ですが、
見慣れていないのでとても違和感がありますし、ワークシート関数に数値が2つ出てくるので紛らわしいです。
そのうえ、R1C1参照形式だと対象セルからの相対参照になりますので慣れないとややこしいです。

R1C1参照形式は「ファイル」-「オプション」-「数式」の画面で設定可能

そこで良く使うのが

  • CELL(セルの書式、位置、または内容に関する情報を返します)
  • INDIRECT(指定される文字列への参照を返します)

オレンジ色の部分がエクセル関数を使用している箇所です。右側に赤字で実際の計算式を記述しています。

<関数の説明>
CELL関数を使用して、INDIRECT関数で指定したA1形式文字列の列番号を表示しています。