すべて
Teams
社内情報共有
タレマネ
人材育成
ツール導入ノウハウ
すべて
Teams
社内情報共有
タレマネ
人材育成
ツール導入ノウハウ
Excel
業務効率化

Excelのマクロを活用して複数店舗データの集約・分析を行う方法

September 10, 2023

Excelは複雑な集計をさせることが出来る優れたソフトウェアです。例えば店舗ごとに売上などのデータが入ったブックを集計する場合、店舗の数だけ、下記の手順の繰り返し行い、集計表を完成させることになります。

 ブックを開く→集計を行う→集計シートに転記→ブックを閉じる

店舗の数が、数件程度であれば、特に問題はないのですが、数十件、数百件ともなれば、手間がかかり、集計するまでの過程が大変です。

そこでVBAと呼ばれるマクロ機能を使えれば、これらの操作が楽に出来ます。今回はこの機能を使って、楽にできる方法を紹介します。

今回のマクロを使って、完了するまでの手順は次のブックを使用します。

・集計.xlsm マクロ機能が入ったブック。集計するための表とグラフの他に、VBE(ビジュアル ベーシック エディタ)内に、プロシージャ(プログラム)が書かれています。

・八王子店202307.xlsx 八王子店の売上等のデータが入ったブックです。

・品川店202307.xlsx 品川店の売上等のデータが入ったブックです。

ここでExcel内にあるVBEに、マクロ機能が使われていれば、拡張子は、「xlsm」になります。店舗数はいくらでも集計することが可能ですが、ここでは簡単に2店舗をサンプルとしています。

※Teamsを活用した業務効率化については以下の記事でも詳しく解説しています。ぜひご覧ください。

TeamsアプリListsを活用して社員のスキルを管理・可視化する方法

TeamsアプリListsで「インシデント管理」を効率的に行う方法

今回使用するマクロの流れ

  1. シートに店舗ごと集計するデータを保存し、店舗の名前と日付を付けて保存。(ファイル名「店舗日付.xlsx」)
グラフィカル ユーザー インターフェイス, アプリケーション, テーブル, Excel自動的に生成された説明

テーブル自動的に生成された説明

  1. 店舗ごとに保存したブックを、指定したフォルダへ保存しておきます。(フォルダ名「店舗フォルダ」)
グラフィカル ユーザー インターフェイス, テキスト, アプリケーション自動的に生成された説明

  1. 集計.xlsm内に、集計結果とグラフが表示されるように、マクロを実行します。

(F列、I列の計算式及び利益、客単価のグラフも設定済みの状態です。)

グラフィカル ユーザー インターフェイス, アプリケーション, テーブル, Excel自動的に生成された説明

  1. ①のデータが自動で集計され、各項目がセルに代入され集計やグラフが完成です。
Excel自動的に生成された説明


店舗データ管理のExcelテンプレート

最後に店舗データ管理のExcelテンプレートをご紹介します。

当記事でご紹介した項目を網羅したテンプレートとなっていますので、今すぐに業務に活用することが可能です。

ぜひ業務で活用してください。

店舗データ管理のExcelテンプレートのダウンロードはこちら

Excelでの運用に限界を感じている方はこちらもぜひご覧ください。

(DL無料)Teamsを活用した「脱Excel」事例集~Excel業務の負荷を削減する方法~


※researcHR(リサーチャー)は、Teams/Slackに追加するだけでチームの「誰が・何を知っているか」を集約・共有するアプリです。


マクロの解説

今回使用する、VBEに記述されたマクロのコードを見てみましょう。

基本的な見方として、1行目のSub TENPO_SYUKEI()から最終行のEnd Subまでが、1つのプログラムになります。この単位をプロシージャと言います。

今回使用するプロシージャは、大きく次のような流れになります。

  1. 変数の宣言
  2. FileSystemObject(ファイルシステムオブジェクト)
  3. For Each~Next構文を使ってフォルダ内のブックを選択する。
  4. 選択したブックを、For~Next構文を使って、日々のデータを集計し、変数に格納。
  5. 集計したデータを、予め作成している集計表に代入。
  6. 変数の初期化。
  7. ③に戻り別のブックの選択を繰り返す。

  1. 変数の宣言

プロシージャで最初に行うことは、変数の宣言です。2行目から13行目まで、次のような構文を使用して、宣言していきます。

Dim 変数名 As 変数の型

変数名は、任意の名前を付けることが出来ますが、SubやForと言った予約語と呼ばれるものは名前に使用することが出来ません。プロシージャ内で使われる単語と、同じ変数名であれば、区別がつかないからです。

変数の型は、文字や数字だけでなく、Excelで使われるブック、シート、セルの名前と言ったものになります。使い方としては、名前を付けた変数に、値などを格納し、プロシージャ内やプログラム全体で、活用していくことになります。

  1. FileSystemObject(ファイルシステムオブジェクト)

Excelのマクロ内で、ファイルやフォルダの操作を行うためには、FileSystemObject(ファイルシステムオブジェクト)が必要です。

そのためには、外部ライブラリを指定する方法と、プロシージャ内で、記述する方法のいずれかになります。ここでは、7行目でDim FSO As Objectと変数の宣言を行い、17行目で、CreateObjectメソッドを実行してFileSystemObjectのインスタンスを作成することで、フォルダ内にあるファイル名を、取得することが出来るのです。

  1. For Each~Next構文

For Each 文で、グループ名で指定したフォルダ内にあるファイル名を順番に選択します。

 For Each 変数(ファイル名) In 変数(グループ名)

   繰り返す構文

 Next 変数(ファイル名)

 

ここでのグループ名は、FOLDER_PATH です。変数に続けて「= ThisWorkbook.Path & "\店舗フォルダ"」とすることで、このフォルダ内のファイルを検索します。フォルダ名の前にあるThisWorkbook.Pathは、今実行しているブックと同じ場所にあるパスを指します。そのパス内にある「店舗フォルダ」を指すことになります。そしてそのフォルダ内のファイル名を、変数fに代入してくれるのです。

一度指定されたファイル名は、Next fまでそのファイル名が使われます。全てのファイル名を指定出来たら、For Each文は完了です。

次に変数fに、ファイル名が代入することが出来たら、ファイル名を、ワークブックの変数wbに代入します。更に変数wbで指定されたワークブックの、1番目のワークシートを変数wsに代入します。

Set wb = Workbooks.Open(f)

 Set ws = wb.Worksheets(1)

こうすることによって、店舗のデータが入っているワークシートのセルの値を、For~Next文によって、値を次から次へと参照していくのです。

ここでは2店舗しかないので、一つ一つ名前を指定して、処理することもできますが、将来店舗数が増えたときのことを考えてfor Each文を使うことをお勧めします。

  1. For ~ Next構文

先ほど③ではFor Eachでしたが、ここではEachを使わずに、定められた回数分繰り返す方法で、集計を行っていきます。

  For 変数 = 開始値 To 終了値

   繰り返す構文

  Next 変数

開始値を2で、終了値を32としているのは、Excelシートの行番号に合わせているからです。各店舗のシートの1行目には、項目名があるため、開始値は2、終了値の31日のデータは、32行目にあるため、32としています。

繰り返す内容としては、下記のパターンになります。

 変数=変数+ws.Cells( i , 数値)

売上は変数URIAGEに格納します。For Each文の開始直後に、シート名をwsに格納しているので、そのワークシートwsの、セル番地を指定して、値を変数に加算していきます。

Cellsはワークシートのセル番地を指定する関数です。括弧内の引数は、Cells(行番号、列番号)で構成されています。ws.Cells( i , 3)にあるiは、For文によって、2から始まり、3、4,5と増えていきます。その次の3は3列目ということで、A列から数えて3番目のC列となります。つまり最初に参照されるセルは、C2となります。

For~Next分によって、C2、C3、C4・・・と、参照するセルが、変化することで、変数URIAGEには、C列の値が、1つ1つ足されていくことになります。

  1. 変数の値を、セルに代入

変数ごとに、④で店舗ごとの集計を行いました。次に集計した変数の値を、集計シートへ反映させなければなりません。変数の値をどのセルに代入するか、先ほどの逆になります。

 Cells(j , 数値)=変数

Cellsの引数は、行番号、列名の順番は変わりません。上の行でj=3としていることで、3行目の指定した列に、変数の値が代入されることになります。

  1. 値の初期化

この時点で1つ目の店舗のシートの集計が完了しました。次の店舗のシートを集計する前に、変数URIAGEなどは初期化、つまり0に戻しておく必要があります。こうしておかなければ、1店舗目の売上などに、2店舗目の売上が積み上がってしまうからです。

  1. 繰り返し

Forから始まる構文は、Nextまでで、終了値であれば、終了となり、そうでなければForから繰り返します。

このプロシージャには、For Each文の中にFor i=2 To 32があます。2番目のFor構文を抜けても、For Eachで、選択されていないブックがなければ、集計が終了となります。

【Excelの運用に限界を感じ始めている方向け】
Teamsを活用して業務の負荷を削減する方法・事例集

Excelでの運用に限界を感じている方はこちらもぜひダウンロードしてご覧ください。

(DL無料)Teamsを活用した「脱Excel」事例集~Excel業務の負荷を削減する方法~


今回は別々のブックに保存されている2店舗を集計しました。運営する店舗数が増えていくことも考えられます。マクロを使って集計すれば、手作業で集計するよりも、時間も労力も忘れてしまうぐらい楽になるでしょう。

皆さんも、マクロ機能をマスターすることで、今までよりもより一層Excelが便利になります。

※Teamsを活用した業務効率化については以下の記事でも詳しく解説しています。ぜひご覧ください。

TeamsアプリListsを活用して社員のスキルを管理・可視化する方法

TeamsアプリListsで「インシデント管理」を効率的に行う方法


本記事はKBE(株)がresearcHR(リサーチャー)を提供する過程で蓄積された、現場の声やノウハウ・事例をもとに作成しております。

【Teamsに追加して使える】社内ナレッジ共有ツール
researcHR(リサーチャー)
チームの「誰が・何を知ってるか」を集約・共有

✅ナレッジ共有、属人化の解消
社内問い合わせの効率化
新人・異動者のフォローアップ
にお困りの際はぜひご相談ください。

researcHR(リサーチャー)について無料デモを見る

また、KBE(株)では、Teamsの運用・利活用コンサルティングを行っております。
企業やチームに最適のTeams運用方法を設計します。初回のご相談無料ですので、ぜひ一度お試しください。

Teams運用・利活用コンサルティングについて

Teams活用お役立ち資料集(無料配布中)

おすすめ記事

◆【マネージャー向け】Teamsお役立ち資料(※無料配布中)

KBE株式会社が、ナレッジ共有TeamsアプリresearcHRを提供する過程で蓄積された、様々な企業のTeamsアプリ活用事例をお伝えします。

◆Teamsの基本ガイド

Teams/Slack活用事例

KBE株式会社では、ナレッジ共有TeamsアプリresearcHRを提供しています。(Microsoft公式ソリューション、日経新聞に掲載)

その過程で蓄積された様々な企業のTeams/Slack運用事例をお伝えします。

資料請求(無料)

Teams/Slack+AI活用事例集

Teams/Slack利用企業の「活用事例集」を無料でご提供いたします。

無料ダウンロード

コンディション
分析・レポート サービス

researcHRは、Teamsに追加するだけで、
メンバーの「誰が・何を知っているか」を自動で収集し、
回答をAIが自動でポジティブ・ネガティブチェックすることで、自然なデータを算出。

さらに、算出されたデータから「要注視」ポイントをレポートでお渡しします。

サービスページ

新着コラム

Teams運用ガイドライン
作成サービス

Teams運用・利活用
コンサルティング

Teams運用・利活用コンサルティングでは、
researcHRを提供する過程で蓄積された様々な企業のTeams活用事例をお伝えします。
また、導入前段階における「Teamsの基本的な使い方」「活用方法」への支援実績も多く、企業やチームに最適の運用方法を設計します。
初回のご相談無料ですので、ぜひ一度お試しください。

お問い合わせサービス詳細

Teams/Slack活用事例

Teams/Slack利用企業の「活用事例集」を無料でご提供いたします。

Teamsを活用した
マネジメント事例集

資料請求(無料)

Slackを活用した
マネジメント事例集

資料請求(無料)
ブログ トップページ

researcHR(リサーチャー)

Teams/Slackに追加するだけで
「誰が・何を知っているか」を集約・共有する人事AIアシスタント

Teamsアプリを活用した
「誰が何を知っているか」の集約・共有 事例集

※Teams×ChatGPTを用いたナレッジ活用事例を、
わかりやすくご紹介します。

資料をメールで受け取る
Copyright © 2020 researcHR. All rights reserved.
Teamsアプリを活用したマネジメント事例集

“Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse tincidunt sagittis eros. Quisque quis euismod lorem.”

Author Name

Co-Founder and CEO of Company

お役立ち資料(無料配布中)

お役立ち資料(無料配布中)

Teams/Slackを活用事例集
マネジメントプラン紹介資料
ダウンロード
Teams/Slackを活用した
マネジメントTIPS集

Teamsアプリを活用したマネジメント事例集

KBE株式会社が、ナレッジ共有TeamsアプリresearcHRを提供する過程で蓄積された、様々な企業の「Teamsアプリを活用したマネジメントの事例やTIPS」をお伝えします。

「マネジメント」お役立ち資料一覧

「researcHR」サービス紹介資料

「マネジメント」お役立ち資料一覧

「researcHR」サービス紹介資料

Teamsに追加して使える

ナレッジ共有ツール researcHR(リサーチャー)

researcHRをTeams/Slackに追加するだけで、AIがメンバーの状況を収集するため、業務の状況やナレッジが自動で蓄積されます。

既存のナレッジ共有ツールやシステムで、「ログインされない」「データ入力/更新されない」「検索・活用できない」といった悩みを抱える方は、ぜひお問い合わせください。

researcHRについての資料をメールで受け取るTeams/Slackを活用事例集
マネジメントプラン紹介資料
ダウンロード
Teams/Slackを活用した
マネジメントTIPS集

researcHRのパッケージ一覧

若手・異動者 オンボーディング

新入社員や異動者の受け入れ、早期戦力化なら。週報やメンター制度の置き換えにも

問い合わせ管理

社内問い合わせの一元管理、効率化なら。履歴データを蓄積してナレッジ化、属人化解消にも

営業力強化

営業事例、提案資料等の集約なら。若手-ベテラン間、拠点間の格差解消にも

工数管理

工数管理・見える化なら。週報やExcelの集計、BIツールからの置き換えにも

Teamsに追加して使える

ナレッジ共有ツール
researcHR(リサーチャー)

✅ナレッジ共有、属人化の解消
社内問い合わせの効率化
新人・異動者のフォローアップ
にお困りの際はぜひご相談ください。

researcHRをTeams/Slackに追加するだけで、AIがメンバーの状況を収集するため、業務の状況やナレッジが自動で蓄積されます。

既存のナレッジ共有ツールやシステムで、「ログインされない」「データ入力/更新されない」「検索・活用できない」といった悩みを抱える方は、ぜひお問い合わせください。

researcHRについての資料をメールで受け取るTeams/Slackを活用事例集
マネジメントプラン紹介資料
ダウンロード
Teams/Slackを活用した
マネジメントTIPS集

※KBE株式会社が、ナレッジ共有TeamsアプリresearcHRを提供する過程で蓄積された、
様々な企業のTeams/Slack運用事例をお伝えします。

【すぐわかるresearcHR資料セット】
※researcHRをはじめて知っていただく方に向けて、わかりやすく基本機能や活用シーンをご紹介します。