見出し画像

プログラミング初心者には、ExcelVBAを薦める理由

私は、世間一般で言うプログラマーではありません。IT業界に勤めているわけでも、社内のシステムを担当しているわけでもありません。プログラミングスクールに通ったこともありません。ですが、社内では、それなりにプログラミングができる人材だと思いますし、自分の日々の業務を自動化するのに使用しています。そんな私が使用するプログラミング言語は以下の通りです。

・ExcelVBA
・Python
・JavaScript
・C#
・Google Apps Script
・HTML, CSS(厳密にはプログラミング言語ではありません)

今でこそ、それなりにプログラミングができるようになりましたが、昔は全く理解できませんでした。大学の情報科学の講義でC言語を学びましたが理解できず、知り合いからJavaが良いと聞いてJavaを勉強しましたができるようになりませんでした。私の場合、複数のプログラミング言語を試しましたが習得できず、ExcelVBAに取り組んでやっとできるようになりました。

この記事を読んでいただいている人のほとんどは、プログラミング初心者の方だと思います。そして、恐らく以前の私のようにプログラミングがなかなか習得できず、困っているのではないかと思います。また、どのプログラミング言語を勉強して良いかわからないといった声もあると思います。今回は、皆さんと同じ状況だった私が、プログラミング初心者にExcelVBAを薦める理由をご説明します。

Excelは、パソコンが苦手な人でも知っている

皆さんは、Excelそのものはご存知だと思います。会社勤めの人は社内で良く使用していると思いますし、大学でも共有パソコンに入っています。個人用のパソコンでも、入れている人が多いソフトウェアの一つです。Excelそのものをあまり使わない人でも、その存在は知っていますよね。これほど多くの人が知っているソフトウェアはなかなかありません。「それとプログラミングがどう関係するのか?」という疑問をもった人も多いのではないのでしょうか。

例えば、皆さんはExcelファイルを開くことはできますよね?

「バカにするな!」という声が聞こえてきそうですが、他の言語だと立ち上げることすら難しいということが少なく無いのです。それどころか、どうやってインストールして良いかわからないという立ち上げる以前の問題もあります。インストールしてそのプログラミング言語を使えるようにすることを環境設定と言いますが、この環境設定がなかなかできません(昔に比べれば簡単になったのだそうですが、それでも環境設定でつまずく人は多いです)。環境設定ができなければ、当たり前ですがプログラミングを記述することすらできません。その点でExcelは、環境設定をする必要がほとんど無いという大きなメリットがあります。

また、Excelに文字を書いたり最低限の計算(sum関数やaverage関数)をできる人が多いのでは無いでしょうか。これも、後述しますが、大きなメリットの1つです。つまり、Excelファイルを開いて最低限の操作ができること人は、ExcelVBAを習得できる下地はできていると言っても過言ではありません。

できる人材が少ない

最近は、小学生からプログラミング学習を導入したり、色々なプログラミングスクールが出てきて、デジタル社会が進んでいますが、それでもプログラミングができる人材は多くありませんし、プログラミングができる人は、主にIT業界に偏っています。また、各プログラミングスクールの内容を見ていただければわかりますが、そのほとんどが主にwebアプリケーション関係の言語(Ruby, Ruby on Rails, PHPなど)を扱っておりExcelVBAを教えるスクールはほとんどありません。

「ExcelVBAは人気がないから教えないんじゃないの?」

確かにそれは一理あると思います。ですが、前述したように、IT業界以外の業界ではExcelが主流ですし、使い勝手がいいのは間違いありません。皆さんの会社を見渡してみると、Excelが良く使われているのではないでしょうか。ですが、ExcelVBAをできる人は少ないと思います。

また、IT業界の人がExcelVBAを使って皆さんの業務を自動化できるか、と言われればそれは難しいと思われます。ExcelVBA自体をできるとは思いますが、皆さんの業務内容まではわからないからです。例えば、経理の仕事を自動化するには経理の知識が必要です。それぞれの仕事には、勘所というのが存在します。つまり、プログラミングができるからと言って、その仕事を自動化できることにはならないのです。逆に言えば、

・経理×ExcelVBA
・知財×ExcelVBA
・研究開発×ExcelVBA
    :

のように、自分の仕事とExcelVBAをできるようになるだけでも、希少価値の高い人材に成り得ます。

また、Excelは社内で広く使われていることが多いので、自分がExcelVBAで作成したプログラムを他の人も使うことができ、社内での水平展開も容易に行えます。いくら人気の言語を使ったり、難しいプログラムコードで書いたとしても、使い勝手の悪いものは誰も使ってくれません。

自分の人材価値を高めることと、社内での普及の両方において、ExcelVBAは優れています。

習得しやすい

習得のしやすさの1つの理由に、情報が多いことが挙げられます。ExcelVBAに関する本はたくさんありますし、ネットでも多くの情報が落ちています。そのため、学習でつまづいた時に容易に解決できます。例えば、先ほど書いたwebアプリケーション関係のRubyやRuby on Railsは書籍やサイトに情報が少なく、独学で身につけるには苦労します。一方で、ExcelVBAは情報が多いので、習得までの障壁が低くなるというメリットがあります。

習得しやすいもう一つの理由は、プログラムの実行結果を検証しやすいということです。先ほど、Excelの最低限の操作(sumで合計を計算、averageで平均を計算)ができる人は、ExcelVBAを身につける下地ができあがっていると言いました。例えば、1~100までの合計を求めるプログラムを書きたい時に、プログラムの実行結果が合っているかを検証する必要があります。その時、Excelであればsum関数で簡単に計算できるので、その結果と合っていれば正しく計算ができていると言う判断ができます。これはExcelならではの特権です。

【おまけ】それでも他の言語を習得したいと思う方へ

最近では、AIや機械学習といった言葉を良く耳にし、それを扱うのに適した言語としてPythonが注目されています。またwebアプリケーション関係に興味がある人はJavaScriptやRubyといった言語を良く耳にすると思います。それらの言語を学習されるのは良いと思いますし、絶対に初心者はExcelVBAから始めろというつもりもありません。

ただ、1つアドバイスできることがあるとすれば、プログラミング言語自体に大きな違いはあまりありません。ExcelVBAができる人は、JavaScriptやPythonはできるようになります。例えば、標準語、関西弁、博多弁は、微妙に違うけど意味は理解できますよね。プログラミング言語もそれと同じイメージです。つまり、1つの言語ができるようになれば、他の言語を習得するのに時間はかかりません。個人的には、最初のとっかかりが一番難しいと思っています。その中でもExcelVBAは障壁が低いのでおすすめできるということです。

今人気の言語を早く習得したいと言う気持ちはよくわかりますが、ExcelVBAは1ヶ月でできるようになると思います。1ヶ月でプログラミングがある程度できるようになった後に、Pythonなどの他の言語に取り組んでも遅くはありません。むしろ、Pythonなどは環境構築などが難しく1ヶ月で何も進まなかったという結果に成りかねません(私がそうでした)。ExcelVBAは、まさに「急がば回れ」ということわざがピッタリな言語だと思います。

関連記事


この記事が気に入ったらサポートをしてみませんか?