レビュー,書籍紹介・書評掲載情報

アルゴリズムとデータ構造をExcel VBAで学ぶ

アルゴリズムとデータ構造をExcel VBAで学ぶ

プログラミング能力向上のための基盤となる「アルゴリズムとデータ構造」を,業務で広く利用されているExcel VBA を用いて学ぶことができる。データサイエンス・AI時代のための「アルゴリズムとデータ構造」の入門書。

発行年月日
2025/09/30
定価
3,300(本体3,000円+税)
ISBN
978-4-339-02952-9
在庫あり

レビュー,書籍紹介・書評掲載情報

読者モニターレビュー【 miya 様 (業界・専門分野:情報系)】

掲載日:2025/10/15

アルゴリズムを学ぶことがさまざまなレベルで求められる時代となった今、どこからどのように手を付けたらいいのかわからない学習者は多いことだろう。
大学入試の情報Ⅰのアルゴリズム問題の学習でも、Pythonやscratchなどで実装すればと工夫されている高校の先生も多い。
Excel VBAはPCにExcelが入っていれば使えるものなので、これを使うのは学習環境を準備するコストがかなり低くなると考える。

そしてこの本はExcel VBAでも十分にアルゴリズムとデータ構造を学習できる工夫がされている。

具体的には、Excelのセルの値が変化していったり、色の変化でアルゴリズムがどのように動いているかを見て把握できるといった点である。プログラム言語の場合、例えば配列の値がどのように変化しているのかは最後に表示させないとわからず、途中経過が見えにくい欠点がある。しかしExcelのセルに途中経過が表示される本書の工夫は、プログラム言語で学ぶのが当然と思っていた私には新鮮であった。

最後にひとつだけ。Excel VBAはいわゆる「マクロ」なので、慣れてしまうと気軽に「有効にする」をクリックしてマルウェアに感染しないよう指導を忘れずに。

読者モニターレビュー【 N/M 様(業界・専門分野:総合情報学[情報科学])】

掲載日:2025/09/24

本書は,アルゴリズムとデータ構造について,プログラミング言語としてExcel VBA(マクロ)を用いての記述がなされている.

まず,アルゴリズムとデータ構造について学び,実際のアルゴリズムをプログラミング言語で表現する際には,C言語,Java(最近だとPython?)等が使用されることが多い.しかし本書では,VBAが採用されている.その理由としては,[まえがき]にも記載されている通り,表計算ソフトのワークシートを記憶装置(メモリ)として見立て,プログラムの実行中の処理をメモリが更新されていく様子をセルの色分けで可視化して理解できる点が本書の大きな特徴での1つである.

個人的には,3章のデバッグについて,ここまで丁寧に詳しく書かれている書籍というものが,あまりないのではないかと思った.その上,プログラムの基本的な文法に入る前にデバッグに関する解説をしっかりと記述されているという点も驚かされた.

アルゴリズムとデータ構造についての守備範囲としては,他言語を扱った類書でもよく見かける,計算量(オーダ記法),探索(線形探索,二分探索,ハッシュ法),リスト構造(スタック,キュー(待ち行列)),木構造(二分木,木の探索)等の基本的なアルゴリズムとデータ構造について解説がなされている.
 
ただ一つ気になった点は,先ほども挙げたが,本書はプログラムの実行中の処理のメモリ内での様子をセルで可視化して理解させるというアプローチを採用しているが,図8.2や図9.4,図9.7等がそれらに該当するが,背景のパターンよりも色ありの図の方が,よりイメージしやすかったように思った.本書のサポートサイトに色あり版の図版もあるといいかもしれない.
 
最後に,各章末には章末問題が数問ほど用意されている.これは,各章で身につけたことを確認できるようなプログラミングの問題を中心に記載されており,理解度チェックとして大いに活用できるだろう.

読者モニターレビュー【 dmatsuoka 様 (業界・専門分野:プログラマ)】

掲載日:2025/09/11

本書は書名の通り、Excel VBAを用いてアルゴリズムとデータ構造について解説した教科書である。当然誰もが思うのが、なぜあえてExcel VBA? という疑問だろう。PythonやJavaでよさそうなところである。ひとつには、Excelが日常業務でも頻繁に使用されており、学習しやすいという理由が挙げられている。そして、Excelには統合開発環境VBEが組み込まれており、特殊な開発環境を構築する必要がないため利用しやすいことも、学習しやすさの要因のひとつである。

また、本書の中核であるアルゴリズムとデータ構造の解説において、Excelのワークシートが効果的に利用されていることも理由である。たとえば探索アルゴリズムの処理の過程を、Excelのワークシートのセルに色を付けて記録していくことで、探索アルゴリズムの処理過程が可視化される。

データ構造の解説では、リスト構造や木構造をワークシートのセルに対応させる。そもそもメモリはセルの集まりであり、ワークシート上のセルの集まりをメモリと見立てれば、データ構造がExcelのワークシート上で可視化できる。「セル」をキーワードに連想したようなちょっとした発明である。書籍にはワークシート上でのデータ構造の実装法のアイデアが具体的に書かれており、なかなか興味深いアーキテクチャの可視化がおこなわれている。

本書はExcel VBAの入門書や解説書ではないが、アルゴリズムとデータ構造を解説する前提として、第3章、第4章を中心にExcel VBAの導入的な説明はおこなわれている。このパートが面白いのは、デバッグの観点を重視して、間違ったコードを修正するというやり方でコーディングの解説がされているところである。プログラミングは理論上の計算とは異なり、しばしば間違い、動かなくなるものである。この点、すなわち、デバッグの必要性こそが、プログラミングのプログラミングたるゆえんであるともいえる。そして、Excel VBAというプログラミング言語は、ある意味粗く、洗練されていないがゆえに、エラーや計算間違いを誘発しやすい作りになっているともいえる。

例えば、サブプロシージャで変数alphaを宣言する。そして、プログラムの途中でalphaのつもりでalphとタイプミスをする。このまま実行しようとすると、多くの言語では実行時エラーになるだろうが、Excel VBAでは実行されてしまい、計算結果の間違いとなる。特記しなければalphが自動的に変数として扱われるからだ。こういう作りであるがゆえに、学習者は実行時エラーと計算間違いの違いや、それへの対処法により敏感になる必要がある。作りの粗さが学習には程よい素材になる。PythonやJavaではこうはいかないだろう。

ただ、第12章までの内容は大変整理されているのだが、データサイエンスを扱う第13章、AIに関する第14章の内容に関しては、やや付け足し感があることは否めない。とはいえ、全体的に「手を動かし、目で見て学ぶ」アルゴリズムとデータ構造の教科書としてまとまっており、Excel VBAという選択にも必然性が感じられた。