Excel(エクセル)プログラミング学習法:VBA・マクロ・Pythonによる業務効率化の違いを解説
更新日:2023.11.18
最近のDX化の影響でプログラミングに興味を持ち始めた50代会社員の方も多いのではないでしょうか。一方でこれまでパソコンといえばWordやExcel(エクセル)くらいしか使ったことがなく、50代の自分にはプログラミングなんて夢のまた夢と諦めている方もいるかもしれません。
そんな方には、使い慣れたExcel(エクセル)の活用を入り口としてプログラミングを始めるのがおすすめです。

業務効率化スキルを身に着けたいと思っていますが、Excel(エクセル)に関連したプログラミングでどんな事ができるのか知りたいです。またどうやってそのスキルを身につければ良いですか?
Excelでプログラミングを使うと、経理データなどのデータ集計やグラフ作成、分析を自動で行ったり、見積書などのファイルを自動で作成するなどの業務効率化を行うことができます。 Excel(エクセル)に備わっている「関数」「IF文」を使うスキルやExcel VBAやPythonのプログラミングスキルを学ぶ必要があります。 書籍や動画などのサンプルプログラムを修正して動かしながら基礎を学び、業務に活かせるものを「作りたいものを作りながら学ぶ」のがおすすめです。

目次
結論:Excel(エクセル)で関数やVBAを学ぶことで、普段の業務から効率化を実現できます
通常の業務などで使用されることも多いExcel(エクセル)ですが、プログラミングを使うことで、使用の幅が広がります。データ集計やグラフ作成、分析、ファイルを作成するなど、行なったこともあるかもしれません。それらの作業を毎月など、何度も行うようなら、プログラムし、自動化してしまうことで、業務効率化が行えます。最初は、書籍や動画で真似しながら学び、業務の小さな作業にも活かしていき、少しずつできることを増やしていくとよいです。
Excel(エクセル)とプログラミングでできること
まず、Excel(エクセル)とプログラミングができるとどのような業務で効率化ができるのかについてお話します。
1)データ集計
経理・人事・営業などのビジネスから発生するデータの集計
2)グラフ作成などデータの可視化
データ集計の結果をグラフなどで可視化する。
3)データ分析
集計されたデータやグラフに対して統計処理を行い、予測や分類を行う。
4)ファイル作成
請求書や見積書、勤怠管理表などのファイルを自動で作成する。
5)Webスクレイピング
ECサイトや株価のウェブページから、特定のデータを繰り返し自動で抽出する。
6)実装のレベル
「関数」「IF文」などのExcel(エクセル)に元々備わっている機能とExcel VBAやPythonなどのプログラミング言語を使って以下のようなレベルで実装していきます。
● 単体のExcel(エクセル)シート内での効率化と自動化
● 複数のExcel(エクセル)シート間での連携と自動化
● 複数のExcel(エクセル)ファイル間での連携と自動化
● Excel(エクセル)以外のアプリケーションとの連携と自動化
Excel(エクセル)業務効率化におすすめの学習分野と勉強方法
次に、上述したようなExcel(エクセル)での業務効率化スキルを身につけるための、おすすめの学習分野と勉強法を解説します。
学習分野1:Excel(エクセル)の「関数」と「IF文」
本格的なプログラミング言語を使う前に、まずはExcel(エクセル)だけで使える「関数」と「IF文」を学ぶことがおすすめです。
関数とは、データの入力に対して処理をおこない、結果を返すもののことです。
Excel(エクセル)には合計、平均などの処理をおこなう約500種類の関数が備わっており、これらに慣れ親しんでおくとプログラミング学習の理解度が高まります。
また、条件分岐ができる「IF」関数を使えばプログラミング言語並の複雑な処理ができるようになります。
学習方法:
できるネット.”Excel関数 機能別一覧(全486関数)”.2021-04-27.
関数としてどんな関数があるのか、ざっと見てみる。全ての関数を確認することは大変なので、分類インデックスの簡単な説明を見てみるとイメージが掴みやすいと思います。全部を使えるようになるというのは無理なので、最初は知るということが目的となります。ざっと目を通して、自分の業務に関わりがありそうな分類や使えそうな分類を詳しく見てみるとよいです。
学習分野2:Excel VBAによるマクロ作成
Excel(エクセル)の「関数」と「IF文」に慣れたら、次に組み込まれたプログラミング言語である「VBA(Visual Basic for Application)」によるマクロ作成ができるようになると、Excel(エクセル)単体でかなりの自動化・業務効率化ができるようになります。
マクロとは複数の操作を自動的に実行できるプログラムのことで、人手でおこなうと時間がかかる処理を短時間で終えることができます。
このマクロを組むためのプログラミング言語がExcel VBAなのですが、Excel VBAはExcel(エクセル)に特化したプログラミング言語のため、学習範囲が一般的なプログラミング言語よりも少な目ですし、難易度としても易しいので最初に学習する言語に適しています。
また、勤務先で困っていることをマクロ化してすぐに成果として実感できるので、「短期間で実績を出しながら並行してスキルアップできる」のも魅力です。
学習方法:
発注ラウンジ.”VBAとは?Excelでマクロを作成するための基礎知識と便利な作業自動化”.2022-12-20.
マクロとはどういうものなのか、VBAをどうやって利用していくのかを見てみましょう。エクセルが使えれば、利用ができます。YouTubeなどの動画で、どうやって始めるのか、概要を掴むのもよいでしょう。
学習分野3: PythonによるExcel(エクセル)操作
Excel VBAによるマクロ作成ができるようになったら、PythonによるExcel(エクセル)操作もできるようになると、より幅広い業務効率化に対応できるようになります。3
例えば、大量のExcel(エクセル)ファイル間の処理やExcel(エクセル)以外とのアプリケーションと連携して処理や自動化を行うことができます。
参照元:鎖プログラム.”【Python】Excelを操作方法をまとめました”.2022-02-07.
学習方法:
Pythonは、ファイルを作成し、実行するための開発環境が必要となります。開発環境があるツール(Google Collaboratory)や開発環境がセットになっている学習サイトで最初は触ってみるとよいです。自分が作りたいものや、業務で使えそうなところを意識して学習を進めていくと、学習効果が高まります。
以下の学習方法を記載した記事も参考にしてみてください。

50代でもProgateでPythonを学習できると聞き、利用を検討している方もいるでしょう。結論…
ExcelVBAとの比較:
よく「Excel VBAとPythonとどちらを勉強したら良いですか?」という質問を受けるので、ここでExcel VBAとPythonでできることとその違いについて以下にまとめておきます。
Excel VBA | Python | |
用途 | Excel(エクセル)でのデータ集計 Excel(エクセル)でのグラフ作成などの可視化 Excel(エクセル)でのデータ分析 Excel(エクセル)での自動化 Webスクレイピング | データ集計 グラフ作成などの可視化 データ分析 自動化 Webスクレイピング |
できること | 10万件未満のデータをExcel(エクセル)で扱うこと | 10万件以上のビッグデータの扱い 人工知能・機械学習の学習データの扱い Excel(エクセル)の複数ファイル間の処理 異なるアプリケーション間の処理・自動化・グラフなどの可視化 |
案件や転職時の求人ニーズ | 高い | 高い |
アマレベルでもできる業務があるか | ある | ある |
習得の難易度 | 中 | 中ー高 |
結論から言うと、
「Excel VBAでもPythonとほぼ同じことができる」
「Pythonを習得するとビッグデータの扱いや人工知能などより活用範囲を広げることができる」
と言えます。
副次的な効果としては、Pythonは注目度が高いAIやデータ分析の分野でよく使われるため、一般に認知度が高く、プログラミングをやったことがない部長レベルの管理職や人事部の人でも認知度が高い(名前だけは聞いたことがある)です。 そのため、履歴書・職務経歴書にPythonの学習経験や実績、資格などを載せておくと書類審査の段階で有利に働く可能性が高いです。
実際に、履歴書に当スクールでExcel VBAとPythonを勉強していることを記載し、面接の最後のほうでそれを話したところ、面接官の目の色が急に変わって「研修するので場合によってはSE採用でもいい」くらいに喰い付かれて転職に成功された方もいます。
詳しくは事例インタビュー 「【50代転職成功事例インタビュー】金融経験xIT で思わぬオファー。プログラミングをかじっているレベルで面接官が前のめりに!」をご参照ください。
次に読みたい

今回は「経験xIT」で見事に転職に成功された生徒様の事例を紹介いたします。 金融業界での現場経験が…
Excelプログラミングの勉強方法
まず、どのプログラミング言語でも共通の「プログラミング学習ロードマップ概要」をお示し、次に各学習分野に特有の学習方法をお伝えいたします。
プログラミング学習ロードマップ概要
以下、どのプログラミング言語でも共通の「プログラミング学習ロードマップ概要」となりますが、詳細はe-Book 「プログラミングの学び方セカンドキャリアでの稼ぎ方」をご参照ください。
書籍・動画(Udemy)・セミナー・スクール
2. 書籍などのサンプルプログラムをコピペ・写経して動かす
タイプミス・構文ミスを自分で発見して対処できる練習をする。
3.2.で動かしたプログラムに自分なりの修正を加えてオリジナル化する
サポートには専門家が効果的
4.自分で「作りたいものを作りながら学ぶ」
設計がキモ サポートには専門家が必要
上述の「プログラミング学習ロードマップ」に則って学習した後は、実務に活用することを心がけてください。自信がついたら、応募しなくても良いのでクラウドワークスの案件に模擬的に挑戦してみてください。
● 勤務先や自分の活動でとにかく活用する(たとえ、手でやったほうが早くても練習だと思って無理やり使うようにしてください)。
● クラウドワークスのデータ入力や集計の案件を探してみてください。詳しく仕事内容が記載されている案件に応募しなくても良いので模擬的に挑戦してみてください。 案件に応募するには、そんなスキルがどの程度のレベルで必要なのかがわかるようになります。
● わかりやすい基準として資格に挑戦するのもおすすめです。詳しくは、記事「【学習法/活用方法付】50代におすすめのExcel(エクセル)の資格3選 」・「【50代リスキリング】DX人材になるためにはIT+ビジネススキルが必要。Python分析資格とITコーディネーターがおすすめ」をご参照ください。
次に読みたい

オフィスアプリのなかでも、利用頻度が高いアプリの1つが表計算アプリのエクセルです。需要が高いだけに…

少子高齢化や働き方改革などを背景に、いまではあらゆる社会・組織でDXが求められています。それに伴い…
● データ分析系のコンテストに挑戦するのもおすすめです。Nishikaなどのコンテストサイトでは、企業などが実際の実務上の課題を公募していますので、より実践的な訓練の場として活用しましょう。実績経験を間接的に積む事ができるので、転職などの際、あなたのスキルを証明することもできます。
詳しくは記事「データ分析コンテストとは|実務とのギャップを埋めるのにおすすめ」を御覧ください。
次に読みたい

データ分析のコンテストがあるのを知っていますか?現在、世界中で様々なデータ分析コンテストが開かれて…
記事「50代で成果を実感しやすいリスキリング|エクセルVBAのおすすめ学習方法を紹介」 もご参照ください。
次に読みたい

エクセルVBAとは、業務効率化にも有効なプログラミング言語です。実際の業務に活用しやすいことから、…
なぜプログラミング入門にExcel(エクセル)がおすすめなのか
そもそもなぜプログラミング入門にExcel(エクセル)がおすすめなのか、ここではその理由を解説します。
環境構築が不要
プログラミングをおこなうには準備が欠かせません。
たとえばコンパイラのインストール、ライブラリの追加、エディタの設定など意外とやることが多く、パソコンが得意でない方はここで挫折してしまうこともあるでしょう。
Excel(エクセル)の場合、最初からパソコンにインストールされていることが多いですし、新たにインストールするのも難しくありません。
導入でつまずくことなく学習に移行できます。
参照元:
@IT.”Excelでプログラム作成を始めるメリットとマクロの基本”.2016-06-27.
初心者でも使いやすいとっつきやすい慣れ親しんだインターフェース
プログラミングに使われるコンパイラは一般的に英語をベースに開発されており、必ずしも日本人にとってわかりやすいとはいえません。
また、プログラミングをおこなうエディタも英語だったり、使い慣れないユーザーインタフェースだったりして、プログラミングの勉強の前にこれらの使い方に慣れる必要があります。
Excel(エクセル)は日本で広く使われているソフトだけに日本語にしっかり対応済み。また、Excel(エクセル)のメニューに慣れ親しんだ方も多く、心理的な障壁が低いのではないでしょうか
情報が豊富で勉強しやすい
Excel(エクセル)は表計算ソフトのデファクトだけに、世の中に数多くの情報が出回っています。
書籍はもちろん無料で学べるWebサイトや動画もあり、自分にあったやり方で勉強を進められるでしょう。
何かわからないことがあっても、同じつまずきをした方がその解決策を提示していることが多く、スムーズに学習を進められます。
Excel医ブログ.”初心者におすすめのExcel(エクセル)勉強法まとめ”.2022-04-04.
勤務先や副業での効果が出やすい
アプリ開発やウェブサイト制作と異なり、Excel(エクセル)でのプログラミングは本業勤務先や副業に割と短期間で効果が生まれます。Excel(エクセル)でのプログラミングが実用的である理由を解説しましょう。
明日から勤務先での業務効率化につながる
特に、マクロを使わない「関数」と「IF文」を使った業務効率化であれば、明日からあなたの職場で効果を実感できます。 また、Excel VBAを使ったマクロ作成ができるようになると、請求書の作成などルーチンの作業を自動化し、業務効率改善につなげられます。ここまでくると、職場でも一目置かれる存在になれますし、更にPythonを使ったExcel(エクセル)ファイルの操作やデータ分析ができるようになると 職場だけでなく、転職も視野に入ってきます。
Excel(エクセル)のスキルだけでも副業を受注可能
プログラミング入門としてExcel(エクセル)をおすすめしていますが、実はExcel(エクセル)のスキルだけでも副業案件を受注可能です。
特にExcel(エクセル)のプログラミング言語であるVBAを身につければ、マクロ開発の案件を受注できるようになります。
マクロ開発案件は単価が高く、大きな収入源にできるでしょう。
参照元:クラウドワークス.”Excel VBA・マクロ開発 の仕事・求人を探す”.2023-03-07.
まとめ
Excel(エクセル)でプログラミングを使うと、経理データなどのデータ集計やグラフ作成、分析を自動で行ったり、見積書などのファイルを自動で作成するなどの業務効率化を行うことができます。 Excel(エクセル)に備わっている「関数」「IF文」を使うスキルに、Excel VBAやPythonのスキルを加えることでより幅広い自動化・効率化が可能になります。
勤務先などで実績を出しやすいExcel(エクセル)関連のプログラミングは、プログラミングの最初の入り口として最適で、DX化で人手不足になっているデータ分析の分野での転職や副業に活かせるので大変オススメです。
TechGardenSchoolならExcel(エクセル)を使ったプログラミング指導が可能
勤務先で活用できるマクロ作成やコンテストへの参加などでの実績作りもサポートしています。もちろん、人工知能・機械学習もPythonと併せて学ぶことができます。
当スクールはクラウドワークスと提携しており、「初めてのクラウドソーシングクラス」でクラウドワークスでの実績の積み方・案件の見分け方を通して、月5万円を達成するための手法をお教えしています。並行して、アマチュアレベルでも挑戦しやすいITスキル(Webコーディング、エクセルVBAのマクロ開発、Pythonによるデータの前処理(スクレイピング)など)を勉強することができます。さらにクラウドワークスでよく出ている案件に挑戦するための「模擬案件」というものを通して学習し、案件に応募する自信をつけることも可能です。
また、2023年より エクセルVBAエキスパート、Python3 エンジニア認定基礎試験/エンジニア認定データ分析試験の資格取得のサポートを行うコースを開講しており、既に多数の合格者を輩出しております。詳細をお知りになりたい方は、お問い合わせいただくか無料カウンセリングに是非ご参加ください!
プログラミングに役立つ無料コンテンツもあります!
次に読みたい

オフィスアプリのなかでも、利用頻度が高いアプリの1つが表計算アプリのエクセルです。需要が高いだけに…

エクセルの作業を自動化するものをマクロと呼びます。実はこのマクロを作る「VBA」もプログラミング言…

Pythonはその「分かりやすさ」や「プログラムの書きやすさ」から、人気の高いプログラミング言語で…