表のデータから特定の列だけを別の場所に取り出したいとき、手作業でコピー&ペーストしていませんか?
列の順番を入れ替えたり、必要な列だけ抽出してレポートを作ったりするたびに、毎回手動で対応するのは非効率です。
CHOOSECOLS関数を使えば、指定した列番号を入力するだけで、必要な列を自動的に取り出せます。複数列の同時取り出しや逆順指定にも対応しており、データ加工の手間を大幅に削減できます。
この記事では、CHOOSECOLS関数の基本的な使い方から実務での活用例まで解説します。
CHOOSECOLS関数とは
CHOOSECOLS関数は、配列またはセル範囲から指定した列番号の列を返す関数です。Microsoft 365およびExcel 2021以降で使用できます。
読み方は「チューズ コラムズ(CHOOSE COLUMNS)」で、「列を選ぶ」という意味です。
CHOOSECOLS関数でできること
- 表の中から必要な列だけを抽出する
- 複数の列をまとめて取り出す
- 列の順番を自由に並べ替える
- 負の数を使って末尾から列を指定する
スピル(自動展開)に対応しているため、結果が複数列にわたる場合も1つの数式で処理できます。
CHOOSECOLS関数の構文と引数
=CHOOSECOLS( 配列 , 列番号1 , [列番号2] , … )
| 引数 | 必須/省略 | 説明 |
|---|---|---|
| 配列 | 必須 | 列を取り出したい配列またはセル範囲 |
| 列番号1 | 必須 | 取り出す列の番号(1から始まる) |
| 列番号2以降 | 省略可 | 追加で取り出す列の番号(複数指定可) |
列番号の指定方法
- 正の数:先頭から数えた列番号(1=1列目、2=2列目)
- 負の数:末尾から数えた列番号(-1=最終列、-2=最終列から2番目)
- 複数指定:取り出したい順に列番号をカンマで区切る
CHOOSECOLS関数の基本的な使い方
1列だけ取り出す
A2:D10の範囲から3列目(C列)だけを取り出す例です。
=CHOOSECOLS(A2:D10, 3)
指定したセル範囲の3列目のデータが、数式を入力したセルからスピルして表示されます。
複数列を同時に取り出す
A2:E10の範囲から1列目と4列目を取り出す例です。
=CHOOSECOLS(A2:E10, 1, 4)
「氏名(1列目)」と「売上(4列目)」のように、離れた列を一度に取り出せます。
列の順番を並べ替える
元の表の列順を変えて取り出したい場合も、列番号の順番を指定するだけです。
=CHOOSECOLS(A2:D10, 3, 1, 4, 2)
元が「A・B・C・D」の順でも、「C・A・D・B」の順に並べ替えて取り出せます。
末尾から列を指定する(負の数)
=CHOOSECOLS(A2:E10, -1)
-1 を指定すると最終列(E列)を取り出せます。列数が変動する表に対応する場合に便利です。
実務での活用例
活用例1:レポート用に必要な列だけ抽出する
販売管理表(商品コード・商品名・単価・数量・売上・担当者)から、報告書に必要な「商品名・売上・担当者」だけを取り出す場合:
=CHOOSECOLS(A2:F100, 2, 5, 6)
元のデータを変更せずにレポート用のビューを作れます。
活用例2:SORT関数と組み合わせて列を並べ替えながら並び替える
SORT関数と組み合わせると、列の並べ替えとデータの並び替えを同時に行えます。
=SORT(CHOOSECOLS(A2:E100, 2, 1, 4), 2, -1)
「必要な列を選んで、かつ降順に並べる」という処理を1つの数式で完結できます。
活用例3:CHOOSEROWS関数と組み合わせて行と列を同時に指定する
CHOOSEROWS関数(行を選択する関数)と組み合わせると、必要な行と列を同時に抽出できます。
=CHOOSECOLS(CHOOSEROWS(A1:E20, 1, 3, 5), 2, 4)
この例では1・3・5行目から2・4列目だけを取り出しています。
よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
| #VALUE! | 列番号に小数や文字列を指定している | 整数を指定する |
| #REF! | 列番号が配列の列数を超えている | 配列の列数以内で指定する |
| #NAME? | 関数名のスペルミスまたは非対応バージョン | Microsoft 365またはExcel 2021以降で使用する |
| 結果が1列になる | 列番号を1つしか指定していない | 複数列を取り出すには列番号を複数指定する |
CHOOSECOLS関数と関連する関数
| 関数 | 用途 |
|---|---|
| CHOOSEROWS | 行を選択して取り出す(CHOOSECOLSの行版) |
| INDEX | 行と列の交差するセルを返す |
| FILTER | 条件に合う行または列を抽出する |
| Excel関数一覧(アルファベット順) | 全関数の一覧 |
まとめ
CHOOSECOLS関数は、配列から指定した列を自由に取り出せる関数です。
- 1列だけの抽出から複数列の同時取り出しまで対応
- 負の数で末尾から列を指定できる
- SORT・CHOOSEROWS・FILTERと組み合わせると柔軟なデータ加工が可能
- Microsoft 365・Excel 2021以降で使用可能
元のデータを変えずに必要な列だけを取り出してレポートを作りたい場面で活躍します。
