Excelで、列の位置を表すアルファベットを数値(数字)に変換する方法についてです。
- COLUMN関数とINDIRECT関数を組み合わせて、A~XFDのアルファベット(文字列)を数値に変換できます。
手順
次の画像では、B列にアルファベットが入力されています。
一方でC列に式を入力して、B列のアルファベットを列番号の数値(そのアルファベットが示す列が左から何番目にあるか)に変換しています。
C3セル(下方にコピー)
=COLUMN(INDIRECT(B3&"1"))
まずアルファベットに「1」の文字を連結します。INDIRECT関数を使ってそのセル(アルファベットが「A」ならA1セル)を実際に参照し、さらにCOLUMN関数を使ってそのセルが左から何列目にあるかを取得しています。変換できるアルファベットはAからXFDまで(数値1~16384)で、XFE以降に対してはエラーとなります。また、最後の例でわかるように大文字でなくても変換できます。
なお「"1"」の部分は単に「1」としても同じ結果になります。
ちなみにCOLUMN関数を使えばアルファベットを用いることなく「その列の番号を表す数値」が取得できます。
C2,D2,E2セル(すべて同じ)
=COLUMN()