非エンジニアでもできる!Excel + OpenAI APIの使い方完全ガイド

excel-openai-api-guide-for-beginners

Excelを開かない日はない── そんなビジネスパーソンは多いだろう。
見積書、売上管理、在庫分析、各種集計、レポート作成 …… 毎日のように表と格闘し、数式を組み、コメントを書き添える。

しかしその一方で、こんな悩みを感じてはいないだろうか?

  • 「集計は出来たけれど、分析コメントを書くのが面倒だ」
  • 「報告の文章を毎回手で書くのは時間の無駄だ」
  • 「関数を使いたいけど、調べる時間・根気がない」

このような”小さな悩みの積み重ね”が、あなたの生産性を下げている

そこで注目したいのが「生成AI(OpenAI API)をExcelで使う」という新しいアプローチだ。

OpenAIが提供するAPIを使えば、ChatGPTのような高度なAIをExcelの中から直接呼び出し、表を理解させることができる。数値を要約してコメントを書かせたり、関数を自動生成させたり、データをクレンジングして整形することも可能だ。

つまり、Excelを「ただの表計算ソフト」から「AIが考え、分析し、提案するツール」へと進化させられるということだ。

しかも特別なプログラミング知識は不要。
この記事で紹介するVBAマクロを使えば、たった数分の作業でExcelの中にAIアシスタントを呼び出せるのだ。

本記事では、

  • ExcelとOpenAI APIを連携させるメリット
  • Excelと組み合わせたときの活用事例・メリット
  • 実際に動作するVBAマクロサンプル

を初心者でもコピペで実践できるよう、わかりやすく丁寧に解説する。

専門的な知識がなくても、この記事を読んで実践すれば、あなたのExcelが “AIを使いこなす最強の業務ツール”へと変わっているはずだ。

目次

OpenAI APIとは? ビジネスにおけるメリット

生成AIがもたらす業務変革

ここ数年でChatGPTをはじめとする生成AIは、あらゆるビジネスシーンに浸透した。文章生成、要約、翻訳、分析、プログラム作成── これらを人間が数時間かけて行っていた作業を、AIがわずか数秒でこなすようになっている。

そしてこの技術の中核を支えているのが「OpenAI API」である。ChatGPTが提供している機能を、アプリやシステム、そしてExcelのようなツールから直接呼び出せる仕組みだ。

企業が OpenAI API を活用することで得られる最大のメリットは、「既存の業務プロセスを壊さずに、AIを組み込める点」である。つまり、社内で最も多くの人が使っているExcelにAIの力を取り込むことで、業務のスピードと品質を一気に引き上げられる。

なぜExcelとOpenAI APIの組み合わせが最強なのか

言うまでもないが、Excelはビジネスの現場で最も汎用的に使われているツールであり、データ集計・分析・報告書作成など、あらゆる業務の中心に位置している。

一方で、「大量のデータをまとめるのに時間がかかる」「報告文を毎回手書きしている」「VBAを組むのが苦手」といった課題を抱えるユーザも多い。

これらの課題には、生成AIを組み合わせることで、以下のようなことが可能になる。

  • Excel内の数値データを要約し、「自然な日本語で」分析コメントを生成する
  • 特定のセル範囲の内容を基に、報告書やメール文を自動で作成する
  • VBAコードを自然言語から自動生成し、開発効率を高める

つまり、Excelの中でChatGPTのように質問したり、文章を生成したりできるということだ。

導入コストとROI(費用対効果)

OpenAI API の利用を、コストの面で躊躇しているビジネスパーソンは多いだろう。
しかし、OpenAI API の利用料金は、想像よりも安い。

まず、料金体系は従量課金制である。つまり、使用したトークン数の分だけ支払う方式である。
初期費用として500円をクレジットチャージする必要はあるものの、サブスクのような月々の支払いは発生しない
使わなければ料金が発生することはない。必要な時に、必要なだけ使えばいい。

また、AIのモデルによって異なるが、トークンあたりの単価は非常に低いため、かなり使ったとしてもコストは意外と抑えられる。

たとえば筆者の場合、1ヶ月に数百円程度のコストで済む場合が多く、使わなかった月は0円である。

なにより、業務効率化による時間削減効果は圧倒的だ。企業では、1人あたり月に数時間〜数十時間の削減も現実的である。ROI(投資対効果)という観点で見ても、OpenAI APIの導入は企業にとって十分に採算が取れる施策である。もちろん、個人利用で自腹を切るとしても、それに見合う価値は十分あると言える。

どうしてもコストが不安な場合は、初期費用だけ支払えば、条件付きで無料枠を利用可能にする設定もあるので、そちらで試してみることをおすすめする。

業務効率化の具体的な活用事例

1. データ要約と分析コメントの自動生成

営業実績や販売データをまとめたExcel表を、AIが一瞬で“人間の言葉”で分析コメントに変換してくれる。

たとえば、以下のような月次売上表があるとする。

売上(万円)前月比主力製品
7月480製品A
8月520+8%製品A
9月630+21%製品B

A1セルに「このデータを要約して」と入力し、生成AIに渡すと、次のようなコメントを自動生成できる。

「売上は7月から9月にかけて連続増加し、特に9月は製品Bの販売拡大により21%の大幅増となった。」

Excel上でこのようなコメントを自動生成できれば、報告書やプレゼン資料の作成時間を大幅に削減できる。

2. 定型報告文の自動生成(表形式のまま出力)

月次報告書やデータをもとにした報告など、毎回「数字+一言コメント」を添える業務では、生成AIが“表形式でコメントを埋める”アシスタントとして活躍する。

担当者売上達成率コメント(AI生成)
佐藤110%105%目標を上回る好調な売上。製品Aの提案力が成果につながった。
田中90%85%受注は増加傾向だが、リード獲得の効率化が課題。
鈴木100%100%安定した成果を維持。顧客対応の質も高評価。

このように、数値をもとにAIが自動で評価コメントを出すことで、報告作成のスピードと客観性が向上する。

「感覚」ではなく「データに基づく言語化」ができる点も、AIを使う大きなメリットだ。

3. データクレンジングとテキスト整形

Excelの悩みの一つに、「入力データのバラつき」がある。
たとえば、同じ会社名が「㈱A」「株式会社A」「(株)A」とバラバラに入力されているケースだ。

生成AIを利用すれば、「同義語を統一して」と指示するだけで、表全体の表記ゆれを一瞬で正規化できる。
また、住所・部署名・商品名などの誤記も自然言語で修正できる。

例:「この表の会社名を統一して、正式名称に整形して

といったプロンプトを渡せば、AIが正しい形式に変換してくれる。
従来はVLOOKUPや正規表現を駆使していた作業が、わずか1行の指示文で完結するのだ。

4. 数式や関数の自動生成

Excelには豊富な関数が用意されており、それらを組み合わせることで高度な表計算が可能だ。しかし、Excel初心者にとって「式」を駆使するのは高いハードルだ。

そんなExcel関数に不慣れな人でも、「この表から平均値を出す関数を作って」とAIに頼めば、AIが適切な関数を自動生成してくれる。

たとえば、以下のような指示をA1に書く。

「B2:B10の平均を求める関数を作って」

すると、AIが次のような回答を出力する。

=AVERAGE(B2:B10)

さらに複雑な条件付き集計(SUMIFSやCOUNTIFSなど)も、自然言語で指示するだけで正しい数式を返してくれるため、初心者でも楽々とハードルを超え、即戦力レベルのスプレッドシートが作成可能だ。

5. レポートの自動要約・説明文生成

生成AIは、表の内容を要約するだけでなく、「見出し付きの報告書文」を自動で書くこともできる。

たとえば、売上データ表を指定して次のように指示する。

この売上データを要約して、3つのポイントに分けて報告書形式で説明して」

するとAIが以下のような出力を返す。

① 売上推移の好調
7月から9月にかけて売上は上昇し、特に製品Bが好調だった。
② 主力商品の転換
製品A中心から製品B中心へのシフトが進んでいる。
③ 改善の余地
新規顧客の獲得率が低下傾向のため、リード施策の強化が必要。

このような「自動的に要約と説明を生成するレポート」は、Excelから直接OpenAI APIを呼び出せば、数秒で作成できる。

6. 数値から“洞察”を引き出すAI分析アシスタント

AIは単なる「要約ツール」ではない。
「なぜこのデータの売上が上がったのか」「改善策は何か」といった問いにも答えられる。

「このデータを分析して、来月の重点施策を3つ提案して」

といったプロンプトを与えると、AIは統計的傾向を読み取り、「重点顧客Aの継続フォロー」「製品Bの広告投資強化」など、ビジネスの“次の一手”につながる洞察を返す。

つまり、Excelが「考えるツール」へと進化するのだ。

ExcelからOpenAI APIを呼び出す仕組みと準備

準備:必要なアカウントとAPIキーの取得

まずは、OpenAI APIを利用するための準備をしよう。大きな流れは以下だ。

  1. OpenAIのアカウントを作成
    https://platform.openai.com にアクセスし、アカウントを登録する。
  2. APIキーを取得
    ログイン後、ダッシュボードの「API Keys」から新規キーを作成・取得する。
    このキーは、Excelマクロから OpenAI API を呼び出す際に必要となる。
  3. 課金設定
    クレジットの設定を行う。基本は従量制による有料課金だが、条件付きで無料枠も使える。

上記の手順について詳しく解説している記事は以下。最低料金+一部無料枠とするための設定についても解説しているので、ぜひ参考にしてほしい。

Excel VBA環境のセットアップ

次に、ExcelでVBAマクロを使えるようにするため以下の準備を行う。

  1. Excelのリボンメニューに「開発」タブを表示する。
    メニュー「ファイル」>「オプション」>「リボンのユーザー設定」から、「開発」を有効化する。
Excelの「ファイル」>「オプション」>「リボンのユーザー設定」から「開発」を有効化
  1. 新規にExcelブック(空白のブック)を作成する。
  2. 「開発」リボンにある「Visual Basic」を選択。または、[ALT]+[F11]キーを押下。
Excelリボン「開発」から「Visual Basic」を選択
  1. Microsoft Visual Basic for Application(VBA)」画面が開く。

VBA-JSON の入手とセットアップ

VBA-JSONは、ExcelのVBAマクロでJSON形式のリクエストやレスポンスを扱うための、GitHub上に公開されているライブラリである。OpenAI APIの通信はJSON形式なので、このライブラリを使う。

VBA-JSONの入手とセットアップは、次の手順で行う。

  1. Webブラウザで次のURLを開く。

https://github.com/VBA-tools/VBA-JSON

  1. 右上の Code > Download ZIP をクリックし、任意のフォルダにダウンロード保存する。
  1. ダウンロードした ZIPファイルを展開する。
  2. VBA 画面より、作成済みのExcelブック上で右クリックし、「ファイルのインポート」を選択。
  1. ZIPを展開したフォルダの下にある、JsonConverter.bas を選択。
  2. 「標準モジュール」の下に JsonConverter.bas が表示されればOK。
VBA標準モジュール下にJsonConverterが表示される
  1. VBA 画面より、メニュー「ツール」>「参照設定」を選択。

  1. Microsoft Scripting Runtime」にチェックを入れて[OK]ボタンを押下。
    一覧に表示されていない場合は、[参照]ボタンを押下して
    C:\Windows\System32\scrrun.dll
    を開く。
Microsoft Scripting Runtimeを選択

    OpenAI APIを使ったExcelマクロ実装例

    サンプルコードの実装手順

    以下に、実際に動作するサンプルコードを掲載する。
    サンプルコードは以下の手順でコピペすれば、そのまま動作する。

    1. VBAエディター上で右クリックし、「挿入」>「標準モジュール」を選択。
    VBAより標準モジュールを追加
    1. 標準モジュール「Module1」が追加されるので、下のコードをコピペする。
      「APIキー(apiKey)」は自身のものに差し替える。
    VBA上のModule1にコードをコピペ
    Option Explicit
    
    Sub CallOpenAI()
    
        Dim http As Object
        Dim apiKey As String
        Dim prompt As String
        Dim body As String
        Dim bytes() As Byte
        Dim stm As Object
        Dim respUtf8 As String
        Dim response As String
        Dim result As String
        Dim json As Object
    
        apiKey = "YOUR_API_KEY_HERE" ' ←ここに自分のAPIキーを入力
    
        ' A1セルの内容を取得
        prompt = Range("A1").Value
    
        ' JSONエスケープを実施
        prompt = JsonEscape(prompt)
    
        ' HTTP通信開始
        Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
        http.Open "POST", "https://api.openai.com/v1/chat/completions", False
        http.SetRequestHeader "Content-Type", "application/json; charset=utf-8"
        http.SetRequestHeader "Authorization", "Bearer " & apiKey
    
        ' JSON本文を構築
        body = "{""model"":""gpt-4o-mini"",""messages"":[{""role"":""user"",""content"":""" & prompt & """}]}"
    
        http.Send body
    
        ' UTF-8文字化け対策:ResponseBodyをUTF-8→Unicode変換
        bytes = http.ResponseBody
        Set stm = CreateObject("ADODB.Stream")
        With stm
            .Type = 1 ' Binary
            .Open
            .Write bytes
            .Position = 0
            .Type = 2 ' Text
            .Charset = "utf-8"
            respUtf8 = .ReadText
            .Close
        End With
        response = respUtf8
    
        ' JSONを解析(JsonConverter.basが必要)
        Set json = JsonConverter.ParseJson(response)
        result = json("choices")(1)("message")("content")
    
        ' 結果をセルに出力
        Range("A2").Value = result
    
        ' 終了メッセージの表示。必要なければコメントアウト
        MsgBox "AIの応答を出力しました!", vbInformation
    
    End Sub
    
    '--- JSON文字列を安全にエスケープする関数 ---
    Private Function JsonEscape(ByVal text As String) As String
        text = Replace(text, "\", "\\")
        text = Replace(text, """", "\""")
        text = Replace(text, "/", "\/")
        text = Replace(text, Chr(8), "\b")
        text = Replace(text, Chr(12), "\f")
        text = Replace(text, Chr(10), "\n")
        text = Replace(text, Chr(13), "\r")
        text = Replace(text, Chr(9), "\t")
        JsonEscape = text
    End Function

    サンプルコードを実行する

    このマクロを実行するには、Module1のプロシージャ「CallOpenAI」のどこかにカーソルを置いた状態で、メニュー「実行」を選択するか、[F5]キーを押下する。

    VBAの実行

    このマクロを動かすと、A1セルに入力した質問=プロンプト(例:「このデータを要約して」)に対し、AIの回答がA2セルに出力される。

    業務に合わせてプロンプトや、入出力するセルの座標を変えれば、レポート作成・要約・翻訳・提案文など、様々な用途に応用できる。

    まとめ|Excel×生成AI(OpenAI API)で業務効率化を実現する

    生成AIはもはや一部のエンジニアだけの技術ではない。

    Excelと組み合わせることで、非エンジニアのビジネスパーソンでも、日々の作業を圧倒的に効率化できるようになる時代が到来している。

    • OpenAI APIを使えば、ChatGPTの機能を自作ツールに直接組み込める
    • Excel + OpenAI API の連携により、自然言語でデータ分析・文書生成・VBA自動作成が可能
    • 業務効率化の効果は即日で体感でき、導入コストも極めて低い

      Excelによる業務自動化は、これまでは「Excelマクロ」が一般的であったが、今後は「Excelマクロ+生成AI」という組み合わせが、新しいスタンダードとなるだろう。

      まずは、この記事のサンプルマクロをコピーして、あなたのExcelで試してみてほしい。
      数分後には、「AIがExcelの中で仕事をしてくれる」未来を実感できるはずだ。


      複数の質問をまとめてChatGPTに送って回答を得る方法

      この記事の応用例として、複数の質問をExecl上で編集し、まとめてOpenAI(ChatGPT)に送信し、まとめて回答を得る方法を解説した記事は以下。便利ツールと資料では、そのまま使えるサンプルも公開中。

      よかったらシェアしてね!
      • URLをコピーしました!
      • URLをコピーしました!

      コメント

      コメントする

      CAPTCHA

      このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

      目次