Expand search form

「マクロでデータ集計を効率化!Ctrl + Shift + AでVBA自動フィルター」

【第1セクション】

マイクロソフトExcelで自動フィルターを活用しよう!

もし、Excelで大量のデータを扱っている場合には、そのデータを効率よく整理する必要があります。そのような場合に便利なのが、自動フィルターです。自動フィルターを使えば、データの範囲を簡単に制限でき、必要なデータのみを視覚的に把握することができます。そこで、この記事では、自動フィルターを利用したデータ整理方法を解説します。

【第2セクション】

使用方法

ステップ1:新規マクロの作成

まずは、Ctrl + Shift + Aキーを押して、新規マクロを作成します。マクロ名は、適宜つけてください。

ステップ2:自動フィルターの実行

VBAで自動フィルターを実行するためには、以下のコードをマクロに追加します。

ActiveSheet.ListObjects(“テーブル名”).Range.AutoFilter Field:=[フィルターをかける列番号], Criteria1:=[フィルターの条件]

上記の「テーブル名」の部分は、対象のデータのテーブル名に置き換えます。フィルターをかける列番号は、自動フィルターの対象とする列の番号に置き換えます。そして、フィルターの条件は、必要に応じて変更してください。

ステップ3:マクロの実行

マクロを実行すると、自動フィルターが実行され、条件に合うデータにフィルタリングされます。

【第3セクション】

使用例

使用例1:月別の売上合計を出す

想定するセールスレポートのテーブルは、以下の通りです。

日付 | 商品名 | 売上金額
— | — | —
1月1日 | 商品A | 1000円
1月1日 | 商品B | 2000円
1月2日 | 商品A | 1500円
1月2日 | 商品B | 2500円
… | … | …

この場合、まずは自動フィルターを使用し、「日付」の列をフィルタリングし、対象期間のデータのみを表示します。そして、VBAを用いて、「売上金額」の列を集計します。以下がそのコードです。

Sub SalesTotalByMonth()
Dim tbl As ListObject: Set tbl = ActiveSheet.ListObjects(“SalesReport”)
Dim salesTbl As ListObject: Set salesTbl = tbl.ListColumns(“売上金額”).DataBodyRange
Dim i As Long
Dim dict As Object: Set dict = CreateObject(“Scripting.Dictionary”)

For i = 1 To salesTbl.Rows.Count
Dim dateStr As String: dateStr = tbl.DataBodyRange.Cells(i, 1).Value
Dim price As Long: price = salesTbl.Cells(i, 1)
Dim monthStr As String: monthStr = Format(CDate(dateStr), “yyyy/mm”)

If Not dict.Exists(monthStr) Then
dict.Add monthStr, price
Else
dict(monthStr) = dict(monthStr) + price
End If
Next i

Dim key As Variant
Dim r As Long: r = tbl.ListRows.Add.Range.Row
For Each key In dict.Keys()
tbl.ListRows.Add
tbl.Range.Cells(r, 1).Value = key
tbl.Range.Cells(r, 2).Value = dict(key)
r = r + 1
Next key
End Sub

このコードを実行すると、以下のような結果が出力されます。

日付 | 売上金額
— | —
2022/01 | 7000円

このように、自動フィルターとVBAを効果的に使えば、膨大な量のデータを効率的かつ簡単に集計することができます。

【第4セクション】

まとめ

Excelを使って大量のデータを操作する場合、自動フィルターを使用すれば必要なデータだけを視覚的に把握することができます。さらに、VBAを使って自動フィルターを組み合わせれば、のため、素早く正確なデータ集計が可能になります。自動フィルターとVBAを活用して、データの整理を効率的かつ確実に行いましょう。

Previous Article

“ズーム効果で視線をコントロール”

Next Article

「整理整頓もバッチリ!OneDriveでのファイルのタグ付け方法」

You might be interested in …

「VBAエディタで簡単マクロ作成!Alt+F11で開始、F5で実行!」

マイクロソフトExcelでVBAを使ってマクロを作成しよう! VBA(Visual Basic for Applications)は、マイクロソフトExcelの機能を拡張し、自動化したり独自の機能を追加したりするためのプログラミング言語です。VBAを使用することで、繰り返し行われる作業を自動化したり、複雑な計算や処理を行ったりすることができます。 使用方法 […]

通貨表示の達人!DOLLAR関数

数値を通貨形式に変換するDOLLAR関数の活用方法 DOLLAR関数は、数値を通貨形式の文字列に変換するために使用できる非常に便利な関数です。この関数を活用することで、金額などの数値を通貨の形式で見やすく表示することができます。 使用方法 ステップ1: DOLLAR関数を入力するセルを選択します まず、通貨形式に変換したい数値が入力されているセルを選択します […]

「営業の星になる、Copilotで成績アップ」

営業成績の追跡とパフォーマンス向上への効果的な利用方法 Microsoft 365のCopilotは、営業成績を追跡し、パフォーマンスを向上させるための強力なツールです。Copilotを使用することで、営業活動の進捗状況や重要な指標をリアルタイムで把握し、効果的な戦略やアクションプランを立てることができます。以下では、Copilotの使用方法と具体的な効果的 […]