エクセル初心者
エクセルの必要な列だけ別シートに抽出できないかな?
資料を作るときにいらない部分のデータは隠したいんだよね。
できるよ!「抽出」というと難しそうだけど、初心者でも簡単ステップで挑戦できる方法を紹介するね!
Dr.オフィス
たくさんの列が並んだエクセルファイルはとても見にくいですよね。
だからといって不要な列自体を削除してしまうと、他の必要な列にまでエラーが出てしまい困ります。
この記事では必要な列だけを別シートに抽出する方法を紹介します。
- [表示設定]を使う方法
- [グループ化]を使う方法
- [フィルター機能]で列を抽出する
エクセル使用歴20年の私が、エクセルの表を必要な「列」だけ別シートに抽出する方法を教えるよ!
Dr.オフィス
初心者さん向けの簡単ステップから、関数を使ったちょっと上級編まで、実際のエクセル画面を使ってわかりやすく解説していきます。
ぜひピッタリの方法を見つけて参考にしてくださいね!
※本記事は『OS:Windows11』画像は『Excelのバージョン:MicrosoftOffice2021』を使用しています。※CHOOSECOLS関数の部分のみ『Excelのバージョン:Microsoft365』を使用しています。
目次
エクセルの必要な列だけを抽出して別シートに整理する方法を3つ解説
まずは以下の3つの方法を解説します。
- [表示設定]を使う方法
- [グループ化]を使う方法
- [フィルター機能]で列を抽出する
それぞれの方法を詳しく見ていきましょう。
[表示設定]を使って必要な列だけ表示しよう
まずは一番簡単な方法、[表示設定]で必要な列だけを抽出して表示する方法です。
横に長い表をギュッと短縮して操作しやすい画面にするなど、一時的な対処に向いています。
架空のデータベース「20XX年度担当者別売上一覧」を使って、各月の列を非表示にし、四半期の列だけを抽出するやり方を見ていきましょう。
- STEP
元データの表を別シートにコピー
元データのワークシートをコピーして加工用のシートを用意します。
元データのシートタブ上で右クリックし、「移動またはコピー」をクリックするとダイアログボックスが出現します。「コピーを作成する」にチェックを入れてOKを押すと、元データの隣に同じシート名の末尾に(2)がついた複製シートが挿入されます。
元のシートは編集せずそのまま残し、この先の手順はすべてコピー先のシートで操作してください。
- 元データのワークシートのタブ上で右クリック
- 「移動またはコピー」を押す
- 「コピーを作成する」にチェックを入れる
- 「OK」をクリック
- STEP
不要な列の選択
今回はコピー先のシート名をわかりやすいように「資料用」に変更しています。
列番号をクリックし、不要な列を選択します。
離れた列を一度に選択したいときは最初の列を選択したあとctrlを押しながら別の列をすべて選択します。
- STEP
[列を表示しない]をクリック
不要な列を選択した後、「列を表示しない」設定を行いましょう。
- 不要な列を選択
- 「ホームタブ」をクリック
- 「書式」を押す
- 「非表示/再表示」にマウスポインターを合わせる
- 「列を表示しない」を選択する
- STEP
非表示を確認
不要な列を非表示にし、必要な列のみを抽出することができました!
画面上では非表示になっていますが、よく見てみるとその列があった場所には折り畳まれたことがわかるような印があります。
印刷プレビューでも不要な列は非表示のまま、必要な列だけ抽出されるよ!
Dr.オフィス
- STEP
再表示したいときは「列の再表示」を押す
いちど非表示にした列を再度表示したい場合は、非表示にした列をはさむように左右の列を選択し、以下の手順を行います。
- 非表示にした列をはさむように左右の列を選択
- ホームタブをクリック
- 「書式」を押す
- 「非表示/再表示」にマウスポインタ―を合わせる
- 「列の再表示」をクリックする
このように[表示設定]を使えば、列を一瞬で非表示にしたり再表示に戻したりすることができます。
数秒でサッと設定できるので、作業時間をとられることなく効率的に変更でき、急いでいるとき、一時的に列を非表示にしたい場合などにピッタリの方法です。
ただし、この方法には「非表示にした列がパッと見では見つかりにくい」という欠点があります。
[非表示/再表示]を日常的に繰り返し切り替える場合や、複数人で同じファイルを使って作業する場合には次の[グループ化]を使う方法が良いでしょう。
[グループ化]を使って必要な列だけ表示しよう!
必要な列だけ表示するもうひとつの簡単な方法として[グループ化]があります。
[グループ化]はもともと複数のデータをまとめて扱いやすくするための方法ですが、グループ化したデータはワンクリックで非表示にすることができとても便利です。
この機能を利用して必要な列だけを表示しましょう。
- STEP
元データの表を別シートにコピー
元データのワークシートをコピーして加工用のシートを用意します。
元データのシートタブ上で右クリックし、「移動またはコピー」をクリックするとダイアログボックスが出現します。「コピーを作成する」にチェックを入れてOKを押すと、元データの隣に同じシート名の末尾に(2)がついた複製シートが挿入されます。
元のシートは編集せずそのまま残し、この先の手順はすべてコピー先のシートで操作してください。
- 元データのワークシートのタブ上で右クリック
- 「移動またはコピー」を押す
- 「コピーを作成する」にチェックを入れる
- 「OK」をクリック
- STEP
不要な列の選択
今回はコピー先のシート名をわかりやすいように「資料用」に変更しています。
列番号をクリックし、不要な列を選択します。
隣り合う複数の列をまとめて選択することは可能ですが、[非表示]にするときと違い、離れた列をctrlで選択してまとめてグループ化することはできません。
- STEP
[グループ化]をクリック
不要な列を選択した状態で[データ]タブの[グループ化]をクリックします。
- 不要な列を選択する
- 「データ」タブをクリック
- 「アウトライン」を選択
- 「グループ化」を押す
- 「グループ化」をクリックする
- STEP
[ー]アイコンをクリック
グループ化した列の上に[-]アイコンが出現するのでクリックしましょう。
- STEP
グループ化された列が非表示になり、必要な列だけ抽出された
[ー]アイコンをクリックするとグループ化された列が非表示になり、必要な列だけ抽出された状態になりました。
- STEP
複数のグループをまとめて非表示にしたいとき
それぞれグループ化された離れた列をまとめて非表示にしたい場合は、[-]アイコンの左端にある[1]アイコンをクリックします。
- STEP
再表示したいとき
非表示になった列を再表示したいときは[+]アイコンをクリックします。
- STEP
グループ化を解除したいとき
グループ化を解除し[-][+]アイコンをなくしたい場合は、グループ化を解除したい列を選択した状態で[グループ解除]をクリックしましょう。
- グループ化を解除したい列を選択
- 「データ」タブをクリック
- 「アウトライン」を押す
- 「グループ化解除」をクリックする
- 「グループ解除」を選択
[グループ化]を利用して必要な列だけ表示する方法は、さきほどの[非表示/再表示]に比べるとワンタッチで操作でき非常に便利です。
また、非表示にしてある状況でも上部に[+]が表示されているため、非表示の列が隠れていることが一目瞭然です。
複数人で同じファイルを共有する場合などはこの方法が良いでしょう。
しかし、離れた列を一気にグループ化することはできないため、項目の多い表から必要な列だけ抽出する作業には向いていません。
項目の多い表から一気に必要な列だけ別シートに抽出する場合には、次の[フィルター]機能で列を抽出する方法がおすすめです。
[フィルター]機能で列を抽出!?意外な使い道
エクセルのフィルター機能はいつもは「行」を抽出するのに使われる機能です。
でもこのフィルターのオプション機能[詳細設定]を使うと、必要な「列」だけを別シートに抽出することができます。
- STEP
新しいワークシートを挿入する
ワークシートのタブの横の[+]をクリックすると、【Sheet2】などのシート名のまっさらなワークシートが挿入されます。
元のシートは編集せずそのまま残し、この先の手順はすべて新しいワークシートで操作してください。
- STEP
挿入したシートに必要な項目のヘッダーをコピー
先ほどSTEP1で挿入した新しいシートが分かりやすいように、今回は新しいシート名を「資料用」に変更しています。
元データのシートから抽出したい列のヘッダーだけをコピーし、加工用の新しいシートに貼り付けます。
今回は不要な列である各月のヘッダーはのぞき、四半期のヘッダーのみを残してコピーしました。
タイトルもコピーしておきましょう。
- STEP
[詳細設定]から[フィルターオプションの設定]をクリック
貼り付けたヘッダーを選択した状態で[フィルターオプションの設定]に進みましょう。
- 貼り付けたヘッダーを選択する
- 「データ」タブをクリック
- 「並べ替えとフィルター」内の「詳細設定」を押す
- STEP
[リスト範囲]と[抽出範囲]を設定し「OK」をクリック
抽出先、リスト範囲、抽出範囲を入力し、「OK」を押しましょう。
- [抽出先]は「指定した範囲」にチェックを入れる
- [リスト範囲]は元データのシートのリスト全体を指定
- [抽出範囲]には加工用シートにさきほどコピーしたヘッダー部分を指定
- 「OK」をクリック
- STEP
必要な列の抽出ができた!
一瞬で必要な列だけがコピーされ、抽出することができました。
[フィルター]機能で必要な列だけ別シートに抽出する方法はこれまでの2つの方法に比べて少し複雑です。
しかし必要な列のヘッダーだけ設定してしまえば、あとは[フィルターオプションの設定]で一瞬で必要な列だけ抽出することができます。
資料作成のたびに何度も繰り返し抽出したい場合などに向いている方法です。
ただし、ここまでの3つの方法には、もし元データのシートに修正があったときは抽出をやりなおさなければいけないという欠点があります。
ここから先の[関数]を使う方法は一度設定してしまえば元データが修正されても変更不要です。ぜひトライして更に仕事を効率化しましょう!
エクセルの[関数]を使って必要な列を別シートに抽出する技3選!
[表示設定][グループ化][フィルター]機能を使う方法は非常に手軽で便利な方法ではありますが、「コピー元の表のデータが更新されたときにそれが反映されない」というデメリットがありました。
一時的な資料作成ではなく継続的にデータを追っていく場合や、何度も資料作成を行う場合などは、そのつど、元データをコピーして必要な列だけを表示しなければなりませんでした。
この問題を解消してくれるのが、下記の[関数]を使う方法です。
- [CHOOSECOLS関数]を使う方法
- [INDIRECT関数]を使う方法
- [XLOOKUP関数]を使う方法
少し難しい方法になりますが、一度設定してしまえば元データが増えたり変更されても再設定の必要はありません。
元のデータが変更されれば参照先のデータも連動して変更されます。
別シートに必要な列だけを抽出する場合に使える関数の組み合わせを3つお伝えしますので、ぜひチャレンジしてみてください。
[CHOOSECOLS関数]を使って抽出する列を直接指定
CHOOSECOLS関数は、指定された列データから指定された行データを取り出すことができる関数です。
シンプルで簡単なので、ぜひ活用してみてください。
- STEP
元データから必要な項目のヘッダーをコピーして貼り付ける
元データから資料用に、抽出したい列のヘッダーをコピーして貼り付けましょう。
- STEP
抽出したい列番号の確認
抽出したい列番号を確認して、関数に入力します。
- STEP
CHOOSECOLS関数を入力
- A4セルを選択
- 関数【=CHOOSECOLS(元データ!A4:V23,1,2,3,4,5,9,13,17,21,22)】を入力する
- STEP
[スピル]機能で自動的にコピーされた!
CHOOSECOLS関数を入力しEnterで確定すると、自動的にスピル機能で抽出したい列が全てコピーされました。
[スピル]については ≫エクセルのスピルを徹底解説!新機能を使いこなして仕事効率アップ! で詳しく解説していますので参考にしてください。
[INDIRECT関数]を使って抽出するセル番号を直接指定
INDIRECT関数は他のワークシートにあるデータを別のワークシートに取り出す関数です。
「=INDIRECT(“元データ!A1″)」のようにセル番号を直接指定できるのが特徴です。
「A列・C列・F列だけ表示したい」という場合に「=INDIRECT(“元データ!A1”)」「=INDIRECT(“元データ!C1″)」「=INDIRECT(“元データ!F1”)」などと分かりやすく指定できます。
- STEP
元データから必要な項目のヘッダーをコピーして貼り付ける
新しいワークシートを挿入し、そのシートに元データのシートから抽出したい列のヘッダーだけをコピーして貼り付けます。
今回は不要な列である各月のヘッダーはのぞき、四半期のヘッダーのみを残してコピーしました。タイトルもコピーしておきましょう。
- STEP
INDIRECT関数を入力
ヘッダーのすぐ下のセルを選択し、INDIRECT関数を入力してenterを押します。
INDIRECT関数の引数[参照文字列]は、通常【”元データ!A4″】などシート名とセル番号を直接指定して構成します。しかし今回はシート名・列番号までは【”元データ!A”】と直接指定し、その後に続く行番号については直接指定せずに【&】でROW関数をつなげています。
こうすることで抽出対象のセルの行番号はROW関数により自動判定されます。
- STEP
ドラッグして後続のセルに反映させる
入力したINDIRECT関数をドラッグして後続のセルにも反映させましょう。
先ほどのSTEP2でINDIRECT関数の引数[参照文字列]の行番号をROW関数のネストにしておいたため、引数を一行ずつ書き換える必要がなくドラッグのみで反映させることができます。
- STEP
他の列に数式をコピーする
先ほど入力したセルの数式をコピーし、他の列に貼り付けます。引数の[参照文字列]はその列で抽出したい元データの列番号ABC・・・に修正してください。
- 先ほど入力したセルの数式をコピーし、他の列の先頭に貼り付ける
- 引数の[参照文字列]をその列で抽出したい元データの列番号ABC・・・に修正し、enterを押す
STEP3と同じようにドラッグして後続セルに反映させよう!
Dr.オフィス
INDIRECT関数についてはこちら≫【関数の組み合わせ】VLOOKUP関数とINDIRECT関数で参照先を変える技!で詳しく説明しています。ぜひ参考にしてみてください。
「=INDIRECT(“元データ!A1”)」のように引数をダイレクトに設定することがができるため設定が簡単で分かりやすい関数ですが、その分手作業での設定になるため、こちらも列数の多い表には向きません。
せいぜい10~20列までの抽出に対応できますが、それ以上多くの列の抽出には次の[XLOOKUP関数]を使う方法が適しています。
[XLOOKUP関数]のスピル機能で何千行でも一気にコピー
XLOOKUP関数は表の特定の列を検索して一致したセルと同じ行の別の列の値を返す便利な関数です。
一つの列を検索キーとして別シートにコピーしておき別の列にXLOOKUP関数を入力することで、必要な列だけを抽出することができます。
XLOOKUP関数はスピル機能に対応しているため、ひとつのセルに数式をいれてenterを押すだけで他のすべての行に数式が自動的に入ります。
- STEP
元データから検索キーになる列とヘッダー行をコピーして貼り付ける
新しいワークシートを挿入し、そのシートに元データのシートから検索のキーになる列全体と抽出したい他の列のヘッダーをコピーして貼り付けます。タイトルもコピーしておきましょう。
今回はC列「社員コード」を検索キーにしています。
- 新しいワークシートを挿入
- 検索のキーになる列全体を元データからコピーして貼り付けておく
- 抽出したい他の列のヘッダーを元データからコピーして貼り付けておく
- STEP
XLOOKUP関数を入力
ヘッダーのすぐ下のセルにXLOOKUP関数を入力します。
引数[検索値]には同じ行のキーになる項目のセルを指定して、列のみ絶対参照にしておきます。例:$C4
引数[検索範囲]は元シートのキーになる項目の列全体を指定して、範囲は絶対参照にします。列:$C:$C
引数[戻り範囲]には抽出したい列を指定しましょう。
- ヘッダーのすぐ下のセルを選択する
- XLOOKUP関数を入力してenterを押す
- STEP
[スピル]機能で自動的にコピーされた!
- STEP
他の列にも同じようにXLOOKUP関数を入力する
同じように他の列にもXLOOKUP関数を入力します。
ヘッダーのすぐ下の空欄セルを選択し、XLOOKUP関数を入力してenterを押します。STEP2で入力した関数をコピーしてそのまま貼り付けられますが、引数[戻り範囲]については抽出したい元データの列に正しく指定しなおす必要があります。
XLOOLUP関数についてはこちら≫【エクセル】XLOOKUP関数の使い方やVLOOKUP関数との違いを解説!で詳しく説明しています。ぜひ参考にしてみてください。
エクセルで必要な「行」だけ抽出するには?[スライサー]の機能でワンクリック絞り込み
ここまではエクセルの必要な「列」だけ別シートに抽出する方法についてお伝えしました。
では、必要な「行」だけ抽出するにはどうしたらいいでしょうか?
必要な「行」だけ抽出するためには[テーブル]の[スライサーの挿入]機能が便利です。
エクセルのスライサーはデータの絞り込みをワンタッチで行える機能です。シート上に並んだボタンをクリックするだけでパッ!パッ!と切り替えてデータの絞り込みを行えるため、スピーディーなデータ分析には欠かせません。
- STEP
データをテーブルに変更する
[スライサー]を利用するためには、まずデータを[テーブル]形式に変更する必要があります。リスト形式の表のままでは[スライサー]を挿入することはできません。
- 元データの表を加工用の別シートにコピー
- 表内のセルをクリック
- [挿入]タブを選択
- [テーブル]をクリック
- データ範囲には表全体のセル範囲を指定する
- [先頭行をテーブルの見出しとして使用する]にチェックを入れる
- [OK]をクリック
- STEP
[スライサーの挿入]をクリックし、絞り込みに利用する項目を選択する
作成したテーブルにスライサー機能を追加します。
- テーブル内のセルをクリック
- [テーブルデザイン]タブを選択
- [スライサーの挿入]をクリック
- 絞り込みをかけたい項目のチェックボックスをクリックして✓マークを入れる
- [OK]をクリック
- STEP
項目のボタンをクリックしてデータの絞り込みを行う
ボタンの並んだ[スライサー]で絞り込みたい項目のボタンをクリックすると、該当するデータだけが表示されます。スライサーでは現在選択している項目のボタンが青く残り、選択していない他の項目のボタンは白くなります。
スライサーの他のボタンをクリックすると絞り込みが切り替わり、今度はそのボタンのみが青くなります。
エクセルで必要な「行」だけ抽出する方法のひとつとして、[スライサー]を解説しました。
詳しくはこちら≫【エクセル】スライサーを使ってみよう!初心者でも簡単5ステップでデータ抽出で紹介しています。
エクセルの必要な列だけを抽出する方法Q&A
Q
元データシートから資料用シートにデータをコピーするひと手間が面倒です。
ワンステップでシートをコピーする方法はありますか?
A
コピーしたいシートのシートタブ上で右クリックし、[移動またはコピー]をクリックすると
シートをコピーすることができます。「コピーを作成する」にチェックを入れて「OK」をクリックするとコピーされたシートがもう一枚作成されます。
シート名は(2)になっているので必要に応じて変更してください。
Q
離れた列をまとめて[グループ化]することはできないの?
A
残念ながら[表示設定]で[列の非表示]を行う場合と違い、隣接しない離れた列をまとめて[グループ化]することはできません。ひとつの隣接する列のかたまりごとに[グループ化]の設定をする必要がありますが、グループ化されたグループ同士は[-]アイコンの左端にある[1]アイコンをクリックすることでまとめて非表示にすることができます。
エクセルの表を必要な「列」だけ別シートに抽出する方法を使って仕事を効率化しよう!
今回はエクセルの表から必要な「列」だけを別シートに抽出する方法について解説しました。
必要な列だけ別シートに抽出すれば、情報が整理できて見た目がスッキリしますね。
また元データ自体には全く触れない方法のため、データそのものの破損を防いで安全に作業することができます。
最後に、エクセルの必要な「列」だけ別シートに抽出する方法について、おさらいします。
- [表示設定]を使う方法
- [グループ化]を使う方法
- [フィルター機能]で列を抽出する
自分にピッタリの抽出方法をマスターして、一目で伝わるわかりやすい資料作りを目指しましょう!
資料をさらに見やすく魅力的に!エクセルの数値を自動的に色分けする方法についてはこちら≫エクセルの数値を色分けするときの以上・以下の使い方で解説しています。