1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

話題の世界的MCP「REA」を試したら、長年誰も解けなかった「エクセルのシート解析が甘い問題」の答えが見えてしまった話 ── 『Excelドック構想』の爆誕

1
Posted at

はじめに ―― 世界を騒がせる黒船「REA」を触ってみた

前回の記事で、軽量モデルのフラッシュ君(Gemini Flash)に外骨格を持たせたら、ネイティブ級のスマホアプリ(PWA)を爆速で生成してしまった話を公開しました。

ありがたいことに公開直後から大きな反響をいただき、現場で日々業務と格闘している方々の熱量を肌で感じています。

そんな中、私はある「世界的な大バズリ」を起こしているツールの存在に目を奪われていました。
海外のエンジニアコミュニティやGitHubで、連日のようにスター数を伸ばし続けている怪物MCPサーバー、「REA(Reverse Engineer Anything)」 です。

レントゲンだ!

「どんなソフトウェアでもリバースエンジニアリング(逆アセンブル・逆コンパイル・解析)して、AIにその中身を丸裸にさせるツール」――。

そんな触れ込みを聞いて、試さずにはいられませんでした。
早速自分の環境にダウンロードし、AIエージェントに「手足」として持かせてみたのです。


REAの正体と、私たちが「レントゲン解析」と名付けた理由

実際にREAを動かしてみて、私はその圧倒的な破壊力に息を呑みました。
既存のコードやアプリの通信、関数同士の複雑な絡み合いを、AIが客観的な「動かぬ証拠(エビデンス)」とともに次々と暴き出していくのです。

ですが、本家のドキュメントを眺めていて、私はこうも思いました。
「使われている言葉が、どれもこれも小難しくて堅苦しすぎる」 と。

本家の説明には、

  • inspect_artifact(成果物インスペクト)
  • project_application_graph(アプリケーション・グラフ投影)
  • trace_application_feature(機能トレース)

といった学術的な専門用語がズラリと並んでいます。
しかし、コードの奥底で実際に起きている現象を冷静に見つめ直したとき、その本質は極めてシンプルでした。

「表面のボタン(UI)から、裏側のAPI、サーバー関数、そしてデータベースに至るまで、一本の配線図として骨組みを丸ごと透視している」。

これ、要するに**『レントゲン』**じゃないか、と。

人間ドックでレントゲン写真を撮れば、皮膚の下にある骨や血管、隠れた病巣が一発で見えるのと同じです。
そこで私は、この小難しいリバースエンジニアリング機能を、現場の直感として誰にでもわかるように**『レントゲン解析(xray)』**と呼び変えることにしました。

そして、このレントゲン解析の思想を、自作のGoogle Apps Script開発ツールである『秀GASマネージャー』へ一気に移植してみたのです。

効果は劇的でした。
画面のどこからも呼ばれていない「死にコード」や、本番でクラッシュするはずだった「未定義RPC」が、ミリ秒で浮き彫りになり、プロジェクトの健全性スコアが100点満点(GOLD)を叩き出すまでになったのです。


湧き上がった疑問 ―― 「なぜエクセルのシートは、こんな風に透視できないのか?」

ガスマネージャーの成功に手応えを感じていたその夜、私の脳裏に、長年ずっと心の奥底に引っかかっていた**「ある大きなモヤモヤ」**が強烈に蘇ってきました。

「完成されたソフトウェアを丸ごとクローン(完全把握・再構築)できるほどの解析力があるなら……なぜ私たちは、エクセルの『シートそのもの』をレントゲンできないのだろうか?」

39の原則か!

私はこれまで、AIに対して何度も同じ違和感を投げかけてきました。
「もっとエクセルのシートをちゃんと解剖できないのか?」
「なぜ表面の数字やセルだけを見て、シートの骨組みや本当の構造を教えてくれないのか?」

しかし、どのAIに聞いても返ってくるのはいつも判で押したような答えでした。

  • 「セルを1行ずつループして値を調べましょう」
  • 「VBAでこういうマクロを書けば集計できます」

そうじゃない。私が知りたいのは、そんな小手先のコードの書き方ではないのです。
「このシートの骨(見出し)はどこにあって、血管(計算式)はどう繋がっていて、どこに地雷(エラーやゴミ)が埋まっているのか」を、一枚の写真のように丸ごと透視したいのです。

世間のエンジニアやAIは、みんな「コード(VBAやマクロ)」ばかりを見ています。
ですが、ビジネスの現場で本当に恐れられているのはコードではありません。
「何年も前に誰かが作り、継ぎ足し秘伝のタレ状態になって、触った瞬間に計算が狂いそうで誰も手を出せない『シートそのもののブラックボックス』」 こそが、最大の恐怖なのです。

ソフトウェア全体をクローンできる知恵があるのなら、エクセルのシート1枚を骨まで丸裸にできないわけがないはずだ――。

私と相棒のフラッシュ君は、世界中のエクセル解析の深淵を徹底的に掘り下げる調査へと乗り出しました。


世界に実在したエクセル解剖の「4大技術兵器」

調べていくうちに、私の目の前でパズルのピースが音を立てて噛み合い始めました。
私たちが「こんなことができたらいいのに」と夢想していた技術は、絵空事でも言葉遊びでもなく、世界最高峰の研究者たちによって、すでに厳然たる技術として確立されていたのです。

世界のエクセル解剖の現場で使われている、知る人ぞ知る「4大技術兵器」の全貌をお話しします。

1. エクセルの正体は「ZIP」であり、中に「計算神経網」が眠っている

まず最大の衝撃だったのが、現代のExcelファイル(.xlsx や .xlsm)の物理的な正体です。
拡張子を .zip に変えて解凍すると、中から生のXMLファイルがそのまま現れます。

その中に、驚くべきファイルが眠っていました。
xl/calcChain.xml(計算チェーン) です。

実はExcel自身が、「どの数式がどの順番で計算され、どのセル同士が繋がっているか」という完全な計算神経網(依存関係グラフ)を、最初からXMLとして記録しているのです。

重たいExcelアプリを起動してセルを1つずつ調べる必要すらありません。裏側からこのXMLを直接読み解くだけで、10万行のシートであっても「全セルの結合ネットワーク」が一瞬で手に入ります。

2. デルフト工科大学と会計監査法人が導いた「39の原則」

欧米のメガバンクや世界的な会計監査法人(PwCやKPMGなど)では、巨大エクセルのたった1マスの計算ミスで数十億円の損失が出るため、専用の監査ツール(PerfectXL等)が使われています。

その中身を徹底調査したところ、オランダの名門・デルフト工科大学(TU Delft)の研究チームが10年以上かけて確立した**「健全なエクセルのための39の原則(The 39 Principles for sound Excel models)」**という学術アルゴリズムに辿り着きました。

製品自体は商用の有償ソフトですが、「エクセルのどこにどんな病巣(リスク)が潜んでいるかを暴く39の判定ルール」は、論文として世界に無料公開されていたのです。

  • 数式の一貫性の破綻: 同じ計算が並んでいる列の途中で、なぜか1行だけ手入力で数字が上書きされている病巣(改ざんやコピペミス)。
  • 孤立した計算(Orphan Formula): どこからも参照されておらず、合計欄にも含まれていない幽霊セル。
  • ハードコード値の混入: =A1 * 1.1 のように、数式の中に直接定数が埋め込まれている悪臭。

世界トップクラスの大学が導き出した「エクセルの病巣の診察基準」は、すでに完璧に定義されていました。

3. 10万行を0.05秒で三色分解するCOMの秘技 SpecialCells

PythonからExcelを直接操る際、初心者は必ず「セルをループして調べる」という遅い処理を書いてしまいます。
しかし、Excelの内部API(COM)には、特定種類のセルだけを一瞬で束ねて吸い上げる裏技が存在します。それが SpecialCells です。

  • Range.SpecialCells(xlCellTypeFormulas) ➔ 数式セル(血管)だけを一括抽出
  • Range.SpecialCells(xlCellTypeConstants) ➔ 生データセル(筋肉)だけを一括抽出
  • Range.SpecialCells(xlCellTypeBlanks) ➔ 空白セルだけを一括抽出

これを使えば、どれほど広大なシートであっても、ループを1回も回さずにわずか0.05秒でシート全体を「骨・筋肉・空白」に完全分離できます。

4. 世界のオープンソース数式エンジン(calamine と pycel)

世界中の有志によって、ExcelのXMLを直接舐めて数ミリ秒で全データを吸い上げるRust製の爆速パーサー(python-calamine)や、数式をパースして有向グラフ(DAG)を描くライブラリ(pycel / formulas)が公開されています。

車輪の再発明をする必要など1ミリもありませんでした。
世の中に散らばるこれらの強力な武器を束ねて、AIの手に握らせるだけでよかったのです。


結論 ── だから、次期excel-managerは『Excelドック』に決めた

断片的な知識がすべて一本の線に繋がった瞬間、私とフラッシュ君の目の前には、まったく新しいツールの青写真がクッキリと浮かび上がっていました。

「骨まで見えるシートのレントゲン写真を撮り、病巣を一撃で治す ── 『Excelドック』の誕生」 です。

Excelドックだ!

私たちが目指す「Excelドック」の姿

人間が「このシートを調べて」と一言指示を出した瞬間、裏で0.5秒の精密検査が走ります。

  1. 「骨」が見える: 見出しの階層やテーブルの背骨が白くクッキリ光る。
  2. 「筋肉」が見える: 自由にいじっていい入力セル(生データ)が青く透き通る。
  3. 「血管」が見える: 計算式の神経網が緑色のラインでつながり、矢印として可視化される。
  4. 「病巣(骨折)」が赤く光る: #REF! エラー、重複したゴミ条件付き書式、数字列に混ざった文字列、数式の一貫性の破綻が、レントゲンのヒビのように赤くチカチカ警告表示される。

そして、その解析結果はテキストの数字ではなく、超軽量なSVGミニマップ(レントゲン写真画像)としてチャット画面に「カシャッ!」と提示されるのです。

これさえあれば、どんなに複雑怪奇な会社のフォーマットであっても、
「あ、ここが骨折してる!」「ここはいじっちゃいけない血管(数式)だ!」と、誰でも0秒で直感的に把握できます。

200本近くの自作棚マクロを「完全ステルス化」する

さらに、このExcelドックが完成すれば、私が長年抱えていたもう一つの悩み──**「200本近くに膨らんだ自作の棚マクロを見るだけで気が滅入る問題」** にも終止符が打たれます。

棚マクロを無理に捨てる必要はありません。
棚マクロは「完成された盤石なインフラ」として裏のエンジンルームに完全に沈め、表の画面からは気配を消してしまいます(完全ステルス化)。

そして、人間が発した言葉と、「シートのレントゲン写真(骨格・列構成・病巣)」 を掛け合わせ、裏で100発100中で最適な棚マクロを影武者のように当てて即座に去っていく。
もし棚に合わない未知の表であれば、進化したAIがその場でマクロを即興生成して一撃で解く。

画面はどこまでもシンプルに、裏には無限の武器庫がスタンバイしている──これこそが、道具の理想の完成形です。


おわりに ―― 構想から、実際に動く「物」へ

長年、「なぜシートの解析はこんなにも甘いのか」とモヤモヤし続けてきましたが、諦めずに違和感を問い続けたことで、ようやく世界の最高峰の知恵と繋がることができました。

今はまだ、頭の中に完璧な設計図が組み上がった「構想」の段階です。
ですが、必要な武器も、学術的な裏付けも、実装すべきアーキテクチャも、すべて手元に揃いました。

だから私は決めました。
自作のオープンソースツール excel-manager の次なる大型アップデートは、この『シートのレントゲン解析(Excelドック)』の実装 に定めます。

言葉遊びで終わらせる気は毛頭ありません。
世界中のエクセルと格闘している現場の人たちが、ブラックボックスの恐怖から解放され、安心して自分の業務をハックできるようになるために。
相棒のAIたち(オーパス先生、ゴンちゃん、フラッシュ君)とともに、実際に動く「生きた物証」として形にする挑戦を、ここから始めていきます。

進捗や実機での成果は、またこのQiitaでリアルタイムに報告していきます。
エクセルの本当の骨が見える日を、どうぞ楽しみにしていてください!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?