この記事では「エクセルで必要な列・行だけ抽出し別シート(項目も)に出力する方法【関数:VBAマクロ:範囲指定】」について解説していきます。
ポイントは、
・フィルタ―機能の活用
・別シート参照やIF関数の活用
・VBAマクロの活用
ですね。
それでは詳しく見ていきましょう。
エクセルで必要な列・行だけ抽出し別シート(項目も)出力する方法1【フィルター機能を使ってデータを抽出する】
それではサンプルを用いて処理方法をみていきましょう。
サンプルでは、A列に県名、B列に生産物名が入っています。
このデータから福岡県のみのデータをつくります。
手順1)データの範囲を選択してデータタブ→フィルターを選びます。
手順2)県名の福岡にフィルターを掛けると福岡のデータだけが残ります。このままではフィルターを解除するとデータはもとにももどります。
手順3)福岡だけのデータが表示されたら、そのデータ範囲をコピーします(Ctrl + Cのショートカットなど)。
手順4)コピーしたデータを別のシートに貼り付けます。
このデータは元データを変更しても変更されたデータはコピーしたデータには反映されません。
エクセルで必要な列・行だけ抽出し別シートに(項目も)出力する方法2【関数使用】
方法1では元データと抽出したデータは関連性が無くなっていましたが、方法2では関数を使用のため、生産物のデータを変更すると抽出したデータも変更される仕様となります。
それではサンプルを用いて処理方法をみていきましょう。
手順1)シートを追加してA1シートに抽出と名前をつけ、A1のセルに抽出したい名前「福岡」を入れます
手順2)A2のセルに「=Sheet1!A1」といれそれをB2のセルにコピーします。(=と入れた後に、シート1に移り、A1セルをクリックするだけで参照できます)
「=Sheet1!A1」はSheet1!A1のデータをいれるという数式になります。
Sheet1!A1のデータを変えると抽出のデータも変わります。
B2のセルには「=Sheet1!B1」が書き込まれ、セルにはそれぞれ県名、生産物と表示されます。
B2に「=Sheet1!A1」をコピーするとA1は自動的にB1に変わった関数が入ります。
手順3)A3のセルに「=IF($A$1=Sheet1!$A2,Sheet1!A2)」と書きます。(こちらでもセル参照時は、左下のシートタブで任意のシートに移り、セルクリックで指定できます)
それを、B3にコピーしさらにデータの行数だけコピーします。
手順4)FALSEの行を削除すれば抽出したデータのシートになります。
Sheet1の生産物のデータを書き換えると抽出シートも変更されます。
エクセルで必要な列・行だけ抽出し別シートに(項目も)出力する方法3【VBAマクロ使用】
方法2ではデータが更新されますが、作業が煩雑になります。
方法3ではVBAを使って作業を簡略化します。
それではサンプルを用いて処理方法をみていきましょう。
手順1)データがあるSheet1のB4のセルに抽出したい項目を入れる
手順2)Sheet1にボタンを2つ挿入する(開発タブ、フォームコントロール、ボタン)
手順3)ボタンの名前を変更する
手順4)抽出ボタンに下記マクロを登録する
Sub 抽出()
' 抽出 Macro
Worksheets.Add.Name = "抽出"
K = 1
Worksheets("抽出").Cells(K, 1) = Worksheets("Sheet1").Cells(1, 1)
Worksheets("抽出").Cells(K, 2) = Worksheets("Sheet1").Cells(1, 2)
For I = 2 To 2000
If Worksheets("Sheet1").Cells(I, 1) = Worksheets("Sheet1").Cells(2, 4) Then
K = K + 1
Worksheets("抽出").Cells(K, 1) = Worksheets("Sheet1").Cells(I, 1)
Worksheets("抽出").Cells(K, 2) = Worksheets("Sheet1").Cells(I, 2)
End If
Next I
End Sub
手順5クリアボタンに下記マクロを登録する
Sub CLEAR()
' CLEAR Macro
Sheets("抽出").Delete
End Sub
マクロを登録後に「抽出」ボタンを押す。「抽出」シートが追加されて「福岡」の抽出データが作成されます。
「クリア」ボタンを押すと「抽出」シートを削除する警告がでて「はい」を選択すると「抽出」シートは削除されます。
まとめ エクセルで必要な列・行・項目だけ抽出・出力・表示する方法
この記事ではエクセルにて必要な列、行だけ抽出し別シートに出力する方法を3つご紹介しました。それぞれの方法を理解し、業務に役立てていきましょう