0
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?

Excelの業務フロー、AIには「見出し5個」しか見えていなかった — 図形に隠れた180個が消える罠

0
Last updated at Posted at 2026-07-18

本記事は Zenn で公開した実測記事の Qiita 版です (筆者本人による転載・一部整形)。

「業務フローのところだけ、指摘が薄くないですか」——AIに設計書レビューを頼んだとき、そんな経験はありませんか。

先日の記事(「この設計書、レビューして」で頼むと検出率0%だった)では、総務省の税務システム標準仕様書をAIにレビューさせ、頼み方で検出率が0%から86%まで変わる実測を書きました。実はあのとき、業務フローはPDFで渡していたので、この「指摘が薄い」問題は起きていません。

正体に行き当たったのは、同じ検証の途中で別の公開資料を調べていたときです。デジタル庁が公開している業務フローのExcelをopenpyxl(Pythonのxlsx読み取りライブラリ)で開いたら、セルに入っている値はたった5個。業務の中身180個は、全部「図形」の中にありました。

そしてAIは、セルの5個しか届いていなくても「レビューしました」という顔で返事をします。この記事は、その罠を実物の公開資料とコードで解剖した単独版です。

設計レビュー全体の実測(検出率0%→86%)は本編の記事にまとめています。本記事は、その検証で見つけた「Excel図形問題」だけをコードで中身まで開けて確かめたものです。

開いてみたら、見出ししかなかった

題材にしたのは、デジタル庁が公開している「地方公共団体情報システム共通機能標準仕様書」の別紙、申請管理機能の運用フローExcel(20230929_policies_local_governments_common-feature-specification_outline_05.xlsx、2026年6月取得)です。実物の公開資料です。

(検証環境: Python + openpyxl。Claudeを使った実験はブラウザ版 claude.ai の Pro プラン・Sonnet 5・思考モード最大で、いずれも2026年6月末〜7月頭に実施しています。)

import openpyxl

wb = openpyxl.load_workbook("業務フロー.xlsx")
for row in wb.active.iter_rows():
    for cell in row:
        if cell.value:
            print(cell.value)

結果は、拍子抜けするほどシンプルでした。業務フローのシートでセルに入っている値は、申請者・自治体・マイナポータル・申請管理機能・標準準拠システムの5つだけ。これはスイムレーン(担当ごとに分かれた横帯)の見出しです。結合セルも5個。業務の中身を示す言葉は、セルの中に1つもありませんでした。

では、実際の業務(申請データの取込や審査結果の連携)はどこに消えたのか。

中身は全部、図形の中にあった

Excelファイルの正体は、ZIP圧縮されたXMLの束です。図形(テキストボックスやオートシェイプ)のテキストはxl/drawings/drawing*.xmlという、セルの値とはまったく別のファイルに格納されています。ここを直接展開して、<a:t>タグ(図形内テキストの実体)を正規表現で抜き出してみました。

import zipfile, re

with zipfile.ZipFile("業務フロー.xlsx") as z:
    xml = z.read("xl/drawings/drawing1.xml").decode("utf-8")

shapes = re.findall(r"<a:t>(.*?)</a:t>", xml)
print(len(shapes))  # → 114

drawing1.xmlだけで114個。同じ要領で各シートのdrawing*.xmlを合計すると180個でした。なお<a:t>は書式の切れ目ごとに分割されることがあるため、この180は厳密には「図形の数」ではなく「図形内テキストのかたまりの数」に近い値です。中身は、申請データ取込・宛名番号変換・形式審査結果・実質審査・審査結果連携・申請処理状況登録API・業務DB——まさに業務フローの本体です。

セルに5個、図形に180個。この差を見た瞬間、「そりゃ指摘が薄いわけだ」と声が出ました。コピペやテキスト読み取りでExcelを渡すと、AIの目には見出し5個しか映っていなかったのです。それでも返事は来ます。中身が渡っていないことに、渡した側が気づけないのが一番厄介なところです。

Excel設計書へのAIの指摘が妙に薄いと感じたら、まずセルと図形のどちらを読ませているかを疑ってみてください。

「MCPサーバーなら読めるのでは」——実測したら0個だった

「Excel対応のツールを噛ませればいいのでは」と思うかもしれません。私も最初はそう考えていました。

ところが、Excel対応のMCPサーバー(AIにExcel操作の手足を生やすための接続規格のサーバー)として代表的なnegokaz氏のexcel-mcp-server(v0.12.0)で実測したところ、提供されるツールはセルの値・数式・シート・テーブル操作の6種で、図形を読み取るツールは存在しませんでした。基本フローのシート全域を読ませても、取れたのはスイムレーン見出しの5個——openpyxlのセル読みと同じ結果です。図形内テキスト180個のうち、拾えたのは0個。ツールに図形を読む口が無いので当然です。

示唆的なのは、このサーバーにWindows限定の「シートのスクリーンショット」機能が付いていることです。図形は"画像として見せる"しかない、と作者も分かっているのだと思います。

図形の中のテキストを取りたければ、今回のZIP展開(数行のスクリプト)が確実です。ただ——テキストが取れても、まだ足りないものがあります。

テキストが取れても、つながりが消える

業務フローの本質は、箱の中身だけでなく「どの箱からどの箱へ」というつながりです。矢印の位置関係は、Excel内部では座標情報として保存されています。テキストだけを抜き出す方式では、この座標=つながりの情報がごっそり抜け落ちます。180枚の付箋を渡されて、貼ってあった順番だけ教えてもらえない、という状態に近いです。

対照実験として、IPA(情報処理推進機構)が公開している製造業の業務フロー資料「新業務フロー(詳細)」を、今度はPDFのままClaudeに読ませてみました。結果は対照的でした。担当レーン(事業者・関係会社・当社の各グループ)も、8ステップに及ぶ処理の流れと順序も、途中の分岐も、正確に読み取れました。郵送・電話・電子メールといった連携手段や、「システム化対象=緑」という色分けの凡例まで拾えています。矢印の向きも色も、画像として渡せば生きるのです。

同じ「業務フロー」でも、PDF(画像として渡す)かテキスト抽出かで、ここまで差が出ます。


📢 8/29(土) にオンライン勉強会をやります

「AI に読ませる」工夫の先にある、AI に実務を任せる仕組みの実物を 40 分でお見せします。50 案件の進捗催促を Slack・スプレッドシート・cron で自動化した構成とデモ、うまくいかなかった部分も含めて話します。オンライン・無料・定員 20 名です。

50案件の催促をAIに任せたら「進捗どう?」がほぼ消えた — 実測勉強会 #1 (connpass)


4つの手法を比べる

手法 Excelのまま 図形テキスト つながり・流れ 手間 向く用途
PDF変換 (Excel for the web等で) ✕ (PDF化が必要) ◎ 視覚的に流れも読める 最小 レビュー・図の理解
ZIP解凍+XML (今回の方法) ○ 180個取れる ✕ 座標ごと落ちる 数行のスクリプト 図形テキストの検索・一覧化
excel-mcp-server (negokaz氏) ○ そのまま ✕ 0個 (v0.12.0実測) Node.js+MCP設定 セル値・数式のデータ操作
Claude for Excel (公式アドイン) ○ そのまま △ 図形読取は記載なし △ (未検証) 有料プラン (.xlsx/.xlsm対応) セル・数式・表の質問応答

結論は、身も蓋もないのですが「流れまで読ませたいなら、PDF化が一番確実」です。図形の中のテキストだけならZIP展開で取れますが、矢印のつながりは視覚情報なので、テキスト抽出では原理的に再現できません。

「Claude for Excelの公式アドインは?」と思う方もいるかもしれません。2026年7月時点で全有料プラン向けに正式提供されていますが、公式ヘルプが挙げているのはセル・数式・表への質問応答やデバッグで、図形(テキストボックス)の読み取りは記載がありませんでした。図形前提の業務フローを読ませる用途なら、今のところPDF化のほうが確実です。

後日談: AIは自分で"目"に切り替えていた

面白い後日談があります。「セルに5個しかないなら、ブラウザ版のClaudeに渡してもフローの説明はできないはずだ」と思い、同じExcelファイルをそのまま渡して、どんな業務の流れが描かれているか説明を頼んでみました。

想定は外れました。15分後、5レーンの構成から処理の順序・分岐・API名まで、ほぼ完全な説明が返ってきたのです。

本当にファイルを読んだのかは怪しみました。処理中にWeb検索をした形跡があり、題材は公開資料なので「外部知識で語った」可能性が残るからです。そこで図形の文言を2箇所だけ架空の名前に差し替え、Web検索をオフにして再試験しました。結果、その架空の名前を正しく拾って説明してきました。ファイルを読んでいるのは確実です。

どうやって読んだのか。2回目の回答の冒頭に、こうありました。

「セル自体にはレーン名しか入っていなかったため、PDF変換して図として読み取りました」

1回目の処理中には「SVG図を構築し可視化」という表示も出ていました。読んだ経路の説明はAIの自己申告なので割り引くとしても、「テキストとして読めないと気づいたら、自分で視覚化してから"目"で読む」という回避策を自力で実行したことは、架空名の再試験で確かめられました。

本文で中身を解剖した今なら、この挙動の意味がはっきり言えます。セルを読んでも5個しかない。だからAIは自力の画像化に回り、そこに15分かかる。最初からPDFで渡せば、その遠回りごと省けて数十秒です。

明日からできること

  1. Excelの図形(テキストボックス・オートシェイプ)で描かれた業務フローは、渡す前にPDF化する。 Excel for the webの「印刷」からPDF保存するだけで十分です
  2. 図形の中のテキストだけ拾えればいい用途(検索・一覧化)なら、ZIP解凍+XML抽出(上の数行のスクリプト)で足ります。 Excel対応のMCPサーバーは、実測では図形非対応でした。いずれの方式でも、矢印のつながりまでは出てこないと割り切ってください
  3. 「AIに投げたら普通に返事が来た」は安全のサインになりません。 返事が来ることと、中身を読めていることは別問題です。業務フローのような図中心の資料で、指摘の量が妙に少ないときほど疑ってください

冒頭の「業務フローへの指摘だけ薄い」の正体は、AIの手抜きではなく、セルと図形という保存場所の違いでした。もし今、Excelの図形入り設計書をそのままAIに渡しているなら、一度PDFに変換してから同じ質問をしてみてください。指摘の量が、たぶん変わります。

出典: デジタル庁ウェブサイト「地方公共団体情報システム共通機能標準仕様書」関連資料(申請管理機能の運用フロー)/ IPA(情報処理推進機構)公開資料「新業務フロー(詳細)」。本文に記載した図形テキストはいずれも公開資料そのままです(後日談の再試験で使った2箇所の架空名への差し替えは検証専用のコピーで行っており、本文の数値・引用には含まれていません)。


3ペルソナでの観点分割レビューなど、設計書レビュー全体の実測(検出率0%→86%)はこちらの記事に、実際に使ったプロンプト一式はnoteの実践パッケージにまとめています。

🔍 moname_ai — Claude を本業で使い倒した実測記録を書いています。続きは Bluesky (@moname-ai.bsky.social) で。

0
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
0
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?