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 …

線形回帰予測の達人!FORECAST.LINEAR関数

【第1セクション】 FORECAST.LINEAR関数を使って未来の値を予測する方法 マイクロソフトExcelは、データの分析や予測に役立つ多機能なソフトウェアです。FORECAST.LINEAR関数は、線形回帰分析を利用して未来の値を予測することができます。この関数を使うことで、ビジネスや経済の分野で収益や需要の予測を行うことができます。 【第2セクション […]

「成績アップの秘訣、Copilotで見つけ出す」

効率的な成績分析と改善策提案のためのCopilot for Microsoft 365 Copilot for Microsoft 365は、教育機関で成績分析や改善策の提案を行う上で非常に便利なツールです。教育機関では、生徒たちの成績の推移を把握し、問題を早期に発見し対策を講じることが重要です。この記事では、Copilot for Microsoft 36 […]

「Excelでデータ整理・分析を効率化!ピボットテーブルの使い方とは?」

データ解析を効率化!ピボットテーブルの使い方 データの整理や分析作業は、ビジネスやプロジェクト管理の重要な一環です。しかし、大量のデータを手作業で整理するのは大変な作業ですよね。そんなときに便利なのが、Microsoft Excelのピボットテーブル機能です。この機能を使うことで、短時間でデータの解析や可視化が可能になります。本記事では、ピボットテーブルの使 […]