• 公開日:

エクセルで列番号を数字に変換する方法

この記事では、エクセルで列番号を数字に変換する方法をご紹介します。

MATCH関数やINDIRECT関数などの引数に数字を当てはめたい場合に役立ちます。

また、列を数字で表示させることで列番号の大小関係を数値として扱えるので、位置を比較したり計算に使用したりすることができます。

エクセルで列番号を数字に変換する方法

以下では、エクセルで列番号を数字に変換する方法を3つご紹介します。

  • VBAを使って列番号をダイアログボックスで表示させる
  • ADDRESS関数を使ってセル参照をする
  • COLUMN関数を使って単一セルの列番号を表示させる

VBAを使ってアクティブセルの列番号を数字に変換するコード 

VBAを使うと、アクティブセルの列番号をダイアログボックスで表示させることができます。

コードは以下の通りです。

具体的な方法については、下記「VBAを使ってアクティブセルの列番号を数字に変換する方法」セクションでご紹介していますので参考にしてみてください。

Sub ConvertColumnNumber()
    Dim activeColumn As String
    Dim columnNumber As Integer

    ' アクティブセルの列番号を取得
    activeColumn = Split(ActiveCell.Address, "$")(1)

    ' 列番号を数字に変換
    columnNumber = Range(activeColumn & "1").Column

    ' ダイアログボックスで表示
    MsgBox "アクティブセルの列番号: " & columnNumber, vbInformation, "列番号変換"
End Sub

VBAを使ってアクティブセルの列番号を数字に変換する方法

以下では、VBAを使って列番号を数字に変換する方法をご紹介します。マクロを有効にすることで、アクティブセルが何列目にあるのか知りたい場合にボタン一つで知ることができます。

開発タブを表示させる

まず、「開発タブ」が表示されていることを確認してください。もし、表示されていない場合は下記「選択範囲の列番号を数字に変換する方法」セクションを参考にしてみてください。

Visual Basicを開く

開発タブ、②Visual Basicの順に選択します。

標準モジュールを開く

「Microsoft Visual Basic for Applications」が開きました。①挿入タブ、②標準モジュールの順に選択します。

標準モジュールが開きました。上記のセクション「VBAを使ってアクティブセルの列番号を数字に変換するコード」のコードをコピーして貼り付けます。

作成したマクロを保存します。①ファイルタブ、②上書き保存の順に選択します。

「名前を付けて保存」ダイアログボックスが表示されました。①保存先(例:デスクトップ)を選択します。②ファイル名(例:列番号を数字に変換する)を入力し、③ファイルの種類でExcelマクロ有効ブックを選択し、④保存ボタンを押します。

Excelシートに戻ります。①列番号を知りたいセル(例:C2セル)、②開発タブ、③マクロの順に選択します。

「マクロ」ダイアログボックスが表示されました。①作成したマクロ(例:ConvertColumnNumber)を選択し、②実行ボタンを押します。

「列番号変換」が表示されました。アクティブセル(例:C2セル)が3列目ということが分かりました。

VBAを使って選択範囲の列番号を数字に変換する方法

開発タブを表示させる

上記の画像の赤い矢印で示した「開発タブ」が表示されていない場合は、以下の記事を参考にして表示してみてください。

エクセルの開発タブを表示する方法

Visual Basicを開く

開発タブ、②Visual Basicの順に選択します。

標準モジュールを開く

「Microsoft Visual Basic for Applications」が開きました。

挿入タブ、②標準モジュールの順に選択します。

コードを入力する

標準モジュールが開きました。

下記のコードをコピーして標準モジュールに貼り付けます。

Sub ConvertAllSelectedColumns()
    Dim selectedRange As Range
    Dim column As Range
    Dim columnNumber As Integer
    Dim result As String

    ' 選択範囲を取得
    Set selectedRange = Selection

    ' 選択範囲内の各列の列番号を取得
    For Each column In selectedRange.Columns
        columnNumber = column.Column

        ' 列番号を文字列に追加
        result = result & columnNumber & ", "
    Next column

    ' 不要な末尾のカンマとスペースを削除
    result = Left(result, Len(result) - 2)

    ' ダイアログボックスで表示
    MsgBox "選択範囲の列番号: " & result, vbInformation, "列番号変換"
End Sub
マクロを保存する

作成したマクロを保存します。①ファイルタブ、②上書き保存の順に選択します。

保存先を選択する

「名前を付けて保存」ダイアログボックスが表示されました。

保存先(例:デスクトップ)を選択します。

ファイル名(例:選択範囲の列番号を数字に変換する)を入力し、③ファイルの種類でExcelマクロ有効ブックを選択し、④保存ボタンを押します。

マクロを開く

Excelシートに戻ります。

①列番号を知りたいセルの範囲(例:B2セルからE3セル)、②開発タブ、③マクロの順に選択します。

作成したマクロを選択する

「マクロ」ダイアログボックスが表示されました。

作成したマクロ(例:ConvertAllSelectedColumns)を選択し、②実行ボタンを押します。

選択した範囲の列番号が表示された

「列番号変換」が表示されました。

選択範囲(例:B2セルからE3セル)が2,3,4,5列目ということが分かりました。

列番号をアルファベットから数字に変換する方法

列番号を数字に変換する

列番号の表示は、通常のアルファベットで表示されるA1形式と、上記の画像のように数字で表示させるR1C1参照形式があります。

VBAを多く使う場合は、R1C1参照形式の方がプログラムを組みやすいというメリットがあります。

以下の記事「列をアルファベットから数字に変換する」で紹介しています。

エクセルの列が数字になった場合の対処法

ADDRESS関数で列番号を数字に変換する方法

ADDRESS関数とは、行番号と列番号からセル参照を指定した形式を求めることができる関数です。

MATCH関数やINDIRECT関数と組み合わせることで引数として当てはめることができます。

address関数で列番号を数字で表示する

また、上記の画像の赤矢印で示した「FALSE」を入力することで、セル参照の列番号を数字で表示することができます。

セル参照「R4C2」のRはRow(行)、CはColumn(列)ですので、「C2」でB列を2列目と数字で表示することができました。

セルに列番号を表示させることで、MATCH関数やINDIRECT関数などを使用する際に役に立ちます。

以下の記事でADDRESS関数の使い方をご紹介しています。

ExcelのADDRESS関数の使い方|セル参照の文字列を求める

COLUMN関数で列番号を数字に変換する方法

COLUMN関数は、引数に指定したセルの列番号を算出することができる関数です。1つのセルの列番号を知りたい場合は、簡単に求めることができます。

以下の記事でCOLUMN関数の使い方をご紹介しています。

ExcelのCOLUMN関数の使い方|指定したセルの列番号を求める