「Pythonを使ったら、Excelの仕事を自動化できるよと言われたのですが……」
「Excel VBAというものもありますよね。何が違うのでしょうか?」
そして最後に、
「どちらにしても、自分には難しそうですが」
そんなご質問をいただくことがあります。
「自動化」と聞くと、プログラミングが得意な人だけができることのように感じるかもしれません。
Python、VBA、コード……。
知らない言葉が続くだけで、「やっぱり私には無理かな」と感じてしまうこともありますよね。
でも、最初から難しいプログラムを作る必要はありません。
まずは、
「毎日のExcel作業の中に、自動化できそうな仕事があるんだ」
と分かるところからで大丈夫です。
今回は、Pythonを使うとExcelの仕事をどこまで自動化できるのか、そしてExcel VBAとは何が違うのかを、初心者の方にも分かるようにお話しします。
PythonでExcelの仕事はどこまで自動化できる?
Pythonはプログラミング言語の一つです。
Excel専用のものではありませんが、必要な仕組みを組み合わせることで、Excelファイルの読み込みや書き込み、データ処理などを行えます。
たとえば、こんな仕事です。
- Excelのデータを読み込む
- 必要なデータだけを取り出す
- データを並べ替える
- 集計する
- 複数のExcelファイルをまとめる
- 計算結果をExcelファイルへ書き出す
- 決まった形式のファイルを作る
こうして並べると難しく見えるかもしれません。
でも、ポイントは、
「人が何度も繰り返している作業を、パソコンに任せられる場合がある」
ということです。
たとえば毎月同じ集計をしているなら
- 毎月、複数のExcelファイルを開いて、
- 必要な数字をコピーして、
- 一つの表にまとめて、
- 合計を計算して、
- 名前を付けて保存する。
こうした作業を繰り返している方もいらっしゃると思います。
作業そのものは難しくなくても、毎月続くと時間がかかります。
コピーする場所を間違えたり、ファイルを一つ見落としたりすることもあるでしょう。
作業の手順が毎回ほぼ決まっているのであれば、その一部をPythonで自動化できる可能性があります。
大切なのは、いきなり「全部自動化しよう」と考えないことです。
まずは、
「この作業、毎回同じことをしているな」
というところを見つけるだけでも、自動化への第一歩になります。

Excel VBAでも自動化できるの?
ここで出てくるのが「Excel VBA」です。
VBAは、ExcelなどのMicrosoft Office製品で作業を自動化するときに使われてきたプログラミング言語です。
Excelで「マクロ」という言葉を聞いたことがある方もいるかもしれません。
Excelの中で繰り返している操作を自動化したい場合、VBAが向いているケースがあります。
では、
「PythonとVBAは、どちらがいいの?」
と思いますよね。
実は、単純にどちらが上という話ではありません。
PythonとExcel VBAは何が違う?
大きな違いは、活躍できる範囲です。
Excelの中の仕事を自動化するならVBA
VBAはExcelとの相性がよく、Excelを中心にした作業を自動化したいときの選択肢になります。
たとえば、
- 「ボタンを押したら決まった処理をする」
- 「Excelのシートを順番に処理する」
- 「決まった表を作成する」
などです。
仕事で既にマクロ入りのExcelファイルを使っていて、「このファイルをもっと便利にしたい」という場合も、VBAを学ぶ意味があります。
Excel以外にも広げたいならPython
一方のPythonは、Excelだけを扱うためのものではありません。
Excelなどのデータを処理するだけでなく、さまざまな用途に利用されているプログラミング言語です。
そのため、
「まずはExcelの自動化をしてみたい。でも将来は、もっといろいろなデータを扱ってみたい」
という方にとっては、Pythonを学ぶことが次の可能性につながることがあります。
ただし、
Pythonなら何でも簡単に自動化できる、という意味ではありません。
やりたいことによって必要な知識も違いますし、Excel側の機能やファイルの作り方によっては、別の方法が適していることもあります。

初心者ならPythonとVBA、どちらを勉強すればいい?
ここが一番迷うところかもしれません。
アクアでは、最初から「Pythonを選びましょう」「VBAを選びましょう」と考えなくてもよいと思っています。
先に考えてほしいのは、
「何をラクにしたいのか」
です。
たとえば、
「会社で使っているExcelの定型作業を自動化したい」
という目的と、
「Excelの自動化をきっかけに、プログラミングも学んでみたい」
という目的では、学び方が変わってきます。
プログラミング言語を選んでから目的を探すのではなく、
やりたいことを決めて、そのために必要な方法を選ぶ。
その順番のほうが、初心者の方には分かりやすいと思います。
「自分には難しそう」と感じても大丈夫
PythonやVBAのプログラムを見ると、最初は知らない英単語や記号がたくさん並んでいます。
難しそうに見えるのは自然なことです。
だからといって、最初からすべてを理解する必要はありません。
たとえばExcelを初めて使ったときも、
セル、関数、シート、絶対参照……。
知らない言葉がいろいろあったのではないでしょうか。
それでも、必要な操作を一つずつ覚えることで、少しずつ使えるようになった方は多いと思います。
Pythonも同じように、
「プログラミングを全部理解する」
と考えるのではなく、
- 「まずExcelファイルを読み込んでみる」
- 「次はデータを一つ取り出してみる」
というように、小さく進める方法があります。

アクアでは「プログラミングを覚えること」だけをゴールにしません
Pythonを勉強すること自体が目的になってしまうと、
- 「覚えることがたくさんある」
- 「こんなコードは書けない」
と、不安が大きくなりやすくなります。
でも、本当にやりたかったことは何だったでしょうか。
もしかすると、
- 毎月1時間かかっている集計を少しラクにしたい。
- 何十個もあるファイルを一つずつ開く作業を減らしたい。
- 同じコピー&ペーストを何度もする仕事を減らしたい。
そんなことかもしれません。
それなら、最初の目標は、
「Pythonができる人になる」ではなく、「自分の仕事を一つラクにする」
でもいいと思います。
そのためにPythonが合っていればPythonを使う。
VBAのほうが合っていればVBAを使う。
場合によっては、Excelにもともとある機能で解決できることもあります。
方法から考えるのではなく、困っていることから考えてみましょう。
「繰り返している作業」を一つ探すこと
Pythonをインストールしたり、いきなりプログラムを書いたりしなくても大丈夫です。
まず、普段のExcel作業を少し振り返ってみてください。
- 「毎日これをやっている」
- 「毎月同じファイルを作っている」
- 「何度もコピー&ペーストしている」
そんな作業はありませんか?
一つ見つかったら、
- 何をしているのか
- どんな順番でしているのか
- 毎回同じ作業なのか
を書き出してみます。
それだけでも十分な第一歩です。
自動化は、難しいコードを書くところから始まるのではありません。
「この作業、もう少しラクにならないかな?」
と気づくところから始まります。
まとめ
Pythonを使えば、Excelのデータ整理や集計、複数ファイルの処理など、繰り返している仕事を自動化できる可能性があります。
Excelを中心とした自動化ではVBAが選択肢になることもあります。
ですから、
「PythonとVBA、どちらを勉強すれば正解ですか?」
と最初から決めなくても大丈夫です。
まずは、ご自身の仕事の中で、
「何をラクにしたいのか」
を考えてみてください。
そこが分かれば、Pythonを学ぶのか、VBAを学ぶのか、それとも別の方法がよいのかを考えやすくなります。
「自分の仕事の場合は、何から始めればいいのか分からない」
そんなときは、一人で答えを出そうとしなくても大丈夫です。
今しているExcel作業を見ながら、一緒に整理していく方法もあります。
難しいプログラミングからではなく、まずは小さな「これをラクにしたい」から始めてみてください。
アクアのおススメ講座
無料カウンセリング・体験レッスンへお気軽に
受講前に相談をして決めたい、体験レッスンを受けたいという方のために、無料カウンセリングや無料体験レッスンを実施しています。「100回聞いても怒られない」マンツーマンレッスンですので、全く初めてという方でも安心して学べます。
事前予約制となっております。お電話またはネットにてご予約ください。


























