アルファベットの列指定(Microsoft Excel)
COLUMN関数を使用すると、セルの数値列を簡単に判別できます。このような数式をセルに入れるだけで、結果はA = 1、B = 2などの値になります。
=COLUMN()
数値ではなくアルファベットの値が必要な場合はどうなりますか?これは、いくつかの異なる方法のいずれかで行うことができます。たとえば、次の式は、最初の26列のAからZに対して非常にうまく機能します。
=CHAR(COLUMN()+64)
これは、文字AからZが文字コード65から90を使用するために機能します。COLUMNが列AからZ(1から26)の値を返す場合、これを64に追加して、これらの列の文字65から90を取得できます。
||||もちろん、このソリューションは、Zを超える列の文字指定を知りたい場合は機能しません。Excelの列は最大3桁である可能性があるため(ExcelはXFDまでの列を使用できます)、列を見つけるための別のアプローチ文字は順番に並んでいます:
=LEFT(ADDRESS(1,COLUMN(),4),LEN(ADDRESS(1,COLUMN(),4))-1)
ADDRESS関数は、特定のセルのアドレスを返します。この場合、現在の列の最初の行にあるセルのアドレスを返します。したがって、数式がセルBF27にある場合、BF1を返します。
この数式は、LEFT関数を使用して、アドレスの左端の正しい文字数から行の1を引いた数を返します。
式のさらに短いバージョンは、LEFT関数ではなくSUBSTITUTE関数に依存しています。
=SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,"")
もちろん、必要に応じて、マクロベースのソリューションを使用することもできます。次のマクロは、1文字、2文字、または3文字の列で機能します。
Function AlphaCol(c As Range) As String Dim sTemp As String Dim ad1 As String ad1 = c.Address sTemp = Mid(ad1, InStr(ad1, "$") + 1, InStr(2, ad1, "$") - 2) AlphaCol = sTemp End Function
マクロはユーザー定義関数です。つまり、これを任意のセルに追加するだけで、ワークシートで使用できます。
=AlphaCol(J12)
関数呼び出しで参照されるセルは、文字を知りたい列内のセル(任意のセル)です。この関数は、そのセルのアドレスを見つけて、列の指定を除くすべてを取り除きます。列指定で構成されるテキスト文字列が返されます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(9240)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ excel-Alphabetic_Column_Designation [Alphabetic ColumnDesignation]
。