COLUMNS関数の使い方|範囲の列数を数える・VLOOKUPの列番号を自動にする・COLUMNとの違い

COLUMNS関数の使い方|範囲の列数を数える

COLUMNS関数は、範囲の列の数を返す関数です。B3:D5 なら B・C・D の3列なので 3 です。VLOOKUP の列番号を自動にする、表の大きさを調べるといった使い方をします。

この記事では、COLUMNS 関数の使い方を、VLOOKUP の列番号を右へコピーで変える使い方、COLUMN(列番号)との違い、空欄も数えてしまう間違いまで、実際の Excel の画面で説明します。練習用のファイルも無料でダウンロードできます。

練習用Excelファイル(無料ダウンロード)
「サンプル」「列番号を自動に」「よくある間違い」の3シートです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

COLUMNS関数の書き方(構文)

=COLUMNS(配列)
引数意味
配列列の数を数えたいセル範囲・配列

試したところ、=COLUMNS(A1:Z1) は 26、配列の =COLUMNS({1,2,3}) は 3、1行まるごとの =COLUMNS(1:1) は 16384(Excel の列の数)になりました。

基本の使い方:範囲の列の数を数える

手順:B1 に COLUMNS の式を入れて Enter

商品が横に並んだ表(B3:D5)の列の数を数えて、商品の数を出します。 B1 に次の式を入力して、Enter キーを押します❶。

B1 に入れる式
=COLUMNS(B3:D5)
B3:D5 配列
ひとことで商品の表(B3:D5)が何列あるかを数える(=商品の数)
式を分けて読むと(色は画像の枠と同じ)
配列B3:D5
何を数える?
→ 商品が横に並んだ表(B〜D 列)
自分の表で使うときは
青に「列の数を知りたい範囲」を入れるだけです。行の数を数えるときは ROWS 関数を使います。例:A1:L1(12 か月分の見出し)の列の数=COLUMNS(A1:L1)
  • 空欄の列も 1 列として数えます。中身のあるセルの数を数えるなら COUNTA を使います。
エクセルのCOLUMNS関数で表の列の数を数える式を色分けした画面
エクセルのCOLUMNS関数で表の列の数を数える式を色分けした画面

確認:3 は B・C・D の 3 列

エクセルのCOLUMNS関数で、B3:D5のB・C・Dの3列を数えて3になったことを色で示した画面
エクセルのCOLUMNS関数で、B3:D5のB・C・Dの3列を数えて3になったことを色で示した画面

答えは 3 になりました❷。式は、次の順に計算しています。

  1. B3:D5の左の列から右の列まで数える
    ⇒ B・C・D
  2. 列の数を返す
    ⇒ 3
ヒント:VLOOKUP の列番号にも使える
=VLOOKUP(A2,$F$2:$H$10,COLUMNS($F$2:G2),FALSE) のように書くと、右へコピーするたびに列番号が 2・3 と増えます(下の「VLOOKUP の列番号を右へコピーで変える」)。

まず動かしてみよう|この記事のサンプルをその場で試せます

ブラウザの上で COLUMNS 関数を試せます。B1 の式は =COLUMNS(B3:D5) で、上の画面と同じ表です。

VLOOKUP の列番号を右へコピーで変える

VLOOKUP の3つ目(列番号)に COLUMNS($A1:B1) を入れると、右へコピーするたびに範囲が1列ずつ広がり、2・3・4 と変わります。4月・5月・6月の列を1つの式で取り出せます。

=VLOOKUP($B$6,$A$1:$D$4,COLUMNS($A1:B1),FALSE)
エクセルでVLOOKUPの列番号をCOLUMNSにして右へコピーした例
エクセルでVLOOKUPの列番号をCOLUMNSにして右へコピーした例

試したところ、みかんの 4月 80・5月 90・6月 100 が取り出せました。始まりの $A は固定し、終わりの B だけがコピーで動くのがポイントです(VLOOKUPの使い方)。

よくある間違い:空欄も数えてしまう

エクセルのCOLUMNS関数が空欄も数える例とCOUNTAとの違い
エクセルのCOLUMNS関数が空欄も数える例とCOUNTAとの違い

COLUMNS は「範囲の列の数」なので、入力が無い列も数えます。試したところ、山田・佐藤・鈴木と空欄2つの範囲(B1:F1)は、COLUMNS では 5、入力のあるセルだけを数える COUNTA では 3 でした。人数のように「入力した数」を知りたいときは COUNTA を使います(COUNT・COUNTAの違い)。

症状考えられる原因対処
数が多すぎる空欄の列も数えている入力の数なら COUNTA を使う。
VLOOKUP をコピーすると同じ列ばかり出るCOLUMNS の範囲の終わりまで $ で固定した始まりだけ固定する($A1:B1)。
列番号(A=1…)が欲しかったCOLUMNS は列の「数」を返す列番号なら COLUMN 関数を使う。

よくある質問

COLUMN と COLUMNS の違いは?

COLUMN は「何列目か」(列番号)、COLUMNS は「何列あるか」(列の数)です。試したところ、=COLUMN(D2) は 4、=COLUMNS(B3:D5) は 3 でした(COLUMN関数の使い方)。

行の数を数えるには?

ROWS 関数を使います。使い方は COLUMNS と同じです(ROWS関数の使い方)。

XLOOKUP なら列番号は要りませんか?

XLOOKUP は返す範囲を直接指定するので、列番号は要りません。古いバージョンでも使うファイルなら、VLOOKUP+COLUMNS の書き方が役立ちます(XLOOKUP関数の使い方)。

練習用Excelファイル(無料ダウンロード)
この記事の例がすべて入った練習用のファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:COLUMNS関数の関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次