はじめに
前回は、深夜に Gemini へ「服を脱げ」と振ったら、世界一まじめな答えが返ってきた話を書きました。
あれから二日、秀エクセルマネージャーをかなり改修しました。きっかけは、オフィス田中の田中亨さんのページを読み直したことです。
改修がひと区切りついたので、Claude Code(Opus)に「どう仕上がったか、評価してください」と頼みました。返ってきた評価の中に、弱点として「秀コンボが重い」という一行がありました。
それなら直してもらおう、と測らせてみたら、重いのは秀コンボではありませんでした。道具の側の検査が、一回に 141 秒かかっていました。その遅い数え方を書いたのは、三か月前の Claude 自身でした。
今回は、その二日間の改修の告知と、犯人探しの顛末です。
TL;DR
- 田中さんの「ワークシート診断ツール」に学んで、ブックの中身(値)を出さずに、形だけを AI に渡す手を入れました。Excel だけで動く版も、秀コンボの棚の 126 本目に入れました
- 改修の評価を Claude に頼んだら「秀コンボが重い」と出たので、測らせました。**秀コンボ自体は軽く(開くのに 1.2 秒)、重かったのはマクロを点検する道具の
check(141 秒)**でした - 原因は、変数が使われているかを数える部分です。「行の数 × 変数の数」だけ検索をやり直していて、一回の点検で約 3,300 万回。数え方を変えて 3.6 秒になり、結果は前と 1 件も変わりません
- そのせいで、マクロの関所(
gate)が 9/26 から、マクロの良し悪しに関係なく不合格を出していました。今は 17 秒で通ります - 書いたのは Gemini ではなく、6 月 14 日の Claude でした
- ついでに、道具の説明文が長すぎて 2,048 字目から先が AI に届いていなかったことも見つかりました
二日間でやったこと(田中さんに学んで)
田中さんは、私の道具の考え方の根っこにいる人です。「マクロは作業に使う」という言葉は、以前の記事にも書きました。
その田中さんが、十数年前から「ワークシート診断ツール」を公開しています。
ページを読むと、いまの使い方として、AI に相談するときはブック本体ではなく、診断ツールが出した診断結果のブックを添付する、と書かれていました。ブックの中身は出さずに、どんな数式や名前やマクロが入っているかという「形」を渡す。AI に要るのは値ではなく構造だ、という考え方です。
職場で AI が使えない一番の理由は「中身を外に出せない」ことなので、これはそのまま取り入れることにしました。二日間で入れたのは、だいたい次のとおりです。
-
structure:値を一つも出さずに、ブックの形(シート・名前・数式の型・入力規則・ピボット・クエリ・マクロの点検)を一枚にまとめる -
no-values on:以後、表を読む手も直す手も値を出さず、番地と型だけを返す - 秀コンボの棚 126 本目「ブックの構造を一覧にする」:同じことを Python も AI も使わず、Excel だけで。何も入れられないパソコン向け
- Excelコンボで「#N/A になる原因を教えて」と聞くと、ブックの構造を自動で添える
- 式がおかしいときの「原因」を、式と値から道具が決める段
手元の普段使いのブック 15 本で確かめて、反応しなかった物は外したり静かにしたりもしました。
評価してください、と頼んだら
ひと区切りついたところで、Claude に「いろいろ改修したけど、どう仕上がっているか評価してください」と頼みました。
返ってきた評価は、強いところと弱いところに分かれていました。強いところは、先撃ち(AI に考えさせずに棚のマクロを撃つ)と、値を出さない診断。弱いところの一つが「秀コンボが重い」で、根拠として呼び出しの記録から次の数字が挙がっていました。
- マクロを足す手(
add-procedure)が最長 267 秒 - マクロの関所(
gate)が約 140 秒
それなら直さなきゃダメでしょう、特に秀コンボは、と返しました。
測ったら、重いのは秀コンボではなかった
Claude はまず秀コンボそのものを測りました。
| 測ったもの | 秒 |
|---|---|
| 秀コンボ(36 部品・40,940 行)を開く | 1.19 |
| 棚のマクロを初めて撃つ | 0.17 |
軽い。重いのは本体ではありません。
そこで記録を読み直すと、マクロを点検する check が、秀コンボに対して 141 秒かかっていました。関所の gate は、この check を 120 秒の制限時間の中で回します。check だけで制限時間を使い切っていたわけです。
267 秒のほうは別件で、窓の無い Excel が裏に残っていたのを掴んで待ち続けたもののようです。
check の中を計測すると、こうなっていました。
| 回数 | |
|---|---|
| 文字列の検索 | 32,934,908 |
| 検索パターンの作り直し | 13,303,074 |
原因は、変数が使われているかを数える部分でした。モジュールの行を一行ずつ見て、その一行ごとに、宣言されたすべての変数の名前で検索をかけ直していました。たとえば一万行のモジュールに変数が二千個あれば、それだけで二千万回です。
数億回もやってるなら、そりゃ時間がかかるだろう、と私は言いました。そのとおりでした。
直し方は単純です。一行を一度だけ語に分けて、出てきた語を数える。検索は行の数だけで済みます。
| check の秒 | |
|---|---|
| 直す前(9/26 の記録) | 141 |
| 直した後(秀コンボの写し・Excel から読む時間込み) | 3.6 |
直す前と後で、出てくる警告は 1,117 件、1 件の違いもありませんでした。
関所が一週間、閉まっていた
困るのは遅さそのものより、関所が使えなくなっていたことです。
gate は、マクロを直したあとに「で、通ったのか」を機械が一言で答える関所です。秀コンボの写しを別の Excel で開き、点検とコンパイルとテストを通して、合格か不合格かを返します。
その関所が、9/26 から、
判定: 不通過(FAIL) 理由: 最後まで通せませんでした: RPC サーバーを利用できません / 時間切れ(120秒)
と言い続けていました(9/26 に 2 回、9/29 に 1 回)。番人が書類の数えに手間取っているうちに門限が来て、旅人を確かめもせずに追い返していたようなものです。しかも出てくる言葉が「RPC サーバー」なので、誰が見ても Excel が落ちたように見えます。実際、見た側(AI も)はそう片付けていました。
直したあと、同じ秀コンボで関所を通し直しました。
判定: 通過(PASS) 構文エラー 0・全体コンパイル OK・テスト 8/8 成功 (17.0秒)
一週間ぶりに、門が開きました。
犯人は
ここまで来て、私は聞きました。これは Gemini がやったのか、と。ここしばらく、道具の手入れを Gemini にも頼んでいたからです。
Claude が古いリポジトリの履歴をたどると、遅い数え方が入ったのは 6 月 14 日、check というコマンドを作ったときのコミットでした。Gemini が道具を触り始めたのは 9 月 13 日です。
お前が悪かったのか、と聞くと、
はい、私です。
と返ってきました。
六月の時点ではモジュールが小さく、遅さは表に出ませんでした。棚が増えて秀コンボが四万行に育ったところで、ちょうど限界を越えた、ということのようです。
ついでに見つかったこと
道具の説明文が、途中で切れていました。 MCP の道具には、AI 向けの説明文が付いています。秀エクセルマネージャーの主な道具の説明文は 2,663 字ありましたが、Claude Code は 2,048 字で切ります。後ろの四割、「十手を超える組み立ては、一手ずつ撃たずにマクロ一本に書く」などの大事な段が、AI に届いていませんでした。1,570 字に縮めて、2,000 字を超えたらテストで落ちるようにしました。
ほかにも「他に直すところがないか」と点検させました。読むだけのコマンド 18 本を秀コンボに撃って、全部 5 秒以内。check のような遅さは、ほかにはありませんでした。AI がよく外していた引数の形(--book を付ける、など)は、道具の側で受け止めるようにしました。
機能が、使われ方より先に増えていた
評価には、もう一つ弱点がありました。「実際の使われ方より先に、機能が増えている」。これは私も思っていたことです。
呼び出しの記録(9/16〜10/2・7,656 回)を、対象にしたブックで分けると、こうでした。
| 対象 | 回数 |
|---|---|
| 秀コンボ自身 | 4,807(63%) |
| お試し版 Excelコンボ | 799 |
| 試しの表 | 約 1,000 |
| 普段使いのブック | 数十 |
道具が、ほとんど自分自身を作るために使われていました。
Claude は整理の案(使う人の道具と、棚を鍛える回路を分ける、など)を出してきましたが、量で困っていることは無いので、今のままで使ってみることにしました。使わない機能は撃たなければ何もしませんし、AI が読むのは説明文だけです。要る・要らないは、使って詰まったところから決めます。
事実と見立ての仕分け
| 事実 | 見立て | |
|---|---|---|
| 重さ | 秀コンボは開くのに 1.2 秒。遅かったのは道具の check(141 秒→3.6 秒) |
「重い」と言われたら、本体より先に記録を読む |
| 関所 | 9/26・9/29 の gate は 3 回とも、点検の途中で時間切れになって不合格。今日は 17 秒で合格 |
失敗の言葉が「RPC サーバー」だと、誰でも Excel のせいにする。片付けた失敗の中に犯人がいた |
| 犯人 | 遅い数え方は 6/14 の check 新設のコミットから。Gemini の関与は 9/13 以降 | 小さいうちは見えない作りが、育つと効いてくる |
| 説明文 | 2,663 字のうち、2,048 字目から先が AI に届いていなかった | 書いた注意は、届いているかまで確かめる |
| 使われ方 | 呼び出しの 63% は秀コンボ自身 | 使われ方の答えは、まだ記録に無い |
正直な線引き
- 直した道具は GitHub に上げてあります(
4afda78・487a201)。説明文の短縮は、MCP を立ち上げ直したときから効きます
- 窓の無い Excel が裏に残っていると、道具がそれを掴んで 2〜4 分待つことがあります。まだ再現できていないので、直していません
- 値を出さない手(
structure・no-values)は、値を出さないことを試しのブックと手元のブック 5 本で確かめました。どんなブックでも漏れないとまでは言えません - 開発中のまま公開しています
おわりに
関所は、いまは 17 秒で開きます。
しばらくは足さずに、使ってみます。


