Excelの効率化は、マクロ(VBA)とPython、どっちがいい?

  • URLをコピーしました!

Excelの効率化を考えるときに、ExcelマクロとPythonどちらがいいか。
私は、Excelマクロをおすすめします。

※ExcelマクロとPython by Sony α7SⅢ+Nikon 55mmF1.2

 

Excelを効率化する方法

Excelの効率化、特に自動化を考えるときに、
・Excelの機能
・プログラミング
という選択肢があります。

Excelの機能も大事で、
・XLOOKUP関数
・ピボットテーブル
・ファイル、シートを1つにする、規則正しいデータをつくる、データで受け取る(紙で受け取らない)
といったことも欠かせません。
やってはいけないExcel――「やってはいけない」がわかると「Excelの正解」がわかる

今回の本題は、プログラミング。
Excelを効率化するプログラミングとしては、
・Excelマクロ(VBA)
・Python
・RPA
があります。
このうち、ExcelマクロとPythonを比較してみました。

従来からよく使われているExcelマクロ、話題になっているPython。
「どちらからやったほうがいいですか?」という質問もよくいただきます。
私の答えは、Excelマクロです。

Excelで効率化するなら、まずExcelマクロ

Pythonは、
・Excel以外の効率化もできる(ブラウザ、各種ソフトなど)
・シンプルなコード
という特徴があります。

一方、Excelマクロは、Pythonよりも、
・初期設定が楽
・Excelに限ってはシンプルに書ける
・Pythonよりもできることが多い
という特徴があるのです。

たとえば、ExcelのセルA1に100を入れるプログラムで比較してみます。

Excelだとこんな感じです。

3行ですむのです。
Excelのセルだけを指定して書くことができます。
(どのファイル=ブックか、どのシートかを省略すると、今開いているものを操作できます)
そして、このプログラムを書くには、ExcelでAlt+F11を押せばいいだけです。

そして、Python。
代表的なopenpyxl(ライブラリと言われる既存のアプリのようなもの)を使うとこんな感じです。

 
Pythonの場合は、ファイル=ブック、シートを必ず指定しなければいけません。
最後の保存する必要もあります。
これはこれでいいのですが、Pythonの場合、
・Pythonのインストール、アップデート
・openpyxlのインストール
といったことをしなければいけません。

このあたりの敷居も高く、Excelだけを効率化するならマクロのほうがいいのです。

ただ、Pythonが必要ではないというわけではなく、両方学ぶのがおすすめです。

両方やるとさらに効果的

プログラミングは、前述のように、言語ごとに書き方や使い方が違います。
学ぶ上では、その違っていることが効果的なのです。

日本語と英語を学ぶように。

ExcelマクロとPython、どちらから始めるにせよ、両方やってみるのをおすすめします。
効率化したい課題によっては、Pythonが好ましい場合もあるのです。
自分に合うのがPythonということもあります。

ただし、
・Excelマクロを極めてからPython
・Excelを極めてからExcelマクロ
と考えてはいけません。

何かを学ぶのに終わりはなく、「極める」ということはないのですから。
早いうちに効率化の手段として、プログラミングを学ぶことをおすすめします。
私が多少効率化できるようになったのは、最初にプログラミングを学んだ(学ばざるを得ない仕事だった)のが大きいです。

出来合いのソフトでは効率化に限界があります。
自分に合った効率化をするためにも、プログラミングは欠かせません。
プログラミングができるようになると、効率化に対する眼=考え方もかわります。
その眼が大事なのです。

効率化ノウハウはあふれていますが、効率化できないのは、その眼を鍛えていないからでもあります。
眼=考え方を鍛えましょう。

 

 



■編集後記
昨日は、YouTube収録、原稿執筆など。

楽しみにしていたライブに当選できました。
申し込んで見るものだなぁと。

1日1新Kindle『1日1新』Instagram『1日1新』
宗谷
ラ・オハナ ストロベリーパンケーキ
かつえもん

■娘(4歳11ヶ月)日記→Kindle『娘日記』・ Kindle『娘日記Ⅱ』
昨日、英語を聞かれたので、答えたら、「ほんとはわかってないでしょ!」と。
いやいや、それくらいはわかってますがな。
ときどき鋭いツッコミ入れてきます。

  • URLをコピーしました!