1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自分の物差しでは、全部当たっていた ── 秀エクセルマネージャーを二日かけて棚卸しした話(誤爆 55→0・待ち 90 秒→25 秒)

1
Posted at

はじめに

前回の記事は、統合マクロフォームのキー操作を、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 の要らない仕事を、四本まとめてクラウドに出すことにしました。番頭が四本の指示書を書き、私は了承だけです。

  1. 直す棚 3 本。 今まで見つけるだけだった式の点検を、直す棚にしました。合計の範囲が表の終わりまで届いていない(=SUM(D2:D8) → =SUM(D2:D10))、下へ写した式に $ が抜けている、VLOOKUP の列番号の直書きを見出しから MATCH で引く形にする。式のセルだけを書き換えて、値のセルは触りません
  2. はじめての 10 分。 GitHub から落とした人が、汚れた試しの表を作って「この表を整えて」と頼み、何が直ったかを番地で見て、「元に戻して」まで行ける道を README に書きました
  3. 道具の総点検。 Python の道具を Excel なしで読んで、穴を報告するだけの仕事です。31 件上がってきて、手元で全部直しました。実機で確かめている途中で、もう 2 件見つかっています(元に戻すと、行を消されてずれたほかのシートの式が戻らない、など)
  4. 盲点の地図。 次の節で書きます

指示書には、一つ決まりを足しました。数は台本の出力をそのまま貼る。 手で数えた数を書かない。

前の晩、フラッシュ君(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 の話です

おわりに

棚卸しは、帳面を読むだけでは終わりません。棚の奥の布をめくり、よその客の言い方で品物を探し、待たせている時間を時計で測る。この二日は、そういう仕事でした。

当たっていると思っていたのは、自分の言い方だけでした。

1
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?