
「なんだか今月、売上が低い気がする…」
そんなモヤモヤを感じたとき、なんとなくの感覚だけで判断するのではなく、データを使って冷静に状況を把握することが大切です。
この記事では、売上金額が低いと感じたときに、まず“事実”を見える化するためのExcel分析方法をご紹介します。
売上金額が低い状況をデータで見える化するための準備
まずは、売上の状況を視覚化できるようにする準備から始めましょう。エクセルで分析するには、元となる売上データが必要です。
■ 売上データCSVファイルについて
売上データは、たとえば以下のようなCSV形式で出力されていることが多いです。

このようなCSVファイルをExcelに読み込めば、日付ごとの売上推移の売上状況を視覚的に把握できます。
Excel VBAで売上分析を行う方法|フォーム作成から集計・グラフ化まで
次に、実際にどのように分析を進めていくのかを解説します。
1. 準備した売上データCSVをExcelbookに保存
2. Excelbookの売上データを元に必要な項目を集計
3. 売上集計したシートをもとに日別売上推移をグラフ化
たったこれだけで、どの日に売上が低かったのか、逆に高かったのかが一目でわかるようになります。
■ フォーム作成手順

■ 売上データから必要項目を自動集計する

■ 集計データを基に日別売上推移をグラフ化する手順


この日別売上推移グラフをチェックすれば、どの日に売上が前年同日より低かったのか、状況がすぐにわかります。
【コピペOK】売上分析に使えるExcel VBAコード
エクセルVBAで自動化したい場合、以下のコードで日別売上の集計グラフを作ることが可能です。
ThisWorkbookモジュール用コード
- Option Explicit
- Private Sub Workbook_Open()
- UserForm1.Show vbModeless ' モーダルエラーを回避
- End Sub
フォームモジュール用コード
- Option Explicit
- Private Sub UserForm_Initialize()
- ' フォーム初期化時にウィンドウを最小化し、フォームを前面に出す
- Application.WindowState = xlMinimized
- Me.Show vbModeless
- End Sub
- Private Sub btnSelectCSVFolder_Click()
- Dim fldr As FileDialog
- Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
- If fldr.Show = -1 Then
- txtCSVFolder.Value = fldr.SelectedItems(1)
- End If
- End Sub
- Private Sub btnSelectOutputFolder_Click()
- Dim fldr As FileDialog
- Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
- If fldr.Show = -1 Then
- txtOutputFolder.Value = fldr.SelectedItems(1)
- End If
- End Sub
- Private Sub btnImportCSV_Click()
- If txtCSVFolder.Value = "" Then
- MsgBox "CSVフォルダを指定してください。", vbExclamation
- Exit Sub
- End If
- If Not IsDate(txtStartDate.Value) Or Not IsDate(txtEndDate.Value) Then
- MsgBox "日付を正しく入力してください。(例:2024/02/01)", vbExclamation
- Exit Sub
- End If
- Dim startDate As Date, endDate As Date
- startDate = CDate(txtStartDate.Value)
- endDate = CDate(txtEndDate.Value)
- If startDate > endDate Then
- MsgBox "開始日は終了日より前にしてください。", vbExclamation
- Exit Sub
- End If
- Call ImportCSVData(txtCSVFolder.Value, startDate, endDate)
- ' フォームを前面に戻す
- Me.Hide
- Application.WindowState = xlMinimized
- Me.Show vbModeless
- End Sub
- Private Sub btnRun_Click()
- If txtOutputFolder.Value = "" Then
- MsgBox "保存先フォルダを指定してください。", vbExclamation
- Exit Sub
- End If
- Dim startDate As Date, endDate As Date
- startDate = CDate(txtStartDate.Value)
- endDate = CDate(txtEndDate.Value)
- Call GenerateReport(txtOutputFolder.Value, startDate, endDate)
- ' フォームを前面に戻す
- Me.Hide
- Application.WindowState = xlMinimized
- Me.Show vbModeless
- End Sub
- Private Sub btnClose_Click()
- ThisWorkbook.Save
- Application.Quit
- End Sub
標準モジュール用コード
ご好評をいただいております。下記コンテンツは2026年6月末まで期間限定価格となっております。はじめてご利用の方は、事前にこちらを確認ください。 (2026年6月末までの通常価格600円⇒半額のプレミアム価格: 300円(税込)でご利用いただけます)
有名なブログサービス「はてなブログ」も、コンテンツ販売サービスの「codoc」と連携しています。安心してご利用ください。※vba-navサイトでユーザー様のクレジットなどの決済情報は一切管理していません。
また、オンライン購入する際、個人情報の入力に不安を感じる人も、安心して購入できるコンビニ決済が使えます。
