Excel

【Excel】エクセルで必要な列・行だけ抽出し別シート(項目も)に出力する方法【関数:VBAマクロ:範囲指定】

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では「エクセルで必要な列・行だけ抽出し別シート(項目も)に出力する方法【関数:VBAマクロ:範囲指定】」について解説していきます。

ポイントは、

・フィルタ―機能の活用

・別シート参照やIF関数の活用

・VBAマクロの活用

ですね。

それでは詳しく見ていきましょう。

 

エクセルで必要な列・行だけ抽出し別シート(項目も)出力する方法1【フィルター機能を使ってデータを抽出する】

 それではサンプルを用いて処理方法をみていきましょう。

サンプルでは、A列に県名、B列に生産物名が入っています。

このデータから福岡県のみのデータをつくります。

手順1データの範囲を選択してデータタブ→フィルターを選びます。

 

手順2県名福岡フィルターを掛けると福岡のデータだけが残ります。このままではフィルターを解除するとデータはもとにももどります。

手順3福岡だけのデータが表示されたら、そのデータ範囲をコピーします(Ctrl + Cのショートカットなど)。

手順4コピーしたデータを別のシートに貼り付けます。

このデータは元データを変更しても変更されたデータはコピーしたデータには反映されません。

 

 

エクセルで必要な列・行だけ抽出し別シート(項目も)出力する方法2【関数使用】

方法1では元データと抽出したデータは関連性が無くなっていましたが、方法2では関数を使用のため、生産物のデータを変更すると抽出したデータも変更される仕様となります。

 

それではサンプルを用いて処理方法をみていきましょう。

手順1)シートを追加してA1シートに抽出と名前をつけ、A1のセルに抽出したい名前「福岡」を入れます

 

手順2A2のセルに「=Sheet1!A1」といれそれをB2のセルにコピーします。(=と入れた後に、シート1に移り、A1セルをクリックするだけで参照できます)

=Sheet1!A1」はSheet1!A1のデータをいれるという数式になります。

Sheet1!A1のデータを変えると抽出のデータも変わります。

B2のセルには「=Sheet1!B1」が書き込まれ、セルにはそれぞれ県名、生産物と表示されます。

B2に「=Sheet1!A1」をコピーするとA1は自動的にB1に変わった関数が入ります。

手順3A3のセルに「=IF($A$1=Sheet1!$A2,Sheet1!A2)」と書きます。(こちらでもセル参照時は、左下のシートタブで任意のシートに移り、セルクリックで指定できます)

それを、B3にコピーしさらにデータの行数だけコピーします。

手順4FALSEの行を削除すれば抽出したデータのシートになります。

Sheet1の生産物のデータを書き換えると抽出シートも変更されます。

 

 

エクセルで必要な列・行だけ抽出し別シート(項目も)出力する方法3【VBAマクロ使用】

方法2ではデータが更新されますが、作業が煩雑になります。

方法3ではVBAを使って作業を簡略化します。

 

 それではサンプルを用いて処理方法をみていきましょう。

手順1データがあるSheet1のB4のセルに抽出したい項目を入れる

手順2Sheet1にボタンを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つご紹介しました。それぞれの方法を理解し、業務に役立てていきましょう