この記事で分かること
- 「1社を読む」と「N社×M年度を並べる」は別の作業であり、後者の中身はほぼ正規化であること
- 横断比較で揃えるべき8項目(決算期・単位・会計基準・科目名・セグメント・連結単体・期間・遡及適用)の具体的な揃え方と、揃えられない場合の扱い
- 比較表の各セルに書類管理番号・原表名・原項目名を紐づける出典セル対応表の設計
- 仮設5社×3年度の設例で、正規化の前後に順位が入れ替わることと、45セルを抜き取って原本照合する検証手順
結論:横断比較の成否は「正規化ルール」と「出典セル」で決まります
複数の企業を並べて比べるとき、作業時間の大半を占めるのは数値を探すことではありません。集めた数値を同じ物差しに載せ替えることです。決算期が3か月ずれている、原資料の単位が千円と百万円で違う、片方はIFRSで営業利益の範囲が違う、セグメント区分が途中で変わっている、といったことが起こります。こうしたズレを放置したまま並べた表は、見た目は整っていても比較になっていません。
そして、そのズレをどう処理したかを後から検証できなければ、表は使えません。だから比較表の各セルには「どの書類(書類管理番号・提出日)の、どの表の、どの項目から取り、どの調整を適用したか」を必ず持たせます。本記事では、この正規化ルール表と出典セル対応表を自分で設計し、AIに作業を分担させながら人が採否を決める手順を示します。生成AIをファイナンス実務全般でどう使うかの全体像は生成AI×ファイナンス実務で扱っています。
全体像:N社×M年度を並べる7工程
「1社を読む」との役割分担と、最初に決める3つのこと
EDINETから資料を入手し、PDFやXBRLをAIにどう渡し、出典付きの回答をどう引き出すか。1社の有価証券報告書や決算短信を読む作業は生成AIで有価証券報告書・決算資料を読むで扱っています。本記事はその続きにあたり、すでに読める状態になった複数社・複数年度を、同じ物差しで並べることだけを扱います。資料の入手手順と渡し方は繰り返しません。
また、EDINET APIをPythonから叩いて書類一覧を取得し、pandasで整形するコードの基礎はPythonで財務データを取得するにあります。本記事はコードではなく、取得したあとに待っている物差し合わせの設計を扱います。有価証券報告書そのものの読み方は有価証券報告書の読み方を前提とします。
作業を始める前に、次の3つを文書として先に決めます。あとから決めると、途中で基準が変わって表が壊れます。
- FY(会計年度ラベル)の定義:本記事の設例では「決算日が2025年4月1日〜2026年3月31日に属する期をFY2025とし、以降1年ずつずらす」と定義します。3月期の会社は2026年3月期、12月期の会社は2025年12月期が同じFY2025の列に入ります。決算期の換算の考え方は決算期の暦年換算も参照してください。
- 比較する項目(標準名):本記事の設例では売上高・営業利益・親会社株主に帰属する当期純利益・総資産・自己資本の5項目とします。項目を増やすほど照合工数が比例して増えます。
- 会社の同定方法:社名ではなくEDINETコードで名寄せします。商号変更や合併でEDINETコードが変わることがあるため、金融庁が公開している「EDINETコード集約一覧」(廃止EDINETコードと継続EDINETコードの対応表、CSV)で継続関係を確認します。
EDINETから何が取れるか:技術的制約と利用条件(2026年8月3日確認)
正規化ルールを設計する前に、そもそも何がどこまで取得できるかを確認します。以下は金融庁「EDINET API仕様書(Version 2)」(2026年6月改版、版数2.9)および同「EDINET 利用規約」に記載された内容で、いずれも2026年8月3日に確認したものです。ここに書いていないこと(具体的なアクセス回数の上限値など)は、記載を確認できなかった事項です。
| 項目 | 仕様書・規約に記載されている内容(2026-08-03確認) |
|---|---|
| APIキー | Subscription-Key が必須。EDINET閲覧サイトでアカウントを作成すると発行される旨が記載されています。仕様書に料金についての記載はありません(=有料である旨の記載がない、という事実のみ)。 |
| 書類一覧API | https://api.edinet-fsa.go.jp/api/v2/documents.json(GET、TLS1.2以上)。主なパラメータは date(必須・YYYY-MM-DD)、type(1=メタデータのみ〔既定〕/2=提出書類一覧及びメタデータ)、Subscription-Key(必須)。日付単位での取得である点が横断比較の設計に効きます。 |
| 書類取得API | https://api.edinet-fsa.go.jp/api/v2/documents/書類管理番号(GET)。type は必須で、1=提出本文書及び監査報告書/2=PDF/3=代替書面・添付文書/4=英文ファイル/5=CSV。 |
| XBRL/CSV | 書類一覧APIのレスポンスに xbrlFlag(XBRL有無)、csvFlag(CSV有無)等のフラグがあります。CSVは「提出書類のXBRLデータをCSV形式に変換したファイル」で、csvFlag=1の場合のみ書類取得APIで取得できると記載されています。 |
| 取得できる期間 | 縦覧期間+延長期間の書類。有価証券報告書・半期報告書は縦覧5年+延長5年の計10年、四半期報告書は縦覧3年+延長7年の計10年と記載されています。10年より前は取れない前提で年度数を決めます。 |
| アクセス頻度 | ステータスコード429「Too Many Requests」が定義されています(版数2.8=2026年5月改版で追記)。具体的な閾値(回数/秒など)の数値記載は仕様書にありません。利用規約には「金融庁は、本機能の負荷状況に応じてアクセス制限等を行うことがあります」という趣旨の定めがあります。 |
| 書類種別コード(一部) | 120=有価証券報告書、140=四半期報告書、160=半期報告書、180=臨時報告書、350=大量保有報告書 ほか。対象期間によって存在する書類種別が変わるため、コードで機械的に絞ると取りこぼしが出ます。実際にどの種別が存在するかは対象期間の実データで確認してください。 |
| その他の制約 | クロスドメイン通信は許可されていません(ブラウザ上のJavaScript等からの直接呼び出しは不可)。 |
利用条件について。EDINET利用規約には、二次利用にあたり「編集・加工等を行ったこと及びその主体を記載する」ことを求める趣旨の定め、国が作成した未加工の原本であるかのような態様での公表・利用を禁じる趣旨の定め、およびAPI以外の機械的取得(スクレイピング等)や短時間の大量アクセスなど運用に支障を与える行為を禁じる趣旨の定めがあります(2026年8月3日確認)。横断比較で作る表は、まさに「編集・加工」にあたります。社外に配布する資料には、EDINET掲載情報を加工したものであること・加工した主体(自社・自分)を明記してください。なお条項の逐語の文言は改訂されることがあるため、実際に取得を始める前に必ず原文をご自身で確認してください。取得はAPI経由に限り、リクエスト間隔を空け、429が返ったら待って再試行する設計にします。
正規化ルール:横断比較で揃える8項目
要点だけではルールとして機能しないため、「何が起きるか」「どう揃えるか」「揃えられない場合どうするか」を明文化します。3列目が最も重要です。横断比較は、すべてを揃える作業ではありません。揃えられないものを無理に揃えると、根拠のない数値ができます。
| 論点 | 何が起きるか | どう揃えるか | 揃えられない場合 |
|---|---|---|---|
| R1 決算期の違い | 3月期の会社と12月期の会社が同じ「2025年度」の欄に並ぶ。実際には対象期間が3か月ずれており、景気・為替の局面が違う期間を同じ列で比較することになる。 | FYの定義を1つ決めて全社に機械適用する。列見出しには各社の実際の決算期(2026年3月期/2025年12月期)を必ず併記し、ずれが見える状態にする。 | 四半期データで無理に月次按分しない。「3か月ずれ」を注記し、期ずれが効きやすい指標(為替感応度の高い売上、期末在庫)では結論を出さない。 |
| R2 単位 | 財務諸表の表示単位が千円と百万円で分かれる。AIは単位の欄外注記を読み飛ばして数値だけ拾うことがあり、1,000倍の桁ずれが起きる。 | 抽出段階で「原単位」列を必ず持たせ、換算は式(原数値×係数)で行う。百万円に統一し、換算係数を出典セルに記録する。 | 単位の記載が読み取れない場合は数値を採用せず「不明」とする。売上規模の桁が同業と大きく違うセルは桁ずれを疑い、必ず原本を開く。 |
| R3 会計基準と営業利益の定義差 | IFRSでは固定資産売却損益や減損などが「その他の収益」「その他の費用」として営業損益に含まれることがあり、日本基準の営業利益とは範囲が違う。基準を無視して並べると、収益力の差ではなく表示区分の差を見ることになる。 | 会社ごとに適用基準を列で持つ。IFRS採用会社は「その他の収益・その他の費用」を営業損益から除いた金額を別行で作り、日本基準の営業利益に近い定義へ寄せる。除いた項目と金額を必ず記録する。実務差分は日本基準とIFRSの実務差分を参照。 | 内訳が開示されておらず除去できない場合は調整せず、「基準差により調整不能」と表示する。基準差の影響が相対的に小さい指標(正常化EBITDAなど)に主軸を移す判断もある。 |
| R4 勘定科目名の表記揺れ | 「売上高」「売上収益」「営業収益」、「当期純利益」「親会社株主に帰属する当期純利益」など、同じ概念でも名称が違う。名称一致で拾うと、名称が違うだけで欠損になったり、別概念を同じ行に入れたりする。 | 自社の「概念辞書」を作る。標準名に対して許容される原表記の一覧を定義し、抽出時は原表記をそのまま記録したうえで標準名へ写像する。辞書にない原表記は自動採用せず保留にする。 | 概念が本当に違う場合(営業収益に金融収益が含まれる等)は写像せず、別行として残す。同じ列に押し込まない。 |
| R5 セグメント区分の変更 | 報告セグメントの区分が変更されると、前年の区分と当期の区分がつながらない。変更年度をまたいで単純に並べると、成長率が実態と乖離する。 | 変更後の区分で遡及して組み替えた前年数値が開示されていればそれを採用し、採用値が「遡及組替後」か「当初開示」かをセルごとに記録する。区分の読み方はセグメント情報の読み方を参照。 | 遡及組替が開示されていなければセグメント比較は行わず、全社合計だけで比較する。区分をまたいだ独自の再集計は行わない。 |
| R6 連結・単体 | 有価証券報告書には連結財務諸表と個別財務諸表の両方が載る。個別(単体)の表から数値を拾うと、規模も利益率もまったく別の会社の姿になる。 | 抽出対象の表を「連結損益計算書」等に固定し、表の名称を出典セルに記録する。表名に「連結」を含まない行は自動的に除外リストへ回す。 | 連結財務諸表を作成していない会社は同じ表に並べず、注記付きの別表にする。個別の数値を連結の列に入れない。 |
| R7 期間(12か月/変則決算) | 決算期変更の年度は9か月や15か月の変則決算になる。月数が違う期の金額をそのまま並べると、成長率が跳ねる。 | 「対象月数」列を持ち、金額系は12か月換算(原数値×12÷対象月数)を行う。比率は月数に比例するため換算しても変わらない点を理解しておく(=率の順位は動かないが額の順位は動く)。 | 単純按分は季節性を無視した近似であるため、季節変動の大きい業種では換算せず「変則決算のため単純比較不可」と表示する。 |
| R8 遡及適用による過年度修正 | 会計方針の変更や誤謬の訂正により、過去に開示された数値が後から修正再表示される。古い書類から取った値と、新しい書類の比較情報から取った値が食い違う。 | 「同一の会社・年度・項目に複数の値がある場合は、提出日が最も新しい書類の値を採用する」というルールを1つ決めて全社に適用する。初出値と再表示値の両方を出典セルに残し、差額を記録する。 | 修正の理由が読み取れない場合は両方の数値を併記し、どちらを採用したかを明示する。差額が大きい場合は当該年度を比較対象から外す判断もある。 |
設例:仮設5社×3年度の比較表と、調整前後で変わる順位
以下はすべて架空企業の仮設例です。単位は百万円に統一し、比率は小数第1位まで表示します。5社のうち4社に、上記の正規化論点を意図的に仕込んでいます。
| 会社(架空) | 決算月 | 会計基準 | 原資料の表示単位 | 仕込んだ論点 |
|---|---|---|---|---|
| 蒲田計器工業 | 3月 | 日本基準 | 百万円 | なし(基準となる会社) |
| 相模原マテリアル | 3月 | 日本基準 | 千円 | R2 単位/R6 連結・単体/R8 遡及適用 |
| 洛北フーズホールディングス | 12月 | 日本基準 | 百万円 | R1 決算期(3か月ずれ) |
| 越後電装 | 3月 | IFRS(任意適用) | 百万円 | R3 会計基準(営業利益に「その他の収益」を含む) |
| 天神ロジスティクス | 3月(旧12月) | 日本基準 | 百万円 | R7 期間(FY2025が15か月)/R5 セグメント区分変更 |
正規化後の比較表(売上高・営業利益、百万円)
| 会社 | FY2023 売上高 | FY2023 営業利益 | 率 | FY2024 売上高 | FY2024 営業利益 | 率 | FY2025 売上高 | FY2025 営業利益 | 率 |
|---|---|---|---|---|---|---|---|---|---|
| 蒲田計器工業 | 42,000 | 2,940 | 7.0% | 45,000 | 3,375 | 7.5% | 48,200 | 3,856 | 8.0% |
| 相模原マテリアル | 28,000 | 1,652 | 5.9% | 29,800 | 1,937 | 6.5% | 31,500 | 2,205 | 7.0% |
| 洛北フーズHD | 57,000 | 3,990 | 7.0% | 59,500 | 4,165 | 7.0% | 62,400 | 4,056 | 6.5% |
| 越後電装 | 50,000 | 3,500 | 7.0% | 52,000 | 3,900 | 7.5% | 55,000 | 4,290 | 7.8% |
| 天神ロジスティクス | 24,000 | 1,560 | 6.5% | 26,000 | 1,638 | 6.3% | 28,000 | 1,708 | 6.1% |
| 5社合計 | 201,000 | 13,642 | 6.8% | 212,300 | 15,015 | 7.1% | 225,100 | 16,115 | 7.2% |
合計行の営業利益率は「合計営業利益÷合計売上高」で計算しています(各社比率の単純平均ではありません)。FY2025は 16,115÷225,100=7.16%→7.2%です。列見出しの実際の決算期は、蒲田計器工業・相模原マテリアル・越後電装が2026年3月期、洛北フーズHDが2025年12月期、天神ロジスティクスが2026年3月期(15か月)です。3か月のずれは残ったままで、これはR1の「揃えられない場合」に該当します。
正規化しなかった場合との差(FY2025)
| 会社 | 調整前 売上高 | 調整前 営業利益 | 調整前 率 | 適用した調整 | 調整後 売上高 | 調整後 営業利益 | 調整後 率 |
|---|---|---|---|---|---|---|---|
| 蒲田計器工業 | 48,200 | 3,856 | 8.0% | なし | 48,200 | 3,856 | 8.0% |
| 相模原マテリアル | 19,000 | 1,596 | 8.4% | R6:個別損益計算書から拾っていたため連結に差替(単位換算R2は両方で実施済み) | 31,500 | 2,205 | 7.0% |
| 洛北フーズHD | 62,400 | 4,056 | 6.5% | R1:数値調整はせず、3か月ずれを注記 | 62,400 | 4,056 | 6.5% |
| 越後電装 | 55,000 | 4,950 | 9.0% | R3:IFRS営業利益から「その他の収益」660を除去 | 55,000 | 4,290 | 7.8% |
| 天神ロジスティクス | 35,000 | 2,135 | 6.1% | R7:15か月→12か月換算(×12÷15) | 28,000 | 1,708 | 6.1% |
| 5社合計 | 219,600 | 16,593 | 7.6% | — | 225,100 | 16,115 | 7.2% |
検算。調整前の5社合計売上高は 48,200+19,000+62,400+55,000+35,000=219,600、合計営業利益は 3,856+1,596+4,056+4,950+2,135=16,593、率は 16,593÷219,600=7.56%→7.6%です。調整後は売上高 48,200+31,500+62,400+55,000+28,000=225,100、営業利益 3,856+2,205+4,056+4,290+1,708=16,115、率は 7.16%→7.2%。正規化しないと、5社の収益力を0.4ポイント過大に評価していたことになります。
個別の調整も確認します。越後電装は 4,950−660=4,290、4,290÷55,000=7.8%。天神ロジスティクスは 35,000×12÷15=28,000、2,135×12÷15=1,708 で、率は 6.1%のまま変わりません(比率は月数に比例するためです)。ただし営業利益の金額で並べると、調整前は 4位 天神(2,135)・5位 相模原(1,596)だったものが、調整後は 4位 相模原(2,205)・5位 天神(1,708)へ入れ替わります。率と金額のどちらで並べるかによって、正規化の効き方が違う点に注意してください。
相模原マテリアルのFY2023営業利益 1,652 は、R8を適用した結果です。初出の書類では 1,680 でしたが、翌期の書類の比較情報で 1,652 に修正再表示されており、「最新の書類を優先する」ルールに従って 1,652 を採用しています。差額 △28 は出典セルに残します。
出典セル対応表:各セルに「どの書類のどの表のどの項目か」を持たせる
出典セル対応表がなければ、横断比較は検証できません。これは丁寧さの問題ではなく、成立条件です。比較表のセルは正規化を経た加工値なので、原本のどの数値から、どの式で、どのルールを適用して作られたのかを辿れなければ、第三者はもちろん自分自身も正しさを確認できません。表の各セルに一意のセルIDを振り、下の対応表と1対1で結びつけます。
| セルID | 会社 | FY | 標準項目 | 書類管理番号(仮設) | 提出日(仮設) | 原表名 | 原項目名 | 原単位・原数値 | 適用ルールと換算 | 採用値(百万円) |
|---|---|---|---|---|---|---|---|---|---|---|
| C-01 | 蒲田計器工業 | FY2025 | OperatingIncome | S1009X01 | 2026-06-24 | 連結損益計算書 | 営業利益 | 百万円 3,856 | なし | 3,856 |
| C-02 | 相模原マテリアル | FY2025 | OperatingIncome | S1009X02 | 2026-06-25 | 連結損益計算書 | 営業利益 | 千円 2,205,000 | R2:÷1,000 | 2,205 |
| C-03 | 相模原マテリアル | FY2023 | OperatingIncome | S1009X03 | 2025-06-26 | 連結損益計算書(比較情報) | 営業利益 | 千円 1,652,000 | R8:初出1,680,000から再表示、差△28/R2:÷1,000 | 1,652 |
| C-04 | 越後電装 | FY2025 | OperatingIncome | S1009X04 | 2026-06-23 | 連結損益計算書 | 営業利益 | 百万円 4,950 | R3:その他の収益660を除去 | 4,290 |
| C-05 | 天神ロジスティクス | FY2025 | Revenue | S1009X05 | 2026-06-26 | 連結損益計算書 | 売上高 | 百万円 35,000 | R7:×12÷15(15か月→12か月) | 28,000 |
| C-06 | 洛北フーズHD | FY2025 | OperatingIncome | S1009X06 | 2026-03-27 | 連結損益計算書 | 営業利益 | 百万円 4,056 | R1:数値調整なし(決算日2025-12-31、3か月ずれを注記) | 4,056 |
書類管理番号と提出日は仮設のもので、実在の書類を指すものではありません。実務ではEDINETの書類一覧APIのレスポンスに含まれる書類管理番号をそのまま転記し、書類取得APIのURLと1対1で対応させます。この対応表があると、後日「なぜこの数字なのか」と聞かれたときに、書類管理番号から原本を開いて30秒で答えられます。逆に対応表がない表は、作った本人でも1週間後には再現できません。
AIに任せる部分と人間が判断する部分
| 工程 | AIに任せてよいこと | 人が決めること |
|---|---|---|
| ①対象選定 | 候補企業の列挙、事業内容の要約 | 比較対象に含める・含めないの最終決定と、その理由の記録 |
| ③項目抽出 | 表と項目の特定、原表記・原単位・原数値の転記、読替候補の提示 | 辞書にない原表記を採用するかどうか。連結・単体の判定が怪しいセルの確認 |
| ④正規化 | 決めたルールの機械的な適用、換算計算、調整明細の生成 | ルールそのものの設計と、「揃えられないものを揃えない」という判断 |
| ⑤⑥比較表・出典対応 | 表の組み立て、出典セル対応表の生成、差分の言語化ドラフト | 率で並べるか金額で並べるか。注記に何を書くか |
| ⑦検証 | 照合対象セルの抽出、照合結果の集計 | 原本を開いての突合そのものと、不一致が出たときの打ち切り判断 |
要点は、AIは「決めたルールを速く適用する」ことは得意でも、「どのルールを採るべきか」「ここは揃えるべきでないか」を決めることはできない、という線引きです。ルールを決めずにAIへ丸投げすると、AIは黙って何らかの前提を置いて表を作り、その前提は出力に書かれません。
プロンプト例
工程を2つに分けます。1書類ずつ「原本のまま」抽出するプロンプトと、抽出結果に正規化を適用して比較表を作るプロンプトです。抽出と正規化を1つのプロンプトで同時にやらせないことが最大のコツです。同時にやらせると、どこで数字が変わったのか追えなくなります。以下は特定のAI製品に依存しない汎用の書き方です。
プロンプト1:1書類から「出典セル付き」で抽出する
役割:あなたは日本の有価証券報告書から財務数値を抽出する調査アシスタントです。評価・分析・解釈は行わず、書類に書かれている事実のみを転記します。
目的:添付した有価証券報告書1件から、指定項目を「出典セル付き」で抽出し、CSV形式で出力します。
入力資料:添付ファイル1件(EDINETから取得した有価証券報告書。書類管理番号=<書類管理番号>、提出日=<YYYY-MM-DD>、提出者=<会社名>)
対象期間:当該書類に記載されている当期および比較情報(前期)
抽出項目(標準名):Revenue(売上高相当)/OperatingIncome(営業利益相当)/NetIncomeAttributableToOwnersOfParent(親会社株主に帰属する当期純利益相当)/TotalAssets(総資産)/Equity(自己資本または親会社の所有者に帰属する持分)
抽出ルール:
1. 数値は連結財務諸表からのみ取得する。個別(単体)財務諸表からは取得しない。取得元の表の名称を必ず記録する。
2. 表示単位(円/千円/百万円)を財務諸表の欄外注記から確認し、そのまま「原単位」に記録する。単位換算はこの工程では行わない。
3. 原資料に書かれている項目名をそのまま「原項目名」に記録し、標準名への読み替え理由を1行で書く。
4. 会計基準(日本基準/IFRS/米国基準)を書類の記載から判定し記録する。判定できない場合は「不明」とする。
5. 決算日と対象月数を記録する(12か月以外の場合はその月数)。
6. IFRSの場合、営業損益に含まれる「その他の収益」「その他の費用」の金額を別列に記録する。記載がなければ空欄にせず「記載なし」と書く。
出力形式:以下のヘッダのCSV。1数値=1行。
company,fiscal_year_label,statement_name,std_item,src_item_name,src_unit,src_value,accounting_standard,period_months,fiscal_year_end,other_income,other_expense,doc_id,submit_date,page_or_note,読替根拠
計算方法:この工程では計算・換算・四捨五入を一切行わない。原資料の数値をそのまま転記する。
禁止事項:
- 原資料に存在しない数値を出力しない。推計・補完・前期比からの逆算を行わない。
- 個別財務諸表、要約財務情報、決算短信の数値を混ぜない。
- 単位換算・年度換算・調整を行わない。
不明情報の処理:読み取れない項目は src_value を「不明」とし、page_or_note に理由を書く。空欄にしない。推測しない。
出典の表示:page_or_note に、当該数値が記載された表の名称と、書類内の位置(ページ番号または見出し)を書く。
検算:出力後、次を自分で確認して1行で報告する。(a) 行数=抽出項目数×期数と一致するか (b) src_unit が全行で同一か(異なる場合はその理由) (c)「不明」の件数
レビュー項目:出力の末尾に、人間が確認すべき点を3つ以内で列挙する(読替が不確実な項目、単位注記が曖昧な箇所、連結・単体の判別に迷った箇所)。プロンプト2:抽出結果に正規化を適用し、比較表と出典セル対応表を作る
役割:あなたは複数企業・複数年度の財務データを共通の物差しに揃えて比較表を作る調査アシスタントです。企業の評価・優劣の判断は行いません。
目的:添付した抽出結果CSV(複数社・複数年度)に下記の正規化ルールを適用し、比較表・調整明細・保留リスト・出典セル対応表を出力します。
入力資料:抽出結果CSV(列=company, fiscal_year_label, statement_name, std_item, src_item_name, src_unit, src_value, accounting_standard, period_months, fiscal_year_end, other_income, other_expense, doc_id, submit_date, page_or_note)
対象期間:FY2023/FY2024/FY2025
FYの定義:決算日が2023年4月1日〜2024年3月31日に属する期をFY2023とし、以降1年ずつずらす。この定義を全社に機械的に適用し、数値の按分は行わない。
単位:すべて百万円。金額は整数に四捨五入。比率のみ小数第1位まで。
正規化ルール(この順に適用し、適用したルールIDを必ず記録する):
R1 決算期:FY定義に従って割り当てる。各社の決算日を必ず併記する。
R2 単位:src_unit を百万円に換算する(円は÷1,000,000、千円は÷1,000、百万円は×1)。
R3 会計基準:accounting_standard が IFRS の行の営業利益から other_income を減算し、other_expense を加算する。金額を明細に記録する。「記載なし」の場合は調整せず「調整不能」フラグを立てる。
R4 科目名:src_item_name と std_item の対応が下の概念辞書にない場合は採用せず、保留リストへ出す。
R5 セグメント:本表は全社合計のみを扱う。セグメント数値は使用しない。
R6 連結・単体:statement_name に「連結」を含まない行は採用せず、除外リストへ出す。
R7 期間:period_months が12以外の行は、金額に 12÷period_months を乗じる。比率は換算しない。換算した行にフラグを立てる。
R8 遡及適用:同一の company・fiscal_year_label・std_item に複数行がある場合、submit_date が最も新しい行を採用する。採用しなかった値と差額を明細に残す。
概念辞書:
Revenue ← 売上高/売上収益/営業収益
OperatingIncome ← 営業利益/営業損益(「事業利益」は採用せず要確認フラグを立てる)
NetIncomeAttributableToOwnersOfParent ← 親会社株主に帰属する当期純利益/親会社の所有者に帰属する当期利益
出力形式:
表1「比較表」行=会社、列=FY2023/FY2024/FY2025 の 売上高・営業利益・営業利益率。最下行に5社合計と合計ベースの営業利益率。各セルにセルID(C-01形式)を振る。
表2「調整明細」company, fiscal_year_label, std_item, 適用ルールID, 調整前, 調整後, 差額, 根拠
表3「保留・除外リスト」採用しなかった行とその理由
表4「出典セル対応表」cell_id, company, fiscal_year_label, std_item, doc_id, submit_date, statement_name, src_item_name, src_unit, src_value, 適用ルールID, 採用値
計算方法:営業利益率=営業利益÷売上高。合計行の営業利益率は「合計営業利益÷合計売上高」で算出する(各社比率の単純平均は使わない)。
禁止事項:
- 入力CSVにない数値を作らない。欠損を前期比・業界平均・他社数値で補完しない。
- 調整前と調整後の数値を同じセルに混在させない。
- 会社名・年度・科目を推測で対応づけない。一致しないものは保留リストへ出す。
- 順位や優劣についてのコメントを書かない。
不明情報の処理:判断できないものは「不明」と書き、保留リストに理由を記載する。推測しない。
検算:出力後、次を自分で確認して結果を報告する。
(a) 各年度の5社合計売上高が各社の合計と一致するか
(b) 各年度の5社合計営業利益が各社の合計と一致するか
(c) 表1のセル数と表4の行数が一致するか
(d) 表2の全行で「調整前+差額=調整後」が成立するか
レビュー項目:出力の末尾に、人間が判断すべき論点を列挙する(調整不能フラグ、要確認フラグ、保留・除外行、決算期のずれが残っている会社)。出力例
プロンプト2に対して期待する出力の一部です(設例の数値と一致します)。
【表2 調整明細】
company,fiscal_year_label,std_item,rule,before,after,diff,根拠
相模原マテリアル,FY2025,OperatingIncome,R6+R2,1596,2205,609,個別損益計算書から連結損益計算書へ差替。千円→百万円換算済み
越後電装,FY2025,OperatingIncome,R3,4950,4290,-660,IFRS営業損益に含まれる「その他の収益」660を除去
天神ロジスティクス,FY2025,Revenue,R7,35000,28000,-7000,対象月数15か月→12か月換算(×12÷15)
天神ロジスティクス,FY2025,OperatingIncome,R7,2135,1708,-427,同上
相模原マテリアル,FY2023,OperatingIncome,R8,1680,1652,-28,提出日2025-06-26の書類の比較情報を優先(初出1,680)
【表3 保留・除外リスト】
天神ロジスティクス,FY2024,Segment,—,R5により不使用,セグメント区分が変更されており遡及組替の記載を確認できず
洛北フーズHD,FY2025,—,R1,調整なし,決算日2025-12-31。他社との3か月ずれは注記で明示
【検算結果】
(a) FY2025 合計売上高 225,100=48,200+31,500+62,400+55,000+28,000 一致
(b) FY2025 合計営業利益 16,115=3,856+2,205+4,056+4,290+1,708 一致
(c) 表1セル数 45(5社×3年度×3項目)=表4行数 45 一致
(d) 調整前+差額=調整後 全5行で成立
【要確認】天神ロジスティクスの12か月換算は単純按分であり季節性を考慮していません。この「検算結果」を出力させておくと、人が確認すべき点が最初から絞られます。ただしAIが「一致」と書いたことをそのまま信じないでください。合計の一致は自分で電卓を叩いて確認します。
Excelでの実装:3枚のシートに分ける
手元で回すなら、シートを次の3枚に分けるのが最も壊れにくい構成です。1枚のシートで抽出から比較表まで作ると、どこで数値が変わったのか追えなくなります。
- Sheet1「原本」:抽出結果をそのまま貼る。列は company / fy / statement_name / std_item / src_item_name / src_unit / src_value / accounting_standard / period_months / doc_id / submit_date。このシートには一切数式を書かない。手で数値を書き換えない。
- Sheet2「調整」:Sheet1を参照し、ルールIDごとに列を作って換算式を書く。例:単位換算列は
=IF(src_unit="千円",src_value/1000,IF(src_unit="円",src_value/1000000,src_value))。適用したルールIDを文字列で連結した列(例:「R2+R6」)を必ず作る。 - Sheet3「比較表」:Sheet2の採用値をXLOOKUP等で引いて表に組む。値の直接入力は禁止。セルID列を持たせ、Sheet2の行と1対1で対応させる。合計行は SUM で計算し、率は合計÷合計で計算する。
抜き取り照合の対象セルは、Sheet3のセルIDを乱数で並べ替えて選び、選定に使ったシード(または並べ替え結果)を残しておきます。「たまたま合っていそうなところだけ見た」という状態を避けるためです。
検証方法:サンプル抽出による原本照合
横断集計をAIに任せるときの最大の危険は、計算誤りではなく企業・年度・科目の取り違えです。取り違えは計算上は矛盾しないため、合計が合っていても発見できません。全件照合は現実的でないので、抜き取る対象と件数を先に決めます。
抜き取り設計(設例:5社×3年度×5項目=75セル)
| ゾーン | 対象 | 件数 | 理由 |
|---|---|---|---|
| A(全件) | 最新年度FY2025の全社×全項目 | 25 | 結論に最も効く年度だから。ここが違うと表全体が使えない |
| B(全件) | 正規化ルールを適用したセル(ゾーンAとの重複を除く)=相模原マテリアルの単位換算 FY2023・FY2024 の10セル、越後電装のIFRS調整 FY2023・FY2024 の営業利益 2セル | 12 | 加工した箇所が最も間違いやすいから |
| C(無作為) | 残り38セルから20%(切り上げ) | 8 | 「調整していないから正しい」という思い込みを潰すため |
| 合計 | — | 45/75(60%) | — |
照合の手順は次のとおりです。①採用値を見る→②出典セル対応表の書類管理番号で原本を開く→③原表名・原項目名・原単位・原数値の4点が一致するか目で確認する→④換算式を電卓で再計算する。この4点のうち1つでも違えば不一致です。数値だけ合っていても、拾った表が個別財務諸表であれば不一致として扱います。
打ち切り基準。45セル中1件でも不一致が出たら、その会社×その年度は全項目を全件照合に切り替えます。不一致が3件以上出たら、抽出工程からやり直します。照合日・照合者・照合結果は記録として残します。
この業務に固有の確認項目
- 会社の同定:社名ではなくEDINETコードで名寄せしたか。商号変更・合併でコードが変わった会社について、EDINETコード集約一覧(廃止コードと継続コードの対応表)で継続関係を確認したか。同一グループの持株会社と事業会社を取り違えていないか。
- 年度の取り違え:有価証券報告書には当期と比較情報(前期)の2期分が載ります。前期列を当期として拾うと全社が1年ずれ、しかも表としては整合するため最も気づきにくい失敗です。各セルに決算日が記録されているか確認します。
- 科目の取り違え:「営業利益」と「営業活動によるキャッシュ・フロー」、「当期純利益」と「親会社株主に帰属する当期純利益」、「売上高」と「売上総利益」。原項目名が記録されていれば機械的に検出できます。
- 表の取り違え:連結か個別か。原表名の文字列に「連結」が含まれるかで一次スクリーニングします。
- 桁の異常:同業他社と比べて売上規模が1,000倍または1/1,000になっているセルがないか。
出典実在・数値転記・計算再現・論理整合という検証の一般的な型そのものは生成AI出力の検証手順で扱っています。本記事の上記5項目は、それを横断比較という業務に特化させたものです。
機密情報・個人情報の注意
EDINETに掲載されている書類は公開情報なので、書類そのものを扱うことによる機密性の問題は通常生じません。ただし「どの会社を比較対象に選んだか」というリスト自体が、M&A候補の絞り込みや投資検討の内容を示す未公表情報になり得ます。社名リストや検討の目的を外部の生成AIサービスへ入力する行為は、それ自体が案件情報の外部提供になり得る点に注意してください。判断軸と社内ルールの作り方は生成AIに入れてよい情報・いけない情報を参照してください。
よくある失敗
- 有価証券報告書を丸ごと渡して「比較表を作って」と頼む。出典セルが残らないため検証できず、どの数値がどの書類から来たのか永久に分かりません。1書類=1抽出の工程を必ず挟みます。
- FYの定義を決めずに「2025年度」と書く。3月期と12月期が同じ列に混ざります。定義は最初に文書化し、列見出しに実際の決算期を併記します。
- 前期列を当期として拾う。全社が1年ずれても表の内部では矛盾しないため、合計チェックでは検出できません。各セルに決算日を持たせることでしか防げません。
- IFRSの営業利益をそのまま並べる。表示区分の差を収益力の差と読み違えます。設例では越後電装が1位から2位へ落ちました。
- 正規化を「すべてを揃えること」だと思う。決算期の3か月ずれのように、揃えるべきでないものを無理に按分すると、根拠のない数値ができます。「揃えない」と決めて注記するのも正規化の一部です。
実務チェックリスト
- FY(会計年度ラベル)の定義を文書化し、全社に機械適用したか
- 比較項目を先に確定し、途中で増やしていないか
- 会社の同定をEDINETコードで行い、コード変更の有無を確認したか
- 取得はEDINET APIを用い、リクエスト間隔を空け、429が返る場合の待機処理を入れたか
- 取得対象年数が縦覧期間+延長期間(有価証券報告書は計10年)の範囲に収まっているか
- 抽出工程で「原表名・原項目名・原単位・原数値」の4点をすべて記録したか
- 抽出工程では換算・調整を一切行っていないか(工程を混ぜていないか)
- 正規化ルールR1〜R8のうち、どれを適用しどれを適用しなかったかを会社ごとに記録したか
- 調整不能とした項目を「調整不能」と明示し、無理に数値を作っていないか
- 比較表の全セルにセルIDを振り、出典セル対応表と1対1で対応しているか
- 合計行の比率を「合計÷合計」で計算したか(各社比率の平均になっていないか)
- 抜き取り照合の対象・件数・選定方法を事前に決め、記録として残したか
- 照合の結果と不一致件数、打ち切り判断を記録したか
- 社外配布資料に、EDINET掲載情報を加工したものであることと加工主体を明記したか
- 比較対象企業リストを外部AIへ入力してよいか、社内ルールに照らして確認したか
日本企業・日本市場での留意点
海外の財務分析教材が扱う横断比較の論点(会計方針の差、期間の差、区分の差)は日本でもそのまま効きます。ただし手順はそのまま持ち込めません。米国はSECのEDGARで10-K・10-Q等を検索する体系であり、日本のEDINETにおける有価証券報告書・半期報告書・臨時報告書等とは、書類の区分、様式、提出のタイミング、XBRLタクソノミがいずれも異なります。書類種別コードで絞り込む設計をそのまま流用すると、日本では取りこぼしが発生します。
日本固有の事情として、次の3点が横断比較に効きます。第一に、決算月が会社ごとに異なり、3月期と12月期が混在すること。第二に、日本基準とIFRSの任意適用が併存し、営業利益の範囲が会社によって違うこと。第三に、同一の有価証券報告書に連結財務諸表と個別財務諸表の両方が載るため、抽出時に表を取り違えやすいことです。米国向けの手順書には第三の論点はほぼ登場しませんが、日本では最も頻度の高い抽出ミスの一つです。
よくある質問(FAQ)
EDINET APIの利用に費用はかかりますか。
EDINET API仕様書(Version 2、2026年6月改版)には、Subscription-Key(APIキー)はEDINET閲覧サイトでアカウントを作成すると発行される旨が記載されており、料金についての記載はありません(2026年8月3日確認)。「無料である」と明記した記載を確認できたわけではないため、利用開始前に金融庁の案内ページと利用規約をご自身で必ず確認してください。
何社×何年度まで広げてよいですか。
検証できる範囲までです。本記事の設例は5社×3年度×5項目=75セルで、照合対象は45セルでした。社数・年度・項目のいずれかを2倍にするとセル数も2倍になり、照合工数もほぼ比例して増えます。まず3〜5社で工程を1周させて正規化ルールを確定させ、そのうえで社数を広げるのが現実的です。ルールが固まる前に社数を増やすと、途中でルールが変わって全部やり直しになります。
取得できる過去年数はどれくらいですか。
EDINET API仕様書には、取得できるのは縦覧期間+延長期間の書類であり、有価証券報告書・半期報告書は縦覧5年+延長5年の計10年、四半期報告書は縦覧3年+延長7年の計10年と記載されています(2026年8月3日確認)。10年を超える期間の比較が必要な場合は、EDINET API以外の入手手段を別途検討する必要があります。
まとめ
N社×M年度の横断比較は、数値を集める作業ではなく物差しを揃える作業です。決算期・単位・会計基準・科目名・セグメント区分・連結単体・期間・遡及適用の8項目について、「どう揃えるか」だけでなく「揃えられない場合どうするか」まで決めておくこと。そして比較表の各セルに、書類管理番号・原表名・原項目名・原単位・原数値・適用ルールを紐づけた出典セル対応表を持たせること。この2つがあれば、AIに抽出と換算を任せても、後から検証して直せます。逆にこの2つがなければ、どれだけ見栄えのよい表でも、意思決定の根拠には使えません。設例では正規化の有無だけで首位が入れ替わり、5社合計の営業利益率も0.4ポイント動きました。表を作る速さより、その表が間違っていたときに気づける設計になっているかを先に確かめてください。
出典・参考(2026-08-03確認)
- 金融庁 企画市場局 企業開示課「EDINET API仕様書(Version 2)」(2026年6月改版、版数2.9)https://disclosure2dl.edinet-fsa.go.jp/guide/static/disclosure/download/ESE140206.pdf
- 金融庁「EDINET 利用規約」https://disclosure2dl.edinet-fsa.go.jp/guide/static/disclosure/WZEK0030.html
- 金融庁「EDINET API関連資料」(様式コードリスト等の別紙を掲載)https://disclosure2dl.edinet-fsa.go.jp/guide/static/disclosure/WZEK0110.html
- 金融庁「EDINET」書類検索トップページ https://disclosure2.edinet-fsa.go.jp/week0010.aspx
- 金融庁「EDINETコードリスト等 ダウンロード」https://disclosure2.edinet-fsa.go.jp/weee0010.aspx
- 金融庁「EDINETコード集約一覧」(廃止EDINETコードと継続EDINETコードの対応表、2025年8月20日更新)https://disclosure2dl.edinet-fsa.go.jp/guide/static/disclosure/download/ESE140190.csv
※本記事は教育目的の一般的な解説であり、法務・税務・会計・投資に関する助言ではありません。実際の判断は専門家にご確認ください。設例は理解のための仮設例です。AI製品の仕様・料金は変更されることがあるため、利用前に各社の公式情報をご確認ください。