【Excel新関数】「つまみ食い」が最強。CHOOSECOLS/CHOOSEROWS関数で表作成の無駄をゼロにする方法Tech TIPS

Excelで膨大なデータから必要なところだけを抜き出す際、コピー&ペーストを繰り返していないだろうか。CHOOSECOLS関数とCHOOSEROWS関数を使えば、元の表を汚さず、必要な列や行だけを自在に抽出できる。データの更新にも自動で追従するため、手作業によるミスや二度手間を劇的に減らすことが可能だ。本Tech TIPSでは、このCHOOSECOLS/CHOOSEROWS関数の使い方を解説しよう。

» 2026年02月06日 05時00分 公開
[小林章彦デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Excel 2021/2024/365


CHOOSECOLS/CHOOSEROWS関数で表作成の無駄をゼロにする CHOOSECOLS/CHOOSEROWS関数で表作成の無駄をゼロにする
Excelで膨大なデータから必要なところだけを抜き出す際、コピー&ペーストを繰り返していないだろうか。CHOOSECOLS関数とCHOOSEROWS関数を使えば、元の表を汚さず、必要な列や行だけを自在に抽出できる。本Tech TIPSでは、このCHOOSECOLS/CHOOSEROWS関数の使い方を解説しよう。

 「Microsoft Excel(エクセル)」でデータを操作していると、特定の列や行だけを表示して分析したい、という場面は日常茶飯事である。このようなとき、不要な列や行を非表示にしたり、必要や行や列をコピーして新しい表を作成したりしていないだろうか? 実は、これらにはデメリットが伴う。

 マスターとなる表の行や列を非表示にしてしまうと、非表示になっている部分を参照する際にまた非表示を解除しなければならず面倒だ。一方、行や列をコピーして新しい表を作成してしまうと、マスターの値が変更されたり、行や列が追加されたりした場合にコピーし直さなければならなくなる。場合によっては、変更のたびに新しい表を追加していった結果、何が最新の表なのか分からなくなるといったことも起きる。

 こうした問題を解決するのが、Excel 2021以降やMicrosoft 365で利用可能になったCHOOSECOLS関数とCHOOSEROWS関数だ。本Tech TIPSでは、このCHOOSECOLS関数とCHOOSEROWS関数の使い方を取り上げる。

表から必要な列や行を「つまみ食い」する関数の使い方

 CHOOSECOLS関数とCHOOSEROWS関数は、配列(表)から番号で指定した「列(Column)」または「行(Row)」を抽出するものだ。

 関数の書式は以下のようになっている。

●列の抽出
=CHOOSECOLS(配列, 列番号1, [列番号2], ……)

●行の抽出
=CHOOSEROWS(配列, 行番号1, [行番号2], ……)


CHOOSECOLS関数とCHOOSEROWS関数の書式

 注意が必要なのは、引数として指定する列番号/行番号は、配列の先頭を「1」とした番号で指定することだ。例えば、「A1」セルから開始する表では、「A列」が列番号で「1」、「B列」が列番号で「2」となる。「C5」セルから開始する表では、「C列」が「1」、「D列」が「2」になるので注意してほしい(行の場合も同様)。

 最大のメリットは、抽出結果が「スピル」されることだ。新しい表を作成したい位置の左上となるセルにこの関数を入力するだけで、表を作成できる。

 また、元の表が更新されれば、抽出先のデータもリアルタイムで更新されるので、マスターのデータが変更されると自動的に抽出した表も更新される。逆に表の作成時点のデータで集計したいような場合は、マスターデータの変更に注意が必要になる。

CHOOSECOLS関数を使った列の抽出手順

 具体的な例で使い方を見ていこう。ここでは、利用されることが多い、列で抽出するCHOOSECOLS関数を例に解説していく。CHOOSEROWS関数も列と行の違いだけで使い方は同じだ。

 例えば、下画面のような6列の「販売管理マスター」から、報告に必要な「日付」「商品名」「売上金額」だけを抽出したいとする。「A」列、「C」列、「F」列をコピーして新しい表を作っているのではないだろうか。

 CHOOSECOLS関数を使えば、以下の数式を新しい表を作成したいセル(例えば、「A15」セル)に入力すればよい。

=CHOOSECOLS(A1:F6, 1, 3, 6)

表から「日付」「商品名」「売上金額」を抽出する関数

 この数式を入力するだけで、不要な列(担当者や単価など)を飛ばした新しい表が瞬時に生成される。ただし、セルの書式設定は一緒に抽出されないので注意してほしい。そのため、日付などはシリアル値となってしまうので、CHOOSECOLS関数で抽出した表でもセルの書式設定を適用する必要がある。

CHOOSECOLS関数を使った列の抽出手順(1) CHOOSECOLS関数を使った列の抽出手順(1)
「販売管理マスター」から報告に必要な「日付」「商品名」「売上金額」だけを抽出したい。
CHOOSECOLS関数を使った列の抽出手順(2) CHOOSECOLS関数を使った列の抽出手順(2)
新しい表を作成したいセル範囲の左上を選択して、CHOOSECOLS関数の数式を入力する。引数で指定した列が抽出されて表になる。
CHOOSECOLS関数を使った列の抽出手順(3) CHOOSECOLS関数を使った列の抽出手順(3)
「販売管理マスター」の値が変更されると、抽出した表の値も自動的に更新される。

CHOOSECOLS関数をさらに活用するための応用テクニック

 CHOOSECOLS関数やCHOOSEROWS関数を使うと、簡単に必要な列や行だけを抽出して別の表を作成できることが分かる。

 CHOOSECOLS関数やCHOOSEROWS関数をさらに活用するための応用テクニックを紹介しておこう。

別のシートに抽出した表を作成する

 上の例では、同じシート上に抽出した表を作成したが、多くの場合は別のシートに作成することになるだろう。そのような場合は、指定する「配列」にシート名を含めて「Sheet1!A1:F6」というように指定すればよい。

 シート名を含めるのが面倒な場合は、表に「名前の定義」で名前を付ければ簡単に参照できるようになる(「名前の定義」については、Tech TIPS「Excelの『名前の定義』でセルの範囲に名前を付ける」参照のこと)。

 マスターデータの表(セル範囲)内のセルを選択してから、[Ctrl]+[A]キーを押して表全体を選択する。数式バーの左側にある「名前ボックス」に「販売管理」といった名称を記入することで、名前を定義しておく。

 新しいシートで表を作成したいセル範囲の左上を選択して、以下の数式を入力すればよい。ブック内ならば、シート名を指定しなくても定義した名前が使えるので、数式がシンプルになる。

=CHOOSECOLS(販売管理, 1, 3, 6)

「名前の定義」を使って「日付」などのデータを抽出する関数

別のシートに抽出した表を作成する(1) 別のシートに抽出した表を作成する(1)
表内のセルを選択して、[Ctrl]+[A]キーで表全体を選択する。「名前ボックス」に「販売管理」といった名前を定義する。
別のシートに抽出した表を作成する(2) 別のシートに抽出した表を作成する(2)
新しいシートを開き、表を作成したい左上のセルにCHOOSECOLS関数を入力する。引数のセル範囲には、定義した名前を指定すればよい。

列の順番を入れ替えた表を作成する

 「顧客管理マスター」では、性別や電話番号、メールアドレスなど多くの情報が入力されていることが多い。ここから新製品の案内(ダイレクトメール)を発送するための住所録を抽出したいということもあるだろう。

 そのような場合も、CHOOSECOLS関数を使うと簡単だ。「顧客管理マスター」から、CHOOSECOLS関数で「郵便番号」「住所」「名前」の列を抽出すればよい。ただ、「顧客管理マスター」ではこの順番に並んでいないことの方が多いだろう。CHOOSECOLS関数では、引数の「列番号」の順番を変えるだけでよい。

=CHOOSECOLS(顧客管理, 8, 9, 1)

「顧客管理マスター」から住所などを列の順番を変えて抽出する関数

 いちいち列を選択してコピーして、新しい表に貼り付けるという手間が大幅に省ける。

列の順番を入れ替えた表を作成する(1) 列の順番を入れ替えた表を作成する(1)
「顧客管理マスター」から「名前」「郵便番号」「住所」を抽出した表を作成する。表には、「顧客管理」と定義しておく。なお、画面の顧客リストは、「テストデータ・ジェネレータ」で作成したダミーのデータ。
列の順番を入れ替えた表を作成する(2) 列の順番を入れ替えた表を作成する(2)
CHOOSECOLS関数の引数で、出力したい順番で列番号を指定する。「8」「9」「1」と指定することで、「郵便番号」「住所」「名前」の順番に抽出した表を作成できる。

Copyright© Digital Advantage Corp. All Rights Reserved.

アイティメディアからのお知らせ

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2026
人に頼れない今こそ、本音で語るセキュリティ「モダナイズ」
4AI by @IT - AIを作り、動かし、守り、生かす
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。