【コンサル 導入事例】有価証券報告書を自動収集するシステムをGASで構築|全上場企業4,000社を網羅し作業時間333時間→0時間

業界:
コンサル・BPO
職種:
マーケティング, 経営企画
課題:
業務効率化, 情報収集, データ管理
技術:
NotebookLM, Google Apps Script, EDINET API, Google Workspace

この記事でわかること

  • 有価証券報告書を自動収集する仕組みの全体像
  • EDINET API × Google Apps Scriptの構成パターン
  • 4,000社を処理するための技術的な工夫
  • 導入効果(作業時間333時間→0時間)

この記事の対象読者

  • 有価証券報告書を定期的に収集している方
  • 上場企業の情報収集を効率化したい方
  • EDINET APIの活用方法を知りたい方
  • Google Apps Scriptで業務自動化を検討している方

お客様が抱えていた課題

Sc

手作業での有価証券報告書収集に限界

お客様は投資分析・企業調査のために、上場企業の有価証券報告書を定期的に収集していました。

しかし、従来の手作業による収集には以下の課題がありました。

課題具体的な問題
膨大な作業時間EDINETで1社ずつ検索→ダウンロードの繰り返し
対象企業数の多さ上場企業は約4,000社。手作業では現実的に不可能
最新情報の追跡が困難新しい報告書がいつ出たか把握できない
ファイル管理の煩雑さダウンロードしたPDFの整理・命名も手作業

「全上場企業を網羅したいが、人手では到底追いつかない」これがお客様の本音でした。

試算:手作業にかかる時間

仮に1社あたり5分かかるとすると、

5分 × 4,000社 = 20,000分 = 約333時間

1日8時間作業しても約42日間かかる計算です。

しかも有価証券報告書は毎年更新されるため、これを毎年繰り返す必要があります。

解決策:EDINET API × Google Apps Script

Sc

なぜこの技術構成を選んだのか

私たちが提案したのは、EDINET APIとGoogle Apps Script(GAS) を組み合わせた自動収集システムです。

技術選定理由
EDINET API金融庁公式のAPI。全上場企業の開示書類を無料で取得可能
Google Apps Script無料で利用可能。スプレッドシートとの連携が容易
Googleスプレッドシートデータベース兼UI。お客様が直接操作できる
Google DrivePDFの保存先。容量も十分で共有も簡単

この構成のメリット

✅ 追加コスト0円(Google Workspace利用料のみ)
✅ 専用サーバー不要
✅ 特別なソフトウェアのインストール不要
✅ ブラウザだけで操作可能
✅ 非エンジニアでも運用できる

システム構成図

Sc

本システムは、Google Workspace を基盤として、金融庁が提供する EDINET API から企業の開示書類を自動取得・整理し、
そのデータを NotebookLM 等で分析・レポーティングに活用できる状態まで一気通貫で整える仕組みです。

単なる「PDF取得ツール」ではなく、
「データが自然と溜まり、再利用できる情報基盤」**を作ることを目的としています。

全体像

  • データ管理:Google スプレッドシート
  • 処理ロジック:Google Apps Script(GAS)
  • ファイル保管:Google Drive
  • 外部連携:EDINET API(金融庁公式API)
  • 活用・分析:NotebookLM 等の生成AIツール

これらを組み合わせることで、
「取得 → 整理 → 蓄積 → 分析 → 活用」までを自動化しています。

データ管理:Google スプレッドシート

Sc

スプレッドシートは、システム全体の管理台帳として機能します。

  • 企業一覧
    • EDINETコードや企業名などを管理
  • 報告書履歴
    • どの書類をいつ取得したかを記録
  • 設定
    • APIキー、取得条件、実行ルールなど
  • ログ
    • 処理結果やエラーの履歴

「設定や状況がすべて見える」ため、
運用しながら改善しやすい構成になっています。

処理ロジック:Google Apps Script(GAS)

Google Apps Script は、このシステムの中核です。

  • EDINET API との連携
    • 提出書類の一覧取得
    • 対象PDFのダウンロード
  • PDF保存処理
    • Google Drive への自動格納
  • 自動実行
    • 日次・週次などの定期実行が可能

スプレッドシートの内容を参照しながら処理を行うため、
コードを書き換えずに運用ルールを変更できるのも特徴です。

ファイル管理:Google Drive

取得した書類は、Google Drive に保存されます。

  • 企業別フォルダ構成
  • 命名規則を統一したPDFファイル管理

ここで重要なのは、
**「命名規則とフォルダ構成をきちんと揃えること」**です。

これにより、

  • Drive 上のファイルをそのまま同期
  • NotebookLM や生成AIが文脈を理解しやすい
  • 後工程の分析・レポート作成がスムーズ

といったメリットが生まれます。

外部連携:EDINET API(金融庁公式API)

EDINET API は、金融庁が公式に提供する開示情報のAPIです。

  • 書類一覧の取得
  • 有価証券報告書などのPDF取得

信頼性の高い一次情報を、
人手を介さず安定的に取得できる点が強みです。

活用フェーズ:NotebookLM・マーケティング/営業への展開

Google Drive に整理・蓄積されたPDFは、

  • NotebookLM での要約・比較・分析
  • 企業研究資料の自動生成
  • 業界動向レポートの作成
  • マーケティング・営業活動への活用

といった形で、そのまま知的資産として再利用できます。

「ちゃんと整理されたDrive」があるだけで、
生成AIを“使える状態”にするための下地が完成するのが、この仕組みのポイントです。

実装した機能一覧

メニュー機能

スプレッドシートのメニューから、以下の機能を実行できます。

機能説明
初期セットアップ必要なシートを自動作成
CSVインポートEDINETコードリストから企業を一括登録
報告書取得(通常)未取得・1年経過企業のみ処理(差分更新)
報告書取得(選択)チェックした企業のみ処理
報告書取得(全件)全企業を強制的に再取得
処理停止実行中の処理を安全に停止
処理再開停止した位置から再開
PDF一覧表示取得済みPDFの一覧を表示・エクスポート
自動実行設定毎月1日に自動実行するトリガーを設定

シート構成

シート名役割
企業一覧管理対象企業のマスタデータ
報告書履歴取得した報告書の履歴・PDFリンク
設定APIキー、保存先、処理状況などの設定値
ログ実行履歴・エラーログ

技術的な工夫

4,000社という大量データを安定して処理するために、いくつかの技術的な工夫を実装しました。

工夫①:GASの6分制限を自動回避

課題

Google Apps Scriptには「1回の実行は最大6分まで」という制限があります。
4,000社を処理するには全く足りません。

解決策:自動継続トリガー方式

5分経過したら処理を中断し、現在位置を保存。
1分後に自動再開するトリガーを設定して終了。これを繰り返すことで、6分制限を回避しています。

処理開始
   ↓
[1社ずつ処理]
   ↓ 5分経過
現在位置を保存 → 1分後に再開トリガー設定 → 終了
   ↓ 1分後
保存位置から再開
   ↓ 5分経過
現在位置を保存 → 1分後に再開トリガー設定 → 終了
   ↓
(全社完了まで繰り返し)

ポイント

ブラウザを閉じても、PCをシャットダウンしても、処理は継続します。
Googleのサーバー上で実行されるため、ユーザーは放置しておくだけでOKです。

工夫②:API制限への自動対応

課題

EDINET APIには利用制限があり、大量リクエストを送ると「429 Too Many Requests」エラーが発生します。

解決策:自動検知&自動リトライ

  • 連続エラーを検知したら自動停止
  • 60分後に自動リトライするトリガーを設定
  • 適切な待機時間を挿入してリクエスト間隔を調整

工夫③:手動での停止・再開機能

課題

長時間の処理を途中で止めたい、翌日に続きをやりたい、といったニーズがありました。

解決策:停止フラグ方式

  • メニューから「停止」を実行すると、数秒以内に安全に停止
  • 現在の処理位置を設定シートに保存
  • 「再開」を実行すると、保存した位置から続きを再開

工夫④:進捗のリアルタイム表示

課題

長時間の処理中、進捗がわからないと不安になります。

解決策:ステータス表示

  • 設定シートに「処理状況」をリアルタイム表示
  • 各企業の「ステータス」列で個別の状態を表示
  • ログシートで詳細な実行履歴を記録
表示例:
・⏳ 処理中... (1,234社処理)
・⏹️ 停止中
・⚠️ API制限待ち(60分後に再開)
・✅ 完了

工夫⑤:わかりやすいPDFファイル名

課題

ダウンロードしたPDFが大量になると、目的のファイルを探すのが大変です。

解決策:統一された命名規則

証券コード_企業名_発行年_有価証券報告書.pdf

例:

  • 7203_トヨタ自動車株式会社_2024_有価証券報告書.pdf
  • 9984_ソフトバンクグループ株式会社_2024_有価証券報告書.pdf

さらに、企業ごとにフォルダを自動作成するため、年度が増えても整理された状態を維持できます。

導入効果

Before / After 比較

項目Before(手作業)After(自動化)
作業時間333時間(年間)0時間
情報の鮮度手動チェックで遅延毎月自動で最新化
網羅性一部企業のみ全上場企業4,000社
ファイル管理手動で命名・整理自動で整理済み
運用コスト人件費が発生0円

定量効果

  • 年間333時間の工数削減
  • 人件費換算で年間数百万円のコスト削減
  • 情報収集の網羅性が100%に向上

お客様の声

「これまで諦めていた『全上場企業の網羅』が現実になりました。しかも一度設定したら放っておけばいい。毎月自動で最新情報が揃っているのは本当に助かります。」

「PDFのファイル名が統一されていて、目的の企業の報告書をすぐに見つけられるようになりました。ファイル管理のストレスがなくなりました。」

この仕組みの応用可能性

今回構築したシステムは、有価証券報告書以外にも応用可能です。

応用例説明
四半期報告書の収集EDINET APIで同様に取得可能
決算短信の収集適時開示情報(TDnet)との連携
特定業種のみ収集業種フィルタリング機能を追加
特定キーワードの抽出PDF内テキストを解析
企業スコアリング財務データを抽出してランキング
CRM連携Salesforceなどに企業情報を自動連携

まとめ

構築したシステムの特徴

特徴詳細
網羅性全上場企業4,000社を自動収集
コスト月額0円(Google Workspace利用料のみ)
インフラ専用サーバー不要
運用スプレッドシートだけで完結
保守性毎月自動で最新化
柔軟性停止・再開が自由自在

技術スタック

  • API: EDINET API(金融庁)
  • バックエンド: Google Apps Script
  • データベース: Google スプレッドシート
  • ストレージ: Google Drive

同じような仕組みを作りたい方へ

「有価証券報告書の収集を自動化したい」
「別のAPIと連携したシステムを作りたい」
「手作業の業務を自動化したい」

このようなお悩みがあれば、ぜひご相談ください。

Google Apps Scriptを活用した業務自動化は、低コスト・短期間で導入でき、非エンジニアの方でも運用しやすいのが特徴です。

AIDXの仕組みを社内で内製化したい方へ

スパルタAIDX研修で、現場で使えるAI実践スキルを短期集中で習得できます。
ベテランの技術継承や業務自動化を自社で実現したい方におすすめです。

AIDXの仕組みを構築を依頼したい方へ

貴社の課題に合わせた最適なソリューションをご提案いたします。
導入事例の詳細や、具体的な実装方法についてもお気軽にご相談ください。


関連記事

CONTACT

資料請求・お問い合わせはこちらから

お気軽にご連絡ください