エクセルのCOLUMN関数はセルの列数を求める関数になっています。
例えば「A列」は1列目、「C列」は3列目…というように何列目かを求めることができます。
マクロVBAの「Cells(○○,○○)」というときでも使用しますよね。
さらにCOLUMNS関数はセル範囲の列数を求めることもできます。
データ数を求めることもできるので是非参考にしてみてください。
本内容とは対称に行数を求める内容についてはこちら☟
【ROW・ROWS関数】選択したセルの行数・行番号とセル範囲の行数を求める ► 独学エクセル塾 (dokugakuexcel.com)
それでは見ていきましょう。
■関数の仕組み
=COLUMN(列数を求めたい対象のセル番地)
=COLUMNS(列数を求めたい対象のセル範囲)
■選択したセルの列番号を求める
まずはCOLUMN関数を使用してセルの列番号を求めていきましょう。
下図の見本を見てみましょう。
2行にデータが並んでいますが内容に意味はありません。
今回は「Dさん」のデータの列数を求めてみましょう。
Dさんのデータは「F2」にありますね。
それでは関数の仕組みを見てみましょう。
=COLUMN(列数を求めたい対象のセル番地)
列数を求めたい対象のセル番地はDさんの「F2」です。
それでは関数に当てはめてみましょう。
=COLUMN(F2)
実際に入力してみます。
実列した結果はこのようになります。
Dさんは「F列」に入力されているので
列数の「6」が出力されました。
今回の参照の対象はF2の1列でしたが
複数の行・列を選択しても列数を求めることができます。
結果としては一番数値の小さい列数が出力されます。
では見本を見てみましょう。
H2からK2の複数列の範囲を選択してみました。
結果はこのようになります。
対象は「8列目(H列)から11列目(I列)」ですが
一番小さい「8」が出力されます。
■セル範囲または配列の列数を求める
先ほどは複数範囲を選択すると一番小さな数値を出力しましたが
今度は選択したセルの範囲の列数を求めてみます。
データがいくつあるかなどにも応用できそうですね。
では下図をご覧ください。
今回はAさんからJさんの列数を求めてみましょう。
求める範囲は「C2からL2」になります。
それでは関数の仕組みを見てみましょう。
=COLUMNS(列数を求めたい対象のセル範囲)
関数に当てはめるとこのようになります。
=COLUMNS(C2:L2)
それでは実行してみましょう。
結果はこのようになります。
AさんからJさんまでは10列あるので
「10」が出力されました。
ちなみに行も合わせて複数選択しても行は無視され、列数のみ出力されます。
■よくあるエラーと対処法
それではCOLUMN・COLUMNS関数を使用する中でよくあるエラーと対処方について説明します。
・この関数に対して、多すぎる引数が入力されています。
こちらは複数の範囲・引数を参照しているため、このような異常が発生します。
COLUMN・COLUMNS関数を使用する際は1つの引数・セル・範囲にしてください。
エラーの見本を見てみましょう。
見本は「Q72」と「S172」の複数の引数を使用しています。
これではエラーになってしまいます。
・#NAMEエラーとなる
こちらはセルの番地がうまく入力できてないか、
英字・数字・「:」以外が混ざってないか確認してみてください。
それでは見本を見てみましょう。
B5のみであれば問題はありませんが「A」が混じっています。
これでは関数は結果を表示することができず、エラーになります。
なので#NAMEエラーが表示された場合は入力されてある数式を見直してみてください。
■公式の説明
わかりやすいように説明したため公式と使用する語句が異なりますが
マイクロソフト公式の説明については下記のリンクを参照してください。☟
■まとめ
いかがだったでしょうか。
列数の出力はマクロVBAのCellsの列指定でも活用できそうですね。
COLUMNS関数はデータの数を関数で出力できるので便利です。
ぜひ活用して今後のエクセルに生かしてみてください。
それでは次回の記事でお会いしましょう。
コメント
[…] 【COLMN・COLUMNS関数】選択したセルの列数・列番号とセル範囲の列数を求める ► 独学エクセル塾 (dokugakuexcel.com) […]