はじめに
前回の記事は、統合マクロフォームのキー操作を、Gemini Flash との会話だけで直した話でした。
あの記事を出した十月二十八日の夜から、二十九日の夕方まで、秀エクセルマネージャーにかなりの数の直しを入れました。公開リポジトリへのコミットは、マージを除いて 59 本です。
一本ずつ記事にするほどの大きさではないものも多いので、今回はまとめて一本にします。並べてみると、やっていたことは一つでした。作った本人の物差しでは見えない所を、外の物差しで数え直す。 店でいえば棚卸しです。帳面の数ではなく、棚の品物を手で数え直す。その二日分の記録です。
TL;DR
- 外の目で読んだ徹底点検で、値が化ける・人の物を黙って消す穴が見つかりました(16 桁の番号の下の桁、「00123」、承認の言葉の読み違い、同じ名前の人のシート)。全部直しました
- 目録から隠していた棚 32 本のうち 19 本が、実は撃たれていました。隠すのをやめて、出すか消すかにしました
- 棚の目録を読む前の Claude に、仕事で言いそうな頼みを 325 個書いてもらって撃ったら、71 個が違う棚に当たりました。自分たちの問題集では当たっていた棚です。半日かけて、誤爆 0・取りこぼし 0 にしました
- Excel のリボンの全コマンド 996 行を仕分けて、基本の操作を棚 6 本にしました
- マクロを一か所直すときに AI が読む字数を、約 3.5 万字から約 7 千字に減らしました
- 道具の同期と公開の待ちを、90 秒から約 25 秒にしました
夜:外の目で読む
二十八日の夜、クラウドで走らせた Claude が、道具の Python と棚のマクロを頭から読んで穴を探しました。Excel の無い所で、コードだけを読む点検です。見つかったのは Python 24 件と、棚のマクロ 7 種でした。
いくつか並べます。
- 16 桁以上の番号を数として書いていました。Excel の数は 15 桁までなので、16 桁目が 0 に変わります
- 値を写す棚が、文字で入れた「00123」を 123 に、「1-2」を日付にしていました。シートをつなぐ・ピボットを値にする・2 列を 1 列につなぐ、など十数本です
- 式を値にする棚が、スピル(
=UNIQUE(…)のように下へ広がる式)の広がった側の値を消していました - 棚 5 本が、作るシートと同じ名前の人のシートを、確認なしで消していました
- エージェントが「消してよい」などの承認の言葉を確かめる門で、「消してもいいのかな?」という問いや、「全部消さないで」という断りを承認と読んでいました
どれも、作った側が自分の表で試している限りは出てこない穴です。自分の表には 16 桁の番号も、同じ名前のシートもありません。
同じ夜、番頭(手元の Claude Opus)は、棚を焼く更新登録に関所を一つ足しました。前に焼いてからの間に誤爆の警告が出ていたら、理由を書かないと焼かない。警告を読まずに焼くのを、道具で止める形です。理由は台帳に残ります。
夜中:隠していた棚
日付が変わってすぐ、クラウドの Claude から、もう一本の仕事が上がってきました。Excel のリボンの全コマンドを 996 行の目録にして、「棚にする」「もう棚にある」「棚にしない」に仕分けたものです。棚にする物は、書式・表示形式・行と列・絞り込み・表示と印刷・シート操作の 6 本にまとめてありました。
「見出しの文字を大きくして赤にして」「金額の列を 3 桁区切りにして」「印刷を横向きにして」。どこを、どうする、を言えば、AI を呼ばずに棚が撃ちます。シートの保護の棚については、私は使いませんが、ほかの人は使うだろうと思って残しました。
取り込みの途中、私の指摘から、隠していた棚の話になりました。
使わない引数を一つ付けて、目録と Excel のマクロ一覧から隠していた棚が 32 本ありました。引退させたつもりの棚です。ところがそのうち 19 本は、頼みの言葉を拾う語が残っていて、先撃ちでは撃たれていました。撃たれるのに、人は目録からもマクロ一覧からも見つけられない。いちばん困る形です。
19 本は隠すのをやめて目録に出し、13 本は消しました。今は、引数のある棚に頼みの語があると、検査が止めます。棚を退かせたいときは、隠さずに消すか、頼みの語を外す。目録は 169 本になりました。
ついでに、問題集・目録・試験も公開に入れました。それまでは手元にだけ置いていたのですが、なぜ公開から外すのか、と私が言ったからです。棚を直す人が、同じ物差しで測れないと困ります。
明け方:四本を外へ出す
クラウドのクレジットが十一月五日までで、まだ残っていました。Excel の要らない仕事を、四本まとめてクラウドに出すことにしました。番頭が四本の指示書を書き、私は了承だけです。
-
直す棚 3 本。 今まで見つけるだけだった式の点検を、直す棚にしました。合計の範囲が表の終わりまで届いていない(
=SUM(D2:D8)→=SUM(D2:D10))、下へ写した式に$が抜けている、VLOOKUP の列番号の直書きを見出しからMATCHで引く形にする。式のセルだけを書き換えて、値のセルは触りません - はじめての 10 分。 GitHub から落とした人が、汚れた試しの表を作って「この表を整えて」と頼み、何が直ったかを番地で見て、「元に戻して」まで行ける道を README に書きました
- 道具の総点検。 Python の道具を Excel なしで読んで、穴を報告するだけの仕事です。31 件上がってきて、手元で全部直しました。実機で確かめている途中で、もう 2 件見つかっています(元に戻すと、行を消されてずれたほかのシートの式が戻らない、など)
- 盲点の地図。 次の節で書きます
指示書には、一つ決まりを足しました。数は台本の出力をそのまま貼る。 手で数えた数を書かない。
前の晩、フラッシュ君(Gemini 3.8 Flash)に、リボンの棚を実機で練習させる仕事を頼んでいました。その報告にあった練習の数が、記録と合わなかったのです。番頭の点検で分かりました。数を作るつもりはなくても、確かめていない数は書けてしまう。だから、数は道具に数えさせることにしました。
午前:他人の言い方で測る
棚の当たり具合は、これまでも問題集で測っていました。千問を超える問題集で、照合は全部一致していました。
ただ、その問題集を書いたのは、棚を作った側です。棚の語を知っている人が書いた頼みは、棚の語に寄ります。
そこで盲点の地図です。クラウドの Claude に、棚のコードも問題集も読む前に、仕事で人が言いそうな頼みを書いてもらいました。表の掃除・書式・集計・グラフ・ピボット・印刷・シート操作など 13 分野で、25 個ずつ、計 325 個。そのうち三分の一は、棚に無さそうな頼み(AI に回るのが正解)です。書いた頼みは、後から書き換えられないように、撃つ前に先にコミットしてもらいました。
撃った結果がこれです。
| 当たり | 取りこぼし | 誤爆 | 正しく AI | |
|---|---|---|---|---|
| はじめ | 105 | 32 | 71 | 117 |
| 終わり(11:06) | 152 | 0 | 0 | 173 |
誤爆は、違う棚に当たって撃ってしまうことです。71 個ありました。
- 「全シートの表示倍率を100%にそろえて」が、先頭にゼロを付ける棚に当たる(100% の 0 を拾っていた)
- 「千円単位で表示して」が、円マークの通貨表示の棚に当たる
- 「売上の上位10件だけ見せて」が、ピボットを手直しする棚に当たる
- 「#N/Aになってるセルを空白にして」が、エラー値を一覧にするだけの棚に当たる
- 「重複を除いた件数を数えて」が、重複行を消す棚に当たる
最後のような、行を消す・値を書き換える棚への誤爆が、いちばん危ない物です。まずその 16 個を明け方に止めて、残りを午前中に片付けました。10 時 45 分までの直しは、56 本の棚の頭にある語(頼みの語と、除く語)だけで、マクロの中身は一行も変えていません。直した語が別の頼みを横取りしないかも、足した語を含む別の言い方で撃って確かめています。
一つ、私が口を出した所があります。その時点で、番頭は残りの 8 個に「なぜ直さないか」の理由を書いて、そこで止めていました。そのうち 3 個は、問題集の期待と地図の正解のどちらを採るかの判断だったので、お前が決めたらいい、と任せました。残りの 5 個にはまだ理由が書いてあるだけだったので、理由を書いておけばいいわけではない、と言いました。11 時 6 分には、8 個とも片付いています。
正直に書いておくと、325 個のうち 3 個は、棚の方が合っていたので地図の正解の方を付け直しました。たとえば「姓と名の間のスペースを全角1つにそろえて」は、地図を書いた後の朝に、ちょうどそのための棚を足していました。直す前の正解のままで数えると、誤爆は 0 ではなく 3 です。
午前中に、この直し方そのものも道具にしました。頭の語の直しを TSV 一枚に並べると、写しで問題集を全部撃ち比べて、良くなった頼みと悪くなった頼みを数秒で出す。悪くなった頼みが一つでもあれば書かない(shelf --words)。一語ずつ直しては焼き直す、をやめるためです。
夕方:直す手を軽く、待ちを短く
午後は、番頭の側の手間の話です。
マクロを一か所直すのに、3.5 万字を読んでいた
マクロを作ったり直したりするのが冗長で遅く、使用量もかかりすぎる。私がそう言って、番頭が測りました。マクロの小さな直し一件で、AI が読み込む字数は約 3.5 万字でした。スキルの手順書(SKILL.md)が 2 万字あって、毎回それを丸ごと読んでいたのが大きな所です。
- 手順書を 20,066 字から 5,492 字に。表の作業の全文とコマンドの索引は別の紙に分けて、要るときだけ読む
- 長いマクロを丸ごと取らず、語の前後だけ・行の範囲だけを取る(
get 名前 --around 語) - 名前の定義・使っている所・呼び元を一回で返す(
grep 名前 --where) - 焼く前の試験は、前に焼いてから変わったマクロと、それを呼ぶ試験だけ回す(
gate --changed)
これで、小さな直し一件は約 7 千字になりました。
90 秒の待ちを 25 秒に
もう一つは待ち時間です。道具を直すたびに、二か所のコピーを同期して、公開用の写しを作って試験を回します。これが 90 秒かかっていました。私は、90 秒は長すぎる、30 秒以内に、と言いました。
番頭が内訳を測ると、試験を一本ずつ順に回していました。CPU の数に合わせて組に分けて同時に回すと、同期が 9 秒、公開が 15 秒、合わせて約 25 秒です。目安を超えたら、道具がどの段が長いかを名指しするようにもしました。
ついでに、焼く前の試験の絞り込みも細かくしました。棚を一本直しただけで、モジュール単位で絞ると 135 本中 128 本の試験が回っていたのを、マクロ単位で絞って 3 本・8.6 秒にしています。使う人の側に効くのは表の作業の方で、3 万行の表で materials(表の中身を読む手)が 2.7 秒から 1.3 秒になりました。
私はこのとき、こんなのは指摘される前にやっておかなきゃ、と番頭に言っています。待ち時間は、使う人にとっては性能そのものです。道具が秒数を出しているのだから、見たその場で長すぎないかを考えてほしい、という話です。
いま入っている物
入口ごとにまとめます。
| 入口 | だれ向け | 今回の主な変化 |
|---|---|---|
| Excelコンボ | 表の前で頼む人 | 誤爆 71→0(他人の言い方 325 個で)。リボンの基本操作の棚 6 本。直す棚 3 本。隠れていた棚 19 本を目録に出した。シートを替えたら前の結果を消し、履歴に残す |
| エクセルマネージャー | AI に表やマクロを直させる人 | 値が化ける・人の物を消す穴の直し(Python 24+31+2 件)。元に戻すがシートの名前・並びも戻す。get --around・grep --where・gate --changed。同期と公開 25 秒 |
事実と見立ての仕分け
事実。 数字は道具の出力と記録です。盲点の地図の数は、PR の報告をそのまま使わず、番頭が自分の台本で数え直して一致を確かめました。コミットの本数と時刻は公開リポジトリの記録、3.5 万字と 90 秒は番頭が測った数です。
見立て。 二日間に見つかった穴は、どれも作った側の物差しの外にありました。自分の表には無い 16 桁の番号、自分たちの問題集には無い言い方、隠したつもりで撃たれていた棚、体感しないから気にしていなかった待ち時間。作った本人がいくら丁寧に確かめても、同じ物差しで測る限りは見えない、と私は見ています。
正直な線引き
- 盲点の地図の「他人」は、目録を読む前の Claude です。 人が書いた頼みではありません。325 個で 0 になったのは、その 325 個での話です
- 誤爆 0 のうち 3 個は、正解の付け直しです。 前の正解で数えると 3 です
- 焼く(更新登録)の約 20 秒は、まだ測っていません。 次に棚を直して焼くときに内訳を測ります
- 開発中です。 仕様は変わります
- Windows 版の Excel の話です
おわりに
棚卸しは、帳面を読むだけでは終わりません。棚の奥の布をめくり、よその客の言い方で品物を探し、待たせている時間を時計で測る。この二日は、そういう仕事でした。
当たっていると思っていたのは、自分の言い方だけでした。


