印刷してそのまま申請書として使えるように、セルを結合したり、方眼紙のように行列を細かく区切ったりしたExcelファイルを見たことがある人は多いはずだ。人にはきれいに見えるこの手のExcel、通称「神Excel」は、分析システムやAIに読み込ませようとすると途端に扱いづらくなる。セルの結合や体裁のためのスペースが、データの区切りを誤認識させるからだ。
デジタル庁は2026年10月21日、公式note記事とGitHubで新しいツールを公開した。この種のExcel/CSVファイルが「機械にとってどれだけ読みやすいか」を自動採点する「Harunobu」だ。無料で、GitHubリポジトリから誰でも試せる。採点は0〜100点で、違反箇所がセル単位で一覧になって返ってくる。
Excelはなぜ読みにくくなるのか
Harunobuが採点の根拠にしているのは、2026年3月31日に各府省庁DX推進連絡会議とデジタル社会推進会議幹事会が決定した「行政データにおける機械可読性に関するルール」だ。ルールはレベル1〜3の3段階に分かれている。レベル1を満たせば機械が閲覧・転記できる状態、レベル2まで満たせば集計・分析ができる状態、レベル3まで満たせばデータ間の連携や自動処理ができる状態になる。段階的に機械可読性を上げていく設計だ。
レベル1には、次のようなルールが含まれる。
- 1シート(ファイル)に複数の表が掲載されていないか
- スペースや改行などで体裁を整えていないか
- 1セル1データとなっているか
- 書式でデータの違いを表現していないか
- セルの結合をしていないか
どれも、紙に印刷したときの見た目を優先した結果、起きやすい問題ばかりだ。神Excelが扱いにくいのは、見た目のための工夫そのものが、機械にとってはデータの境界を見失わせる原因になるからだ。
このルールをもとに、行政機関が今後公表するオープンデータはレベル1を満たすよう求められている。では、すでに大量にある行政データや、組織内に溜まったExcelファイルが、このルールにどれだけ適合しているかは、どうやって確かめればいいのか。
Harunobuの採点の仕組み
公表するデータが少なければ、チェックリストを作って人間が1つずつ確認することもできる。しかし公式note記事は、行政機関がこれまで公表してきた膨大な量のデータに遡って機械可読性を求められる場面を想定すると、人力でのチェックは現実的でないと述べている。
そこでデジタル庁ファクト&データユニットが開発・公開したのが、機械可読性判定ツール「Harunobu」だ。入力したExcel/CSVファイルに対し、ルールに照らし合わせて100点満点で自動採点する。採点結果には、データ領域を推定したレイアウト推定の結果、ルール違反があった箇所の一覧、違反したルールとその理由が含まれ、JSON形式またはCSV形式で出力される。
3つの使い方
Harunobuは用途に応じて3つの方法で使える。
| 方法 | 使い方 | 向いている場面 |
|---|---|---|
| CLI | uv run harunobu analyze data.xlsx のようにコマンドで採点し、JSON/CSVで出力 | 大量のファイルをまとめて処理したいとき |
| Streamlit UI | ブラウザでファイルをアップロードし、採点結果を画面で確認 | 1〜数ファイルを手元で確認したいとき |
| Python API | analyze() 関数などをスクリプトから直接呼び出す | 既存のデータ処理システムに組み込みたいとき |
採点にも3段階のモードがあり、見るレベルの深さを選べる。
| モード | 対象レベル | 用途 |
|---|---|---|
lite | レベル1のみ | 簡易チェック |
standard(既定) | レベル1+2 | 通常利用 |
thorough | レベル1+2+3 | 詳細分析 |
対応OSはWindows/macOS/Linux、Python 3.10以上、メモリ1GB以上(大規模ファイルは2GB以上推奨)が必要環境になる(README「動作環境」)。
ここまでなら、よくある「ルールチェッカー」の話で終わる。「AIと組み合わせたデータ整備」という紹介のされ方を見て、てっきりAIが判定まで引き受けるツールだろうと予想していた。だが実際に読み進めると、肝心の判定部分はAIを使わない設計になっていた。
AIの使いどころを限定する設計
判定にAIを使わない理由
Harunobuの採点ロジックは、基本的にルールベースの決定論的な仕組みでできている。同じファイルを100回採点すれば、100回とも同じ結果が返る。公式note記事は、この設計にこだわった理由をこう説明している。
ルール本文をAIに読ませて判定させるという方法も考えられるが、AIによる判定は推論を含む以上、非決定論的になる。同じ記事はこう仮定する。仮に100万ファイルを判定させて1%の確率で誤判定が起こったとすると、1万ファイルは間違った判定結果になる。しかも、どのファイルが間違っているのかは分からない。
1%という数字だけを見ると、精度が高いAIならもっと低いはずだと思うかもしれない。だが行政機関が扱うデータの規模を考えると、1%の誤判定でも、しかも「どのファイルが間違っているか特定できない」という状態は、数千から数万件のファイル群を扱う組織にとって致命的になる。だからHarunobuは、AIを判定の中心に置かない作りになっている。
この決定論的な判定は、「データ本体と無関係な情報がないか」のように、本来は意味を理解しないと判断しづらいルールにも及んでいる。Harunobuはこの種のルールを、データの範囲を推定したうえで、その範囲外にあるタイトルや注釈を機械的に検知する、という形に置き換えている。こうして決定論的に処理している(公式note記事「対象外としたルールの例」)。
では、Harunobuは判定にAIを一切使わないのかというと、そうではない。採点のあと、実際にファイルを直す段階でAIが登場する。
修正はプログラムを書かせて行う
Harunobuが行うのは採点までで、ファイルそのものを編集して機械可読性を高める機能は持っていない。採点結果をもとに元データを直す方法として、公式note記事は人間が1つずつ修正する方法、システム化して定型処理する方法に加え、AIにデータ整備を任せる手順を紹介している。手順は次の5段階になる。
- 機械可読性に課題があるファイルをHarunobuでルール判定する
- ルール判定結果とデータファイルをAIに読ませる
- AIに「データを整形するプログラム」を生成させる
- データを整形するプログラムを実行する
- 整形後のデータを検証し、必要なら1に戻ってHarunobuに再投入する
ここで目を引くのは3番目の手順だ。HarunobuはAIにデータを直接書き換えさせず、「整形するプログラム」を書かせてから実行するという一段間接的なやり方を取っている。
理由は判定を決定論的にした理由と同じだ。AIによる推論には確率的な誤りが伴う。判定結果をもとにAIがファイルを直接編集すれば、その編集自体が非決定論的な処理になってしまう。だが、AIが書いたプログラムを実行する処理自体は決定論的だ。同じプログラムを同じファイルに適用すれば、何度やっても同じ結果になる。判定だけでなく修正の段階でも、AIには推論に基づく判断そのものを担わせず、決定論的な処理の外側に置いている。
公式note記事は、多くのデータファイルごとに整形プログラムを都度生成するとコストが大きくなると指摘する。そのため、同じ種類の統計や同じ系列データの年度違いなど、ある程度のまとまりごとに整形プログラムを作ることを推奨している。
実際にやるとどうなるか
公式note記事では、この手順を実際に試した例が紹介されている。ダミーのExcelファイルを使った公式note記事上の実演であり、筆者が実際に試した結果ではない点は先に断っておく。使ったのはChatGPT(モデル: GPT-5.6 Luna)で、執筆時点(2026年10月)で無料で使えるモデルだという。対象は、行政のオープンデータで実際に頻出するルール違反を多量に盛り込んだダミーのExcelファイルだ。
実演で使われたプロンプトは、次の4ステップを指示する内容になっている。
- GitHubリポジトリをcloneまたはzipで取得する
- アップロードしたExcelファイルを、Harunobuのコマンド(
python run harunobu analyze harunobu_sample.xlsx --mode thorough --out-path result.json)で採点し、結果をJSONで保存する - 採点結果で指摘された点を修正する加工プログラムをPythonで作成する
- 作成したプログラムを実行し、加工済みのExcelファイルを提示する
公式note記事によれば、この手順でChatGPTはダミーファイルを「きれいな矩形のExcel」に加工できたという。採点でどこが悪いかをAIに把握させ、プログラムの生成と実行は切り分ける、という流れを守ったことで、人間側のコストを抑えつつ機械可読性を向上できた、とまとめられている。
Harunobuの限界
Harunobuの採点ロジックは、機械可読性ルールを完全に反映した公式のものではなく、あくまでサンプル実装の一例だ(README「免責事項」)。次の点は、Harunobuを使う前に知っておくとよい。
- 「回答のコード表が別添されているか」「データの定義や更新履歴が記載されているか」は判定対象外になっている。コード表や更新履歴は別ファイルやWebサイトに分けて置かれることが多く、単一のExcelファイルだけから有無や妥当性を評価するのが難しいと判断されたためだ
- 採点の配点や判定ロジックは、デジタル庁の公式見解ではなくサンプル実装として独自に開発されたものだ。100点という結果は、このサンプル実装の基準での100点であって、政府が定めた唯一の合格基準ではない
- レイアウト推定やAI補完機能の精度、完全性、妥当性は保証されていない
- GitHubのPull Requestは受け付けておらず、Issueもサンプル実装部分の報告のみを対象にしている。使い方の相談には対応していない
ライセンスは2つに分かれる。ルールファイル(JSON/CSV)とドキュメントは公共データ利用規約第1.0版(PDL1.0)、サンプル実装ツール部分はMITライセンスだ(README「ライセンスについて」)。GitHub上にバージョンタグやRelease情報はなく、正式版かプレビュー版かの位置づけは明記されていない。
まとめ
デジタル庁が公開した「Harunobu」は、神Excelと呼ばれるような機械可読性の低いExcel/CSVファイルを、公式に決まったルールに沿って0〜100点で自動採点する無料ツールだ。CLI・Streamlit UI・Python APIのいずれかで、GitHubリポジトリからすぐに試せる。
採点の中心にAIを置かず、同じファイルには常に同じ点数を返す決定論的なロジックにこだわっている。理由は、AIによる非決定的な判定が、大量のファイルを扱う場面では「どれが間違っているか分からない」という形で問題化するからだ。AIは採点のあと、修正段階で使われる。そこでもデータを直接編集させず、整形するプログラムを書かせて実行する、という形でAIの出番を決定論的な処理の外側に留めている。
採点結果はJSON形式でAIへの指示書としてそのまま使える。Harunobuでの採点とAIでのプログラム生成を組み合わせれば、神Excelの整備にかかる手間を大きく減らせる。ただし採点基準自体はデジタル庁の公式見解ではなく、一部ルールは判定対象外になっている点は、結果を読むときに覚えておきたい。
コメント
気づきや感想をどうぞ記事への補足や、読んで考えたことをお寄せください。個人情報や、他の人を傷つける内容の投稿はお控えください。
投稿にはGoogleログインが必要です。
Googleでログイン投稿にはGoogleアカウントの表示名が公開されます。メールアドレスは取得・公開しません。
コメントを読み込んでいます…