アレアレ

お役立ち情報、お悩み解決情報を発信!

基礎編

データ処理をEXCELでするのとプログラミングでするのは何が違うのか?

このサイトの プログラミング教育 のコーナーでは、これからプログラミングを学び始める子供を持つ親御さんに向けて、プログラミングについてわかりやすく解説しています。全くプログラミング経験のない方は、基礎編の記事から、基礎編を読んだ方は実践編の記事をご覧ください。

データ処理をEXCELでするのとプログラミングでするのは何が違うのか?

先日、小さい子供がいる友人から、前回の、子供にプログラミングを教えたい親御さんへのプログラミング教育基礎編まとめまでの記事を読んだ感想を改めてもらいました。次の通りです。

・ここまでの記事で、プログラミングをする意味や目的は理解できた。
・そのうえで、データ処理はエクセルでも出来るが、プログラミングでするのと何が違うんだろうという疑問を持った。

今回は、この疑問について回答します。

プログラミングができない人のためにEXCELができた

この疑問に対する回答の基礎として。EXCELは、コンピューターへのプログラミングができない人でも、簡単にデータ処理を行えるようにするために作られたもの、と言う認識を持つとわかりやすいです。

以前、「コンピューターはこんなことが得意です」という具体例の補足の記事では、50件ある顧客の名前と生年月日のリストを並べ替えたり、平均年齢を求める例をご紹介しています。

そのプログラムを実際に動かしている様子が、次の動画です。

この動画では、コンソールと呼ばれるコンピューターの操作画面から、顧客リストを処理するプログラムを実行し、その結果をそのコンソールの画面に出力しています。

もともと、コンピューターの操作は、このコンソールと呼ばれる文字で命令を打ち込んで操作する方法しかありませんでした(正確に言うと、もっと昔は、パンチカードと呼ばれる紙を使って行なっていました)。つまり、コンピューターへのプログラミングは、このようなコンソールから実行されるものが、その基本としてあるわけですね。

その後、MacOSやWindowsのようなマウスで操作できるOSが現れました。そのOSが一般に普及すると同時に、EXCELのようにマウスを使って操作できるソフトウェアが求められるようになりました。

と言うのも、コンソールで動くプログラムを作るためには、プログラミングの知識が必要不可欠だからです。一方で、それができる人しかコンピューターが使えない状況だと不便ですよね。

と言うわけで、プログラミングができない人でも、データ処理などのコンピューターを操作できるようにするための1つの方法として、EXCELと言うソフトウェア(=プログラム)ができたわけです。

EXCELでできないこともある

EXCELは、そのようにプログラミングができない人でも、データ処理を簡単に行えるようになれる素晴らしいソフトウェアなのですが、できないこともあります。

例えば、本当に大量のデータ処理です。マイクロソフトの公式サイトにあるExcel の仕様および制限のページによると、EXCELは2016版でも、1シートにおいて、1,048,576行、16,384列のデータまでしか扱えません。

なので、200万件を超える数のデータ処理を行いたいとき、EXCELの処理できる限界を超えていることがわかります。

一方、自分でプログラミングして作るデータ処理には、このような限界はありません。正確には、そのプログラムを実行するコンピューターのハードウェアの性能による限界はありますが、EXCELのデータ数の上限よりは、はるかに多くのデータを扱えます。

その代わり、そのためには、そのデータ処理専用のプログラミングをする必要があり、そのプログラムは汎用的にはなりません。その処理をするための個別のアルゴリズムを作り込むことになるからです。

EXCELの場合は、そのようなことにはなりませんよね。様々なデータを入力できるように汎用的なソフトウェアとなっているからです。

つまり、EXCELは汎用的に誰でも使えるように便利に設計されているけど、その代わり、処理できるデータ数に上限があるなど、できないこともある。自分で作ったプログラムは、他の人が使えるような汎用的なものにはなりにくいけど、その分こだわりのデータ処理を定義できる、と言う感じです。

EXCEL自体もプログラミングでできている

またEXCEL自体もプログラミングでできています。

つまり、プログラミングは、このようなソフトウェアを作るための基本となります。そのため、プログラミングを学ぶと、EXCELほど高機能ではないにせよ、自分なりに必要な機能を持ったソフトウェアを作ることができます。

と言うことがわかると、「プログラミングが全ての基礎になっている」と言うことが理解できるのではないでしょうか。

Return Top