AIしごとラボ
業務・職種別活用

ChatGPTでエクセルを使う方法|関数・時短術

AIAIしごとラボ編集部読了目安 7

エクセルの関数は、表の列構成と「何を出したいか」をChatGPTに伝えるだけで数秒で作ってもらえます。 ただし列の構成を伝えずに聞くと、セル参照が仮置きの「そのままでは動かない式」が返ってきがちです。 本記事では、集計・条件分岐・VLOOKUP代替という実務でよくある3つの課題を実際にAIに解かせ、生成された関数を検証した結果つきで紹介します。

出力例について: 本記事の関数と出力例は、編集部が2026年7月4日にClaude(当サイトの記事制作に使用しているAI)で各プロンプトを実際に実行して得たものです。編集部にChatGPTの検証環境がないためChatGPTでの実出力は掲載していませんが、プロンプトはChatGPT・Claude・Geminiのいずれでもそのまま使える汎用的な書き方にしています。AIの出力は実行のたびに変わるため、掲載例と完全に同じ式や文面になるとは限りません。

ChatGPTでできるエクセル作業(全体像)

AIチャットがエクセル作業で役立つのは、主に次の4つの場面です。

  1. 関数を作ってもらう: 「担当者別に6月の売上を合計したい」など、やりたいことを日本語で伝えて式を生成させる
  2. 既存の関数を解説してもらう: 引き継いだファイルの複雑な式を貼り付けて、何をしているか日本語で説明させる
  3. エラーの原因を調べてもらう: #N/A#VALUE! などのエラーを、式と一緒に貼り付けて原因と直し方を聞く
  4. 作業手順を相談する: 「この形の表をピボットテーブルで集計するには」など、操作手順そのものを質問する

一方で、AIはあなたのエクセルファイルの中身を勝手に見ることはできません。 表の構成(どの列に何が入っているか)を伝えるのは人間の役割で、ここを省略すると精度が大きく落ちます。次のコツで具体的に説明します。

関数を作らせるプロンプトのコツ

編集部で試した範囲では、次の3点を伝えるかどうかで、生成される式の実用性が大きく変わりました。

  • 列の構成を最初に書く: 「A列: 日付、B列: 担当者、C列: 商品コード、D列: 金額(データは2〜10行目)」のように、列と行の範囲を具体的に伝える
  • 結果を表示したい場所も伝える: 「F列に担当者名があり、G列に合計を出したい」まで指定すると、コピペで使える形で返ってくる
  • Excelのバージョンを伝える: XLOOKUPやIFSなど新しめの関数はExcel 2016/2019では使えないため、古いバージョンを使っている場合は「Excel 2016で使える式で」と一言添える

この3点を含めたプロンプトの型はこちらです。

エクセルで次の表があります。
A列: 日付、B列: 担当者、C列: 商品コード、D列: 金額
(データは2〜10行目)

F2:F4に担当者名の一覧があります。
G列に、担当者ごとの2026年6月の売上合計を出す関数を
教えてください。

実際に試した結果(集計・条件分岐・VLOOKUP代替)

実務でよくある3つの課題を、上の型に沿ったプロンプトで実際にAIに解かせました。 検証用に、次の架空の売上表(A1:D10)を使っています。

日付担当者商品コード金額
2026/6/2佐藤A-01120,000
2026/6/5田中B-0280,000
2026/6/9佐藤A-0260,000
2026/6/12鈴木A-01150,000
2026/6/18田中A-0190,000
2026/6/24佐藤B-0270,000
2026/6/30鈴木A-02110,000
2026/7/1田中A-0295,000
2026/7/3佐藤A-01130,000

課題1: 担当者別・月別の売上集計(SUMIFS)

入力したプロンプト: 上の「プロンプトの型」をそのまま使用。

実際に生成された関数(G2に入力し、G4までコピー):

=SUMIFS($D$2:$D$10, $B$2:$B$10, F2,
        $A$2:$A$10, ">=2026/6/1", $A$2:$A$10, "<2026/7/1")

検証結果: 編集部で元データを手計算した合計と照合したところ、佐藤 250,000円・田中 170,000円・鈴木 260,000円で全員一致しました。 日付条件が「6月1日以上、7月1日未満」となっており、6月30日までが漏れなく含まれる正しい書き方です。 セル参照が $D$2:$D$10 のように固定(絶対参照)されているため、下の行にコピーしても範囲がずれない点も実務向きでした。

課題2: 達成率でランクを自動判定(条件分岐)

続けて同じチャットで、目標達成率による条件分岐を依頼しました。

入力したプロンプト:

続きです。G列の実績の隣、H列に各担当者の目標金額が
入っています。
I列に達成率(実績÷目標)、J列に達成率100%以上なら「A」、
80%以上なら「B」、それ未満なら「C」と表示する関数を
教えてください。

実際に生成された関数:

I2: =G2/H2
J2: =IFS(I2>=1, "A", I2>=0.8, "B", TRUE, "C")

あわせて「IFSはExcel 2019以降の関数のため、古いバージョンでは次の式を使ってください」という注記つきで、IFのみで書いた代替案も提示されました。

J2: =IF(I2>=1, "A", IF(I2>=0.8, "B", "C"))

検証結果: 目標を佐藤 240,000円・田中 200,000円・鈴木 350,000円と設定して手計算と照合したところ、達成率は104.2%・85.0%・74.3%となり、判定はA・B・Cで一致しました。 境界値(ちょうど100%・ちょうど80%)が「以上」に含まれる点も、指示どおりに >= で実装されています。

課題3: 商品コードから商品名を引く(VLOOKUP代替)

別シート「商品マスタ」(A列: 商品コード、B列: 商品名、C列: 単価、2〜4行目)から、売上表のC列のコードに対応する商品名を引く課題です。

入力したプロンプト:

売上表のC列の商品コードをキーに、シート「商品マスタ」
(A列: 商品コード、B列: 商品名、C列: 単価、2〜4行目)から
商品名をE列に表示したいです。
VLOOKUPより良い方法があればそれも教えてください。

実際に生成された関数:

E2: =XLOOKUP(C2, 商品マスタ!$A$2:$A$4,
             商品マスタ!$B$2:$B$4, "該当なし")

「XLOOKUPはExcel 2021以降とMicrosoft 365で使える関数で、見つからない場合の表示(ここでは"該当なし")を指定できる点がVLOOKUPより優れています」という解説と、旧バージョン向けのVLOOKUP版も提示されました。

E2: =VLOOKUP(C2, 商品マスタ!$A$2:$C$4, 2, FALSE)

XLOOKUPの対応バージョンをMicrosoft公式のサポートページで確認したところ、Excel 2021・2024・Microsoft 365で利用可能、Excel 2016と2019では利用不可という説明のとおりでした(参照: Microsoftサポート「XLOOKUP function」、確認日: 2026-07-04)。

つまずきポイント: 検証中、商品コードの末尾に半角スペースが入ったデータ(「A-01 」)では結果が「該当なし」になりました。 この状態をAIに伝えたところ、「コード側の余分な空白が原因」と特定され、次の改善版が返ってきました。

E2: =XLOOKUP(TRIM(C2), 商品マスタ!$A$2:$A$4,
             商品マスタ!$B$2:$B$4, "該当なし")

検索値を TRIM(C2) で囲んで空白を除去する対処で、実際に「該当なし」が正しい商品名に変わることを確認しました。 VLOOKUPやXLOOKUPが #N/A になる原因の多くはこうした「見た目では気づけない空白や、数値と文字列の混在」なので、エラーが出たらまず元データ側を疑うのが近道です。

使うときの注意点

  • 生成された式は必ず検証する: AIの式は一見正しくても、境界値(「以上」か「超」か)や日付の範囲がずれていることがあります。本記事のように、手計算で答えの分かる数行のサンプルで照合してから本番の表に使ってください
  • 社内データの扱いに注意する: 顧客名や売上金額を含む表をそのまま貼り付ける前に、社内ルールで外部AIサービスへの入力が許可されているか確認してください。関数を作るだけなら、本記事のように架空のデータや列構成の説明だけで十分です
  • バージョン違いに注意する: XLOOKUP・IFS・SPILL系の関数は古いExcelでは動きません。共有ファイルの場合は、開く人全員のバージョンで動く式かを確認してください

よくある質問

Q. 無料版のChatGPTでもエクセルの関数は作れますか?

A. 作れます。関数の生成や数式の解説はテキストのやり取りだけで完結するため、無料版で十分実用になります。無料版と有料版の違いはChatGPT有料版と無料版を比較|どっちがいい?で詳しく解説しています。

Q. エクセルファイルを直接読み込ませることはできますか?

A. ファイル添付機能を使えばエクセルファイルの分析も可能ですが、プランによって利用回数に制限があります。また、実データのアップロードは機密情報の持ち出しになり得るため、社内ルールの確認を先に行ってください。列構成を文章で伝える方法なら、データを渡さずに関数だけ作れます。

Q. 生成された関数が動かないときはどうすればいいですか?

A. エラー表示(#N/A#VALUE! など)と、入力した式、列の構成をセットで貼り付けて「このエラーの原因を教えて」と聞き直すのが早いです。本記事の課題3のように、原因の特定から改善版の式まで返してもらえます。

Q. XLOOKUPが使えない古いExcelではどうすればいいですか?

A. プロンプトに「Excel 2016で使える式で」と一言添えれば、VLOOKUPやINDEX+MATCHなど旧バージョン対応の式で返してくれます。バージョンを伝えないと新しい関数が混ざることがあるため、古い環境では必ず指定してください。

Q. マクロ(VBA)も作ってもらえますか?

A. 作れます。ただしマクロは関数と違ってファイルの中身を書き換える処理も含むため、生成されたコードの内容を確認し、必ずコピーしたファイルで試してから本番に使ってください。まずは本記事のような関数化で足りないか検討するのがおすすめです。

まとめ

ChatGPTでエクセル関数を作るコツは、列の構成・結果を出したい場所・Excelのバージョンの3点をプロンプトに含めることです。 今回の検証では、集計(SUMIFS)・条件分岐(IFS)・検索(XLOOKUP)の3課題すべてで、手計算と一致する正しい式が一度で生成され、エラーの原因特定と改善まで対話で完結しました。 一方で境界値や日付範囲の妥当性は人間の検証が前提です。数行のサンプルで照合してから本番の表に使う運用を習慣にしてください。

プロンプトの基本の型はChatGPTプロンプト例文コピペ集|そのまま使える、ChatGPTの基本操作はChatGPT使い方完全ガイド|2026年版、同じ「型で依頼する」実務例は議事録をAIで作る方法|手順とプロンプト解説もあわせてご覧ください。

あわせて読みたい

ChatGPTプロンプト例文コピペ集についても、実際に試した手順をまとめています。気になる方はこちらもご覧ください。

関連記事を読む →

本サイトの情報は執筆時点のものであり、正確性・完全性を保証するものではありません。実際のご利用にあたっては、必ず公式サイト等で最新情報をご確認ください。

あわせて読みたい