エクセルで作業するとき、関数やマクロを使うと、業務を効率化することができます。
実際、マクロや関数を使えば、データ入力を自動化したり、「これは!」と思える面白い技も使えたりします。
とくにExcelマクロによる日常作業の効率化は、定型業務をこなしていく上で役立ちます。
ここでは、以下で関数やマクロを使って業務改善が可能なツールを紹介します。
またエクセルで役立つ仕事術についても解説していきます。
なおツールはVBAが保存されたエクセルファイルとしてダウンロードできるものありますので、興味があればお仕事でご活用ください。
目次
- 1 エクセル業務を効率化するための3つのアイデア
- 2 ツール紹介前に覚えておきたいこと
- 3 2. エクセル関数で業務を効率化する
- 4 業務に役立つExcelマクロによる日常作業の効率化
- 5 3-1. エクセルマクロVBA|Excel×PDF作業を自動化
- 6 3-2.エクセルマクロVBA|Excel×フォルダ(エクスプローラー)作業を自動化
- 7 3-3. エクセルマクロVBA|Excel×Outlook作業を自動化
- 8 3-4. エクセルマクロVBA|Excel×Word作業を自動化
- 9 3-5. エクセルマクロVBA|Excel×Web作業を自動化
- 10 3-6. エクセルマクロVBA|ルーティン作業を自動化
- 11 4. Pythonで業務を自動化する
- 12 補足. PythonとVBAはどちらが優れているか?
- 13 エクセル以外で仕事を効率化する方法
- 14 Excel VBAについて詳しく理解したいなら
エクセル業務を効率化するための3つのアイデア
2. エクセル関数で業務を効率化する
3. エクセルマクロVBAを業務を自動化()
4. Pythonで業務を自動化する
以下で一つずつ紹介していきます。
ツール紹介前に覚えておきたいこと
このページでは、ツールを紹介していきますが、その前に覚えておいてほしいことがあります。
それはエクセル作業を早くするなら、ショートカットキー習得を優先的に取り組むと良いということです。
なぜならショートカットキーを使いこなせる人とそうではない人では、作業の早さが大きく変わるからです。
おおげさに聞こえるかもしれませんが、私の体感的にはそれくらい作業速度が変わります。
事例1. エクセルのショートカットキーの活用
エクセルの実作業でどのようにショートカットキーを活用しているかを動画でご覧ください。
上記の動画では、私がエクセル作業を行うときによく使うショートカットキーを実際に使ってエクセルを操作しています。
ショートカットキーの使い方の参考になると思いますので、ぜひご覧ください。
なお以下で、ショートカットキーについてさらに詳しく紹介しています。
動画だけでなく上記のページもご覧いただけると、さらにエクセルの作業速度をアップできるはずです。
タイピングスキルを高める
上記でエクセルのショートカットキーの活用方法について記載しました。
これについて、一つ補足があります。
それは、エクセル仕事における基礎はショートカットキーよりタイピングということです。
なぜなら、エクセル仕事のほとんどはキーボードで操作するからです。
そのため、ショートカットキー習得はタイピングスキルによって頭打ちになってしまうことがあるのです。
たとえるならタイピングは算数のかけ算九九のようなものです。
算数では九九ができないと、四則演算を早く計算することはできません。
しかし九九計算の一つ一つをパパっと計算する力がないと、複数の四則演算をパパっとこなすことができないのです。
ここでいうタイピングスキルがかけ算九九の計算能力で、ショートカットキースキルが四則演算を早く行う能力なのです。
もし基礎であるタイピングがイマイチなのであれば、ショートカットキーを習得しようとしても、なかなか上達しません。
タイピングスキルについては、以下の記事で紹介しています。
ぜひこちらもよんでみてください。
2. エクセル関数で業務を効率化する
事例2. ガントチャート(エクセル関数)
エクセル関数を使ったガントチャートの作り方を解説しています。
条件付き書式を上手に活用して、入力した日付に対応して色付けしたり、休日を灰色表示したりする方法を詳しく紹介しています。
事例3. グラフと売上表(エクセル関数)
エクセル関数を使った売上表とグラフを自動作成する方法を解説しています。
sumifs関数を活用して、表のデータが自動集計されグラフが自動更新されるように設定する方法を詳しく紹介しています。
事例4. タスク進捗管理表(エクセル関数)
エクセル関数を使ったタスク進捗管理表の作り方を解説しています。
進捗のステータスを変更することで、色が変えたり、プロジェクト全体の進捗を表にしたりする方法を詳しく紹介しています。
事例5. 在庫管理表(エクセル関数)
エクセル関数を使った在庫管理表の作り方を解説しています。
入出庫数を入力することで、在庫状況を色で教えてくれるような機能を持たせる方法を詳しく紹介しています。
事例6. 2段階プルダウンリスト(エクセル関数)
エクセル関数を使った2段階プルダウンリストの作り方を解説しています。
一段階目は部署で分類し、二段階目は部員を選択できるようにする方法を詳しく紹介しています。
一段階目で選択した部署に応じて、二段階目で選択できる人が変更されます。
事例7. スコアによってランキング順に並び替えする(エクセル関数)
エクセル関数を使って、スコアで順位を並びかえる方法を解説しています。
売上による順位付けや、点数によるランク付けをしたいときに使える関数を使い方を紹介しています。
業務に役立つExcelマクロによる日常作業の効率化
3-1. エクセルマクロVBA|Excel×PDF作業を自動化
事例8. エクセルVBAで請求書PDF作成|複数の取引先別に自動転記(マクロテンプレートあり)
エクセルを使って請求書や見積書を手入力で作成している人は少なくありません。
このとき、膨大な量の請求書を手入力で作成するとなると、記載ミスを引き起こす可能性があります。また、量が多いために計算間違いをしたりしてしまうことがあります。
しかし、このようなミスはエクセルマクロVBAを活用することで大きく改善することができます。
そこで、請求書や見積書をエクセルマクロVBAで作成する方法を解説します。
・請求書はPDFとして作成し、所定フォルダへ保存
・請求書の締め日も調整可能(これは事前入力で対応)
・マクロ入りテンプレートダウンロード可能
このページで紹介しているマクロはダウンロード可能です。
ページ下部にフォームがありますので、ぜひお仕事でご活用ください。
事例9. マクロVBAでPDFの全テキスト情報をエクセルに書き出し一覧表示する
PDFのデータを読んでいるとき、そのテキストを一覧にしたいときがあります。
このときマウスで範囲指定してコピーし、エクセルへ貼り付けしていくことになることが多いです。
しかしテキスト情報が多いPDFの場合、この作業は時間がかかる上にとても面倒くさいです。
またコピー箇所を間違えて、抜けや漏れがあったりすることもあります。
そこでこのページではVBAを使ってPDFのテキスト情報を取得し、エクセルへ一覧にする方法を紹介します。
・PDFのテキスト情報をXMLを再帰的に処理して取得するプログラムを解説
・VBA入りのエクセルファイルをダウンロード可能
それでは以下で詳しく紹介していきます。
事例10. マクロVBAで請求書PDFの表データをエクセル台帳に自動転記
請求書PDFの表データを、エクセル台帳へ転記したいときがあります。
このときマウスで一つ一つコピーし、エクセルへ貼り付けしていく場合が多いです。
しかしテキスト情報が多いPDFの場合、この作業は時間がかかる上にとても面倒くさいです。
またコピー箇所を間違えて、抜けや漏れがあったりすることもあります。
そこでこのページではVBAを使ってPDFの表データを取得し、エクセルへ一覧にする方法を紹介します。
・VBA入りのエクセルファイルをダウンロード可能
それでは以下で詳しく紹介していきます。
3-2.エクセルマクロVBA|Excel×フォルダ(エクスプローラー)作業を自動化
事例11. VBAで複数フォルダを階層別に一括作成|エクセルマクロ×フォルダ操作
作成したフォルダ数が5程度であれば、手入力で作成することでも問題ありません。
しかし作成したいフォルダ数が数10個以上作る場合、マクロを使った方が早いです。
実際マクロを使えば、10コでも100コでも自動で処理を行うことができます。また、フォルダ名を間違えずに作成することができます。
・VBAプログラム入りのエクセルファイルをダウンロード可能
このページでは、マクロで複数フォルダを階層別に作成するプログラムを紹介します。
またVBAプログラムが含まれたエクセルファイルをダウンロードすることもできるようにしていますので、興味がある人はご活用ください。
事例12. VBAでフォルダ内のファイル名とサブフォルダを取得し一覧化|拡張子も出力する方法
フォルダ内のファイルやフォルダの名前をエクセルに書き出したいときがあります。
たとえば、フォルダに資料を集約した内容を取引先や別チームへ共有したい場合があります。
しかしフォルダ内のファイルやフォルダの名前を目視で確認しながらエクセルに書き出すと、作業に時間がかかってしまいます。
またミスタイプによって、誤った名前を相手に共有してしまうこともあります。
そのため単純作業にもかかわらず、負荷が大きくなってしまいます。
このときVBAを使うと、エクセルに自動で出力することができます。
そこでExcel×フォルダ操作のVBAサンプルを紹介します。
・エクセルファイル(サンプル)を無料ダウンロード
実際にどのようなことができるかは以下の動画で解説をしています。
それでは以下で詳しく紹介していきます。
3-3. エクセルマクロVBA|Excel×Outlook作業を自動化
事例13. VBAで複数Outlookメールを個別作成し一斉送信|添付ファイルも付ける
仕事をしていると、顧客や社員向けに個別で一斉メールを送信したいときがあります。
しかし1通1通メールを作成していると、作業に時間がかかってしまいます。またメール作成中にミスをしてしまうと、誤った情報を相手に送ってしまいかねません。
そのため単純作業にもかかわらず、負荷が大きくなってしまいます。
このときExcel VBAとOutlookを活用してメール作成作業を自動化すると処理を簡略化できます。
そこでExcel VBA×Outlookを活用したVBAサンプルを紹介します。
・メールに添付ファイルを付ける
・テキストファイルからメール本文を取得
・紹介するプログラム入りのエクセルをダウンロード可能
それでは以下で詳しく紹介していきます。
事例14. エクセルマクロVBAで無料メルマガ配信(メール定期通知)スタンドを作る
顧客に定期的にメール配信をしたいときがあります。
このような作業は、外部のメルマガスタンドを購入して対応する人も多いはずです。
しかしお金をかけずともVBAを使ってExcel×Outlook×Textでツールをつなぎ合わせることで自作することが可能です。
このページでは、VBAでメール定期通知システム(メルマガ配信スタンド)を作ってみます。
・VBAプログラム入りのエクセルをダウンロード可能
それでは以下で詳しく紹介していきます。
事例15. エクセルマクロVBAでOutlook受信メールを一覧に!添付ファイルも保存
Outlookで受信したメールをエクセルに一覧にしたい
アウトルックのメールに添付されている資料を、自動でフォルダに保管したい
受信メールを解析して、業務分析したい
そんなことを考えているなら、この記事を読んでみてください。この記事では、以下の内容を紹介します。
・受信したメールに添付されているファイルを保存
・受信メールの分析・解析の方法
すぐに使えるコードも紹介しますので、ぜひこのまま読みすすめていってください。
3-4. エクセルマクロVBA|Excel×Word作業を自動化
事例16. エクセルマクロVBAで資料送付状(Word)の作成・印刷を効率化
取引先に資料送付状を作成して印刷する作業があります。
たとえば上記のような資料送付状の作成・印刷です。
この資料送付状を作成するためには、日付や取引先の入力が必要です。
取引先への資料のため、ミスがないように作成することが求められます。
しかし、どうしても入力ミスしたり記載が漏れたりしてしまうものです。
そこでマクロを使って、資料送付状の作成と印刷を効率化してみます。
・マクロで作成時間を短縮させる
・VBAプログラム入りのエクセルをダウンロード可能
ページ下部で、このページで紹介しているVBAプログラムをダウンロードすることもできますので、ぜひお仕事にご活用ください。
事例17. VBAでWord議事録メモを作成して最前面表示!ファイルコピーと一覧化で整理整頓
VBAを使って議事メモ作成を効率化するツールを紹介します。
議事メモの作成そのものを効率化するというよりは、議事メモのテンプレートをVBAで呼び出し、所定のフォルダに保管する作業をVBAで自動処理させます。
これにより、毎回同じフォーマットの議事メモのテンプレートを使用できること、後で議事メモをフォルダから探す手間が省くことができること、といった恩恵を受けることができます。
・ミーティングごとに議事メモの保管先を分ける
・VBA入りのエクセルファイルをダウンロード可能
それでは以下で詳しく紹介していきます。
事例18. エクセルVBAでWordにデータを差し込み置換してPDFに変換・作成
仕事をしていると、顧客や社員のエクセルリストの情報からPDFを作成したいときがあります。
しかしエクセルをワードに転記しPDFを作成する工程を一つずつ行っていると、作業に時間がかかってしまいます。
また資料にミスがあると、やり直しになったり信頼を失ってしまったりしかねません。
このときExcel VBAとWordを組み合わせるとPDF作成作業を自動化できます。
そこでExcel×Word×PDFを連携したVBAサンプルを紹介します。
・VBAプログラム入りのエクセルをダウンロード可能
それでは以下で詳しく紹介していきます。
3-5. エクセルマクロVBA|Excel×Web作業を自動化
事例19. VBAのHTTPリクエストでウェブページのタイトル(件名)を取得しエクセル出力
VBAを使うと、ウェブページの件名(タイトル)を取得しエクセルに出力します。
VBAでウェブページの件名(タイトル)を取得する方法はいくつかありますが、ここではHTTPリクエストを使った方法を紹介します。
・取得したウェブサイトのタイトルをエクセルへ出力
・VBAプログラム入りのエクセルをダウンロード可能
それでは以下で詳しく紹介していきます。
3-6. エクセルマクロVBA|ルーティン作業を自動化
事例20. エクセルマクロVBAで毎週の作業チェックリストの作成・印刷を自動化
毎週のチェックリストを作成して印刷する作業があります。
たとえば以下のようなチェックリストを使う場合を考えます。
上記のチェックリストは日付を入力し、土日の色を変更して印刷を行う必要があります。
もちろん手入力でも可能ですが、これを毎週作成するとなると面倒に感じる人は少なくないはずです。
そこでマクロを使って、毎週の作業チェックリストの作成を効率化してみます。
・VBAプログラム入りのエクセルをダウンロード可能
このページでは作業を効率化するマクロの作り方からプログラムまで解説します。
ページ下部で、このページで紹介しているVBAプログラムをダウンロードすることもできますので、ぜひお仕事にご活用ください。
事例21. エクセルマクロVBAで集計|月末処理のデータ計算を自動化|サンプル付
エクセルのルーティン作業の一つに、月末のデータ集計があります。
月末処理の作業そのものは分かっていても、データを集めたり集計したりすると、思った以上に時間がかかってしまうものです。
特に忙しい時期に月末処理を行うとなると、手が回らなかったり、集計ミスをしたりしてしまいがちです。
しかしエクセルマクロを使えば、月別集計のデータ計算を一瞬で終わらすことができます。
一度仕組みを作ってしまえば、毎月の手入力作業を不要にすることも可能です。
実際、ボタンを押すだけで集計を完了させることもできます。
このページではデータ計算を自動化して、月末日処理をVBAに実行させる方法を紹介します。
またすぐに使えるサンプルもページ下部でダウンロード可能です。
・VBAプログラム入りのエクセルをダウンロード可能
他のデータ集計プログラムもあります。以下のページで紹介しています。
事例22. エクセルマクロVBAでデータ項目別にシートコピーし自動転記
エクセル内の情報を別ファイルへ転記する作業があります。
たとえばエクセルのデータを項目ごとに別シートへ転記するような場合です。
このような作業は手入力でも可能ですが、項目が多かったり作業頻度が高かったりすると、大きな負担になります。
そこでボタン一つで、項目別にシート作成し、データ転記するマクロを解説します。
・コピーしたシートにデータを種類別に自動転記
・VBAプログラム入りのエクセルをダウンロード可能
またページ下部で、このページで紹介しているVBAプログラムをダウンロードすることもできますので、ぜひお仕事にご活用ください。
事例23. エクセルマクロで毎日(月別)の作業用チェックリストを自動作成・印刷
月別(毎日)のチェックリストを作成して印刷する作業があります。
たとえば上記のような作業チェックリストです。
上記のチェックリストを作成するためには、日付を入力し、土日の色を変更して印刷を行う必要があります。
もちろん手入力でも可能ですが、これを毎月作成するとなると面倒に感じる人は少なくないはずです。
そこでマクロを使って、作業チェックリストの作成と印刷を効率化してみます。
・VBAプログラム入りのエクセルをダウンロード可能
ページ下部で、このページで紹介しているVBAプログラムをダウンロードすることもできますので、ぜひお仕事にご活用ください。
事例24.フローチャート作成ツール(マクロVBA)
これはエクセル関数ではなく、エクセルマクロを使ったフローチャートの操作方法を解説しています。
以下の記事からフローチャート(マクロ入りのエクセル)をダウンロード可能です。
事例25. エクセルマクロVBAの業務改善事例50のサンプルコード|ダウンロード可
このサイトで紹介しているエクセルマクロVBAのサンプルプログラムをまとめました。
リンク先からエクセルファイルをダウンロードできるようにしました。
ぜひ役に立ちそうなものを活用してください。
4. Pythonで業務を自動化する
Pythonを使うと、Excel仕事を効率化することが可能です。
効率化できる操作は多岐にわたりますが、分かりやすいところで言えば以下のような作業を自動化できるのです。
・読み込み
・データ処理
・書き込み
・グラフ化
・ウェブスクレイピング
・PythonでExcelマクロ実行(VBA)
・Excelの印刷設定
しかし上記のような作業ができると言われても、具体的にどのようにPythonを仕事に応用すればいいのか迷ってしまうことは少なくありません。
以下でPythonでExcel仕事を効率化できる事例を解説しています。
Excel仕事をPythonで効率化したい人はぜひご覧ください。
さて、Python×Excelの事例をいくつか紹介します。
事例26. Excel×Slackで自動投稿
Pythonを使うとSlackにチャットを自動投稿することができます。
たとえば、売上の集計結果をPythonに毎週通知する作業があったとします。
この作業を手動で毎週実施するのはメンドウです。実際、計算間違いをしてしまったり、忘れてしまったりするものです。
そこで、Pythonを活用することで、作業自動化を行います。
以下の記事では集計プログラムと組み合わせて、データ集計を行ったExcelをSlackに通知するプログラムを紹介します。
事例27. PythonでPDFテキストを読み込みExcel変換して一覧化
Pythonを使うとPDFのテキストデータを読み込んでExcelに一覧にすることが可能です。
ここでは実務の事例として、PDFをもとにExcelに書き込んでいくPythonプログラムを紹介します。ただしプログラムの性質上、欠点もあります。
以下で詳細を紹介しています。
事例28. Excelのデータ処理(Pandasを使って処理)
Pythonを使うメリットの一つにデータ処理のPandasを使えることがあります。
データ解析はExcelの機能で十分といえば、十分です。
Excel関数やピボットテーブルを使えば、データ処理は満足いくものを実行可能です。
それではPandasを使ったデータ処理のメリットは何かというと、豊富なライブラリと組み合わせることができる点です。
たとえば、機械学習のような高度な処理につなげることができます。
他にも、ウェブスクレイピングした結果をそのままPandasで解析することで、一気通貫で処理を実行できる点も魅力的です。
そこで、以下の記事でPandas×Excelの処理事例を紹介します。
事例29. エクセルのデータを月別かつ製品別にグラフを自動作成
仕事をしていると、エクセルのデータを集計してグラフ化することがあります。
しかしデータを一つずつ手作業でやるのはメンドウですし、入力ミスが発生してしまうものです。
そこでPythonを使ってグラフ作成を自動化します。
以下の記事では、Excelに入力してあるデータ(400件程度)から月別かつ製品別に複数のグラフを自動作成する事例を紹介しています。
記事の事例では4つのグラフを自動作成していますが、データが増えても範囲を自動で読み込んでいくつでもグラフを作成可能です。
データ解析とグラフ化作業はルーティン作業なので、自動化できれば大いに役立つはずです。
事例30. ExcelからPythonを呼び出す
エクセル操作中に、Pythonを実行したいときがあります。
実はPythonでExcelを操作するライブラリのなかで、xlwingsであればそれが可能です。(OpenpyxlはVBAを実行することは難しい)
以下の記事では、エクセルからPythonプログラムを実行する方法について紹介していきます。
補足. PythonとVBAはどちらが優れているか?
このページではExcel作業を効率化する方法としてPythonだけではなくVBAも紹介しています。
学習者の置かれている状況次第というのが、私の結論です。
しかしPythonとVBAの選択肢があるが故に、どちらを学べばいいのか悩んでしまうことも少なくありません。
そこで、PythonとVBAの違いについて紹介していきます。
違い2. PythonとVBAのプログラム
違い3. PythonとVBAの学習
違い4. PythonとVBAの転職
違い5. PythonとVBAの副業
以下で詳しく紹介していますので、興味がある人はご覧ください。
エクセル以外で仕事を効率化する方法
エクセル以外で仕事を効率化する方法を紹介します。
Pythonで自動化できること
上記でPythonでExcel仕事を効率化するページを紹介しました。
しかしながら、Pythonで出来ることはExcel作業の自動化だけではありません。
Word, Outlook, PDF, Googleスプレッドシート, Gmail, 様々な外部アプリなど多岐にわたります。
その汎用性でいえば、VBAより優れています。というのもVBAは主にMicrosoft Officeアプリの作業自動化を得意としているからです。
Pythonで出来る操作は多岐にわたりますが、なかなかイメージしづらい人も多いです。
そこでPythonを仕事で活用していく方法を事例をまじえながら紹介していきます。
GASで自動化できること
Googleのアプリケーションを使用する場合は、GAS(Google Apps Script)を使用することをお勧めします。
以下でGASでできることを紹介しています。
Excel VBAについて詳しく理解したいなら
上記は、私が実際にVBAを活用して効率化してきた事例を紹介しています。
VBAを活用すると、仕事を効率化できる幅を広げることができます。
Excel VBAで出来ることは動画でも解説
動画でも解説しています。
エクセルマクロVBAで出来ることを15の事例で紹介|日常業務をラクにするヒントを見つけよう!
(音声が小さいので、ボリュームを上げてご覧いただければと思います)
VBAの勉強方法
私はプログラミング初心者からVBAを勉強を始めて少しずつレベルアップしていきました。
成長の過程は以下で紹介しています。
学習の過程では、意識すべきポイントがあります。
特に独学の場合だと、勉強を優先してしまい、肝心な実践を疎かにしがちです。
私の経験では、実践から逆算した勉強が必要だと考えています。
目指すべきは会社でお金をもらいながら勉強することです。
要はVBAを仕事の一つとして上司に認めてもらうのです。
そうすればわざわざ高いお金を払って勉強をする必要がなくなります。
しかも作業を自動化して、会社やチームに貢献しつつ、自らのスキルアップできます。
そのために必要な考え方を以下で紹介しています。
とはいえ、プログラミング初心者でVBAについて知識ゼロの人もいるはずです。
いきなり会社でVBAで使うことさえ、とてつもなくハードルが高く見えてしまうものです。
その場合は、VBAの基本について学ぶ必要があります。
たとえば車の運転も慣れてしまえば、たいしたことではありません。
しかし教習所で運転の基本を学び、免許を取得することで、公道で運転できるようになります。
VBAも同じです。VBAに免許はありませんが、まずは基本を学ばないことには会社で使えるレベルにはなりません。
実際に私もプログラミング初心者のときは、動画を見たり書籍を読んだりして勉強しました。
今はオンラインの教材で無料で学習できるものも多いです。
上記のリンクでは、私の経験から勉強にオススメの教材を紹介しています。
興味がある人はご覧ください。