楽天リーベイツで楽天ポイント還元最大20%!今なら登録して初回購入で500ポイントもGET!

【エクセル】必要な列だけを抽出して別シートに整理しよう!元データはそのままでOK

10 min 35 views
エクセル初心者

エクセル初心者

エクセルの必要な列だけ別シートに抽出できないかな?
資料を作るときにいらない部分のデータは隠したいんだよね。

できるよ!「抽出」というと難しそうだけど、初心者でも簡単ステップで挑戦できる方法を紹介するね!

Dr.オフィス

Dr.オフィス

たくさんの列が並んだエクセルファイルはとても見にくいですよね。
だからといって不要な列自体を削除してしまうと、他の必要な列にまでエラーが出てしまい困ります。

この記事では必要な列だけを別シートに抽出する方法を紹介します。

エクセルの表を必要な「列」だけ別シートに抽出する方法
  1. [表示設定]を使う方法
  2. [グループ化]を使う方法
  3. [フィルター機能]で列を抽出する

エクセル使用歴20年の私が、エクセルの表を必要な「列」だけ別シートに抽出する方法を教えるよ!

Dr.オフィス

Dr.オフィス

初心者さん向けの簡単ステップから、関数を使ったちょっと上級編まで、実際のエクセル画面を使ってわかりやすく解説していきます。

ぜひピッタリの方法を見つけて参考にしてくださいね!

※本記事は『OS:Windows11』画像は『Excelのバージョン:MicrosoftOffice2021』を使用しています。※CHOOSECOLS関数の部分のみ『Excelのバージョン:Microsoft365』を使用しています。

エクセルの必要な列だけを抽出して別シートに整理する方法を3つ解説

まずは以下の3つの方法を解説します。

  • [表示設定]を使う方法
  • [グループ化]を使う方法
  • [フィルター機能]で列を抽出する

それぞれの方法を詳しく見ていきましょう。

[表示設定]を使って必要な列だけ表示しよう

まずは一番簡単な方法、[表示設定]で必要な列だけを抽出して表示する方法です。

横に長い表をギュッと短縮して操作しやすい画面にするなど、一時的な対処に向いています。

架空のデータベース「20XX年度担当者別売上一覧」を使って、各月の列を非表示にし、四半期の列だけを抽出するやり方を見ていきましょう。

  1. STEP

    元データの表を別シートにコピー

    元データのワークシートをコピーして加工用のシートを用意します。

    元データのシートタブ上で右クリックし、「移動またはコピー」をクリックするとダイアログボックスが出現します。「コピーを作成する」にチェックを入れてOKを押すと、元データの隣に同じシート名の末尾に(2)がついた複製シートが挿入されます。

    元のシートは編集せずそのまま残し、この先の手順はすべてコピー先のシートで操作してください。

    1. 元データのワークシートのタブ上で右クリック
    2. 「移動またはコピー」を押す
    3. 「コピーを作成する」にチェックを入れる
    4. 「OK」をクリック
  2. STEP

    不要な列の選択

    今回はコピー先のシート名をわかりやすいように「資料用」に変更しています。

    列番号をクリックし、不要な列を選択します。

    離れた列を一度に選択したいときは最初の列を選択したあとctrlを押しながら別の列をすべて選択します。

  3. STEP

    [列を表示しない]をクリック

    不要な列を選択した後、「列を表示しない」設定を行いましょう。

    1. 不要な列を選択
    2. 「ホームタブ」をクリック
    3. 「書式」を押す
    4. 「非表示/再表示」にマウスポインターを合わせる
    5. 「列を表示しない」を選択する
  4. STEP

    非表示を確認

    不要な列を非表示にし、必要な列のみを抽出することができました!

    画面上では非表示になっていますが、よく見てみるとその列があった場所には折り畳まれたことがわかるような印があります。

    印刷プレビューでも不要な列は非表示のまま、必要な列だけ抽出されるよ!

    Dr.オフィス

    Dr.オフィス

  5. STEP

    再表示したいときは「列の再表示」を押す

    いちど非表示にした列を再度表示したい場合は、非表示にした列をはさむように左右の列を選択し、以下の手順を行います。

    1. 非表示にした列をはさむように左右の列を選択
    2. ホームタブをクリック
    3. 「書式」を押す
    4. 「非表示/再表示」にマウスポインタ―を合わせる
    5. 「列の再表示」をクリックする

このように[表示設定]を使えば、列を一瞬で非表示にしたり再表示に戻したりすることができます。

数秒でサッと設定できるので、作業時間をとられることなく効率的に変更でき、急いでいるとき、一時的に列を非表示にしたい場合などにピッタリの方法です。

ただし、この方法には「非表示にした列がパッと見では見つかりにくい」という欠点があります。

[非表示/再表示]を日常的に繰り返し切り替える場合や、複数人で同じファイルを使って作業する場合には次の[グループ化]を使う方法が良いでしょう。

[グループ化]を使って必要な列だけ表示しよう!

必要な列だけ表示するもうひとつの簡単な方法として[グループ化]があります。

[グループ化]はもともと複数のデータをまとめて扱いやすくするための方法ですが、グループ化したデータはワンクリックで非表示にすることができとても便利です。

この機能を利用して必要な列だけを表示しましょう。

  1. STEP

    元データの表を別シートにコピー

    元データのワークシートをコピーして加工用のシートを用意します。

    元データのシートタブ上で右クリックし、「移動またはコピー」をクリックするとダイアログボックスが出現します。「コピーを作成する」にチェックを入れてOKを押すと、元データの隣に同じシート名の末尾に(2)がついた複製シートが挿入されます。

    元のシートは編集せずそのまま残し、この先の手順はすべてコピー先のシートで操作してください。

    1. 元データのワークシートのタブ上で右クリック
    2. 「移動またはコピー」を押す
    3. 「コピーを作成する」にチェックを入れる
    4. 「OK」をクリック
  2. STEP

    不要な列の選択

    今回はコピー先のシート名をわかりやすいように「資料用」に変更しています。

    列番号をクリックし、不要な列を選択します。

    隣り合う複数の列をまとめて選択することは可能ですが、[非表示]にするときと違い、離れた列をctrlで選択してまとめてグループ化することはできません。

  3. STEP

    [グループ化]をクリック

    不要な列を選択した状態で[データ]タブの[グループ化]をクリックします。

    1. 不要な列を選択する
    2. 「データ」タブをクリック
    3. 「アウトライン」を選択
    4. 「グループ化」を押す
    5. 「グループ化」をクリックする
  4. STEP

    [ー]アイコンをクリック

    グループ化した列の上に[-]アイコンが出現するのでクリックしましょう。

  5. STEP

    グループ化された列が非表示になり、必要な列だけ抽出された

    [ー]アイコンをクリックするとグループ化された列が非表示になり、必要な列だけ抽出された状態になりました。

  6. STEP

    複数のグループをまとめて非表示にしたいとき

    それぞれグループ化された離れた列をまとめて非表示にしたい場合は、[-]アイコンの左端にある[1]アイコンをクリックします。

  7. STEP

    再表示したいとき

    非表示になった列を再表示したいときは[+]アイコンをクリックします。

  8. STEP

    グループ化を解除したいとき

    グループ化を解除し[-][+]アイコンをなくしたい場合は、グループ化を解除したい列を選択した状態で[グループ解除]をクリックしましょう。

    1. グループ化を解除したい列を選択
    2. 「データ」タブをクリック
    3. 「アウトライン」を押す
    4. 「グループ化解除」をクリックする
    5. 「グループ解除」を選択

[グループ化]を利用して必要な列だけ表示する方法は、さきほどの[非表示/再表示]に比べるとワンタッチで操作でき非常に便利です。

また、非表示にしてある状況でも上部に[+]が表示されているため、非表示の列が隠れていることが一目瞭然です。

複数人で同じファイルを共有する場合などはこの方法が良いでしょう。

しかし、離れた列を一気にグループ化することはできないため、項目の多い表から必要な列だけ抽出する作業には向いていません。

項目の多い表から一気に必要な列だけ別シートに抽出する場合には、次の[フィルター]機能で列を抽出する方法がおすすめです。

[フィルター]機能で列を抽出!?意外な使い道

エクセルのフィルター機能はいつもは「行」を抽出するのに使われる機能です。

でもこのフィルターのオプション機能[詳細設定]を使うと、必要な「列」だけを別シートに抽出することができます。

  1. STEP

    新しいワークシートを挿入する

    ワークシートのタブの横の[+]をクリックすると、【Sheet2】などのシート名のまっさらなワークシートが挿入されます。

    元のシートは編集せずそのまま残し、この先の手順はすべて新しいワークシートで操作してください。

  2. STEP

    挿入したシートに必要な項目のヘッダーをコピー

    先ほどSTEP1で挿入した新しいシートが分かりやすいように、今回は新しいシート名を「資料用」に変更しています。

    元データのシートから抽出したい列のヘッダーだけをコピーし、加工用の新しいシートに貼り付けます。

    今回は不要な列である各月のヘッダーはのぞき、四半期のヘッダーのみを残してコピーしました。

    タイトルもコピーしておきましょう。

  3. STEP

    [詳細設定]から[フィルターオプションの設定]をクリック

    貼り付けたヘッダーを選択した状態で[フィルターオプションの設定]に進みましょう。

    1. 貼り付けたヘッダーを選択する
    2. 「データ」タブをクリック
    3. 「並べ替えとフィルター」内の「詳細設定」を押す
  4. STEP

    [リスト範囲]と[抽出範囲]を設定し「OK」をクリック

    抽出先、リスト範囲、抽出範囲を入力し、「OK」を押しましょう。

    1. [抽出先]は「指定した範囲」にチェックを入れる
    2. [リスト範囲]は元データのシートのリスト全体を指定
    3. [抽出範囲]には加工用シートにさきほどコピーしたヘッダー部分を指定
    4. 「OK」をクリック
  5. STEP

    必要な列の抽出ができた!

    一瞬で必要な列だけがコピーされ、抽出することができました。

[フィルター]機能で必要な列だけ別シートに抽出する方法はこれまでの2つの方法に比べて少し複雑です。

しかし必要な列のヘッダーだけ設定してしまえば、あとは[フィルターオプションの設定]で一瞬で必要な列だけ抽出することができます。

資料作成のたびに何度も繰り返し抽出したい場合などに向いている方法です。

ただし、ここまでの3つの方法には、もし元データのシートに修正があったときは抽出をやりなおさなければいけないという欠点があります。

ここから先の[関数]を使う方法は一度設定してしまえば元データが修正されても変更不要です。ぜひトライして更に仕事を効率化しましょう!

エクセルの[関数]を使って必要な列を別シートに抽出する技3選!

[表示設定][グループ化][フィルター]機能を使う方法は非常に手軽で便利な方法ではありますが、「コピー元の表のデータが更新されたときにそれが反映されない」というデメリットがありました。

一時的な資料作成ではなく継続的にデータを追っていく場合や、何度も資料作成を行う場合などは、そのつど、元データをコピーして必要な列だけを表示しなければなりませんでした。

この問題を解消してくれるのが、下記の[関数]を使う方法です。

  • [CHOOSECOLS関数]を使う方法
  • [INDIRECT関数]を使う方法
  • [XLOOKUP関数]を使う方法

少し難しい方法になりますが、一度設定してしまえば元データが増えたり変更されても再設定の必要はありません。

元のデータが変更されれば参照先のデータも連動して変更されます。

別シートに必要な列だけを抽出する場合に使える関数の組み合わせを3つお伝えしますので、ぜひチャレンジしてみてください。

[CHOOSECOLS関数]を使って抽出する列を直接指定

CHOOSECOLS関数は、指定された列データから指定された行データを取り出すことができる関数です。

シンプルで簡単なので、ぜひ活用してみてください。

  1. STEP

    元データから必要な項目のヘッダーをコピーして貼り付ける

    元データから資料用に、抽出したい列のヘッダーをコピーして貼り付けましょう。

  2. STEP

    抽出したい列番号の確認

    抽出したい列番号を確認して、関数に入力します。

  3. STEP

    CHOOSECOLS関数を入力

    1. A4セルを選択
    2. 関数【=CHOOSECOLS(元データ!A4:V23,1,2,3,4,5,9,13,17,21,22)】を入力する
  4. STEP

    [スピル]機能で自動的にコピーされた!

    CHOOSECOLS関数を入力しEnterで確定すると、自動的にスピル機能で抽出したい列が全てコピーされました。

[スピル]については ≫エクセルのスピルを徹底解説!新機能を使いこなして仕事効率アップ! で詳しく解説していますので参考にしてください。

[INDIRECT関数]を使って抽出するセル番号を直接指定

INDIRECT関数は他のワークシートにあるデータを別のワークシートに取り出す関数です。

「=INDIRECT(“元データ!A1″)」のようにセル番号を直接指定できるのが特徴です。

「A列・C列・F列だけ表示したい」という場合に「=INDIRECT(“元データ!A1”)」「=INDIRECT(“元データ!C1″)」「=INDIRECT(“元データ!F1”)」などと分かりやすく指定できます。

  1. STEP

    元データから必要な項目のヘッダーをコピーして貼り付ける

    新しいワークシートを挿入し、そのシートに元データのシートから抽出したい列のヘッダーだけをコピーして貼り付けます。

    今回は不要な列である各月のヘッダーはのぞき、四半期のヘッダーのみを残してコピーしました。タイトルもコピーしておきましょう。

  2. STEP

    INDIRECT関数を入力

    ヘッダーのすぐ下のセルを選択し、INDIRECT関数を入力してenterを押します。

    INDIRECT関数の引数[参照文字列]は、通常【”元データ!A4″】などシート名とセル番号を直接指定して構成します。しかし今回はシート名・列番号までは【”元データ!A”】と直接指定し、その後に続く行番号については直接指定せずに【&】でROW関数をつなげています。

    こうすることで抽出対象のセルの行番号はROW関数により自動判定されます。

  3. STEP

    ドラッグして後続のセルに反映させる

    入力したINDIRECT関数をドラッグして後続のセルにも反映させましょう。

    先ほどのSTEP2でINDIRECT関数の引数[参照文字列]の行番号をROW関数のネストにしておいたため、引数を一行ずつ書き換える必要がなくドラッグのみで反映させることができます。

  4. STEP

    他の列に数式をコピーする

    先ほど入力したセルの数式をコピーし、他の列に貼り付けます。引数の[参照文字列]はその列で抽出したい元データの列番号ABC・・・に修正してください。

    1. 先ほど入力したセルの数式をコピーし、他の列の先頭に貼り付ける
    2. 引数の[参照文字列]をその列で抽出したい元データの列番号ABC・・・に修正し、enterを押す

    STEP3と同じようにドラッグして後続セルに反映させよう!

    Dr.オフィス

    Dr.オフィス

INDIRECT関数についてはこちら≫【関数の組み合わせ】VLOOKUP関数とINDIRECT関数で参照先を変える技!で詳しく説明しています。ぜひ参考にしてみてください。

「=INDIRECT(“元データ!A1”)」のように引数をダイレクトに設定することがができるため設定が簡単で分かりやすい関数ですが、その分手作業での設定になるため、こちらも列数の多い表には向きません。

せいぜい10~20列までの抽出に対応できますが、それ以上多くの列の抽出には次の[XLOOKUP関数]を使う方法が適しています。

[XLOOKUP関数]のスピル機能で何千行でも一気にコピー

XLOOKUP関数は表の特定の列を検索して一致したセルと同じ行の別の列の値を返す便利な関数です。

一つの列を検索キーとして別シートにコピーしておき別の列にXLOOKUP関数を入力することで、必要な列だけを抽出することができます。

XLOOKUP関数はスピル機能に対応しているため、ひとつのセルに数式をいれてenterを押すだけで他のすべての行に数式が自動的に入ります。

  1. STEP

    元データから検索キーになる列とヘッダー行をコピーして貼り付ける

    新しいワークシートを挿入し、そのシートに元データのシートから検索のキーになる列全体と抽出したい他の列のヘッダーをコピーして貼り付けます。タイトルもコピーしておきましょう。

    今回はC列「社員コード」を検索キーにしています。

    1. 新しいワークシートを挿入
    2. 検索のキーになる列全体を元データからコピーして貼り付けておく
    3. 抽出したい他の列のヘッダーを元データからコピーして貼り付けておく
  2. STEP

    XLOOKUP関数を入力

    ヘッダーのすぐ下のセルにXLOOKUP関数を入力します。

    引数[検索値]には同じ行のキーになる項目のセルを指定して、列のみ絶対参照にしておきます。例:$C4

    引数[検索範囲]は元シートのキーになる項目の列全体を指定して、範囲は絶対参照にします。列:$C:$C

    引数[戻り範囲]には抽出したい列を指定しましょう。

    1. ヘッダーのすぐ下のセルを選択する
    2. XLOOKUP関数を入力してenterを押す
  3. STEP

    [スピル]機能で自動的にコピーされた!

    [スピル]とは数式を入力したセルだけでなく隣接するセルに値や数式を一括入力してくれる機能です。

    XLOOKUP関数はスピル機能に対応しているため、一番上の行に数式が入ると後続のすべての行に自動的に計算結果が表示されます。

  4. STEP

    他の列にも同じようにXLOOKUP関数を入力する

    同じように他の列にもXLOOKUP関数を入力します。

    ヘッダーのすぐ下の空欄セルを選択し、XLOOKUP関数を入力してenterを押します。STEP2で入力した関数をコピーしてそのまま貼り付けられますが、引数[戻り範囲]については抽出したい元データの列に正しく指定しなおす必要があります。

XLOOLUP関数についてはこちら≫【エクセル】XLOOKUP関数の使い方やVLOOKUP関数との違いを解説!で詳しく説明しています。ぜひ参考にしてみてください。

エクセルで必要な「行」だけ抽出するには?[スライサー]の機能でワンクリック絞り込み

ここまではエクセルの必要な「列」だけ別シートに抽出する方法についてお伝えしました。

では、必要な「行」だけ抽出するにはどうしたらいいでしょうか?

必要な「行」だけ抽出するためには[テーブル]の[スライサーの挿入]機能が便利です。

近日公開予定です。しばらくお待ちください。

エクセルの必要な列だけを抽出する方法Q&A

Q

元データシートから資料用シートにデータをコピーするひと手間が面倒です。
ワンステップでシートをコピーする方法はありますか?

A

コピーしたいシートのシートタブ上で右クリックし、[移動またはコピー]をクリックすると
シートをコピーすることができます。「コピーを作成する」にチェックを入れて「OK」をクリックするとコピーされたシートがもう一枚作成されます。
シート名は(2)になっているので必要に応じて変更してください。

Q

離れた列をまとめて[グループ化]することはできないの?

A

残念ながら[表示設定]で[列の非表示]を行う場合と違い、隣接しない離れた列をまとめて[グループ化]することはできません。ひとつの隣接する列のかたまりごとに[グループ化]の設定をする必要がありますが、グループ化されたグループ同士は[-]アイコンの左端にある[1]アイコンをクリックすることでまとめて非表示にすることができます。

エクセルの表を必要な「列」だけ別シートに抽出する方法を使って仕事を効率化しよう!

今回はエクセルの表から必要な「列」だけを別シートに抽出する方法について解説しました。

必要な列だけ別シートに抽出すれば、情報が整理できて見た目がスッキリしますね。

また元データ自体には全く触れない方法のため、データそのものの破損を防いで安全に作業することができます。

最後に、エクセルの必要な「列」だけ別シートに抽出する方法について、おさらいします。

おさらい
  • [表示設定]を使う方法
  • [グループ化]を使う方法
  • [フィルター機能]で列を抽出する

自分にピッタリの抽出方法をマスターして、一目で伝わるわかりやすい資料作りを目指しましょう!

資料をさらに見やすく魅力的に!エクセルの数値を自動的に色分けする方法についてはこちら≫エクセルの数値を色分けするときの以上・以下の使い方で解説しています。

関連記事