本メディアはAI活用の情報メディアで、株式会社S.Lineが運営しています。記事内で当社サービスに触れる場合は「当社」と明記します。 運営会社の情報
この記事でわかること
- ChatGPTにできることと、使う前の心構え
- 5つのメリットの整理
- 初心者向けの基本3ステップ
- コピペで試せる15個のプロンプトテンプレート
- VBA・マクロの作成方法(応用編)
- SNS運用の数値を整理する関数とプロンプトの例
- エラーが出たときの原因の切り分け方
- ChatGPT以外のAIツールの選び方
ChatGPTでExcel関数は作れる?できることと使う前の心構え
ChatGPTは、やりたい処理を日本語で伝えると、Excelの関数や数式の案を文章で返してくれるAIです。ただし返ってきた数式があなたのシートで正しく動くかどうかは、実際に入力して確かめるまで分かりません。
Excelの関数は種類が多く、「どの関数を選ぶか」「引数をどの順に書くか」で手が止まりがちです。ChatGPTに「何をしたいか」を日本語で伝えれば、候補となる関数と数式の書き方を会話の形で示してもらえます。この記事では、プロンプトの作り方、そのまま試せる15個のテンプレート、エラーが出たときの考え方までを順に説明します。
先に前提を一つだけ共有しておきます。ChatGPTはあなたのExcel画面を見ているわけではありません。表のどこに何が入っているかは、文章で伝えた内容がすべてです。そのため、伝え方が具体的なほど、返ってくる数式も実際のシートに近づきます。逆に、曖昧な依頼には、もっともらしいけれど目的に合わない数式が返ることもあります。
SUMIFやVLOOKUPからXLOOKUPまで、関数の候補を一緒に考えられる
ChatGPTに相談できる関数の範囲は広く、集計・検索・文字列・条件分岐のいずれも対象にできます。たとえば「A列の合計を出したい」という場合は、Microsoftの公式ページで仕様が説明されているSUM関数が候補になります。「B列が『東京支社』で、C列の売上が基準以上の行だけ合計したい」といった複数条件なら、SUMIFS関数を使う案が出てくるでしょう。
表から値を引いてくる場面では、VLOOKUP関数がよく使われます。たとえば「シート1のA列にある社員番号をキーにして、シート2の名簿から氏名と部署名を取り出したい」と伝えると、VLOOKUPやその後継のXLOOKUP関数を使った数式案と、各引数の意味の説明を返してもらえます。
「XLOOKUPとVLOOKUPは何が違うのか」「この引数は何を指定するのか」といった質問も、そのまま投げて構いません。関数の構造を文章で説明してもらい、わからない部分をさらに質問していけば、数式の暗記に頼らずに理解を進められます。ただし、仕様の細かい点はバージョンによって異なるため、最終的にはMicrosoft公式の関数ページで確かめる習慣をつけておくと安心です。
関数だけでなくVBA・マクロのコード案も出してもらえる
ChatGPTは関数の相談だけでなく、VBA(Visual Basic for Applications)のコード案を出す相談にも使えます。たとえば「CSV形式の売上データを開き、不要な行を削除して、支社ごとにシートを分け、各シートで売上上位の行を太字にする」といった一連の定型作業を文章で説明すると、その手順を実現するコードの下書きが返ってきます。
ただしコードの下書きは、そのまま本番のファイルで実行してよいものではありません。VBAは関数と違い、ファイルの削除や上書きといった取り消せない操作も実行できるためです。実行前にコピーしたファイルで試すこと、コードに書かれた処理内容を日本語で説明してもらってから実行することを、この記事の応用編で詳しく説明します。
ChatGPTに任せやすいことと、自分で確認すべきこと
ChatGPTと一緒にExcelを扱うときは、役割分担を意識すると失敗が減ります。次の表は、任せやすい作業と、人が確認すべき作業を整理したものです。
| 場面 | ChatGPTに相談しやすいこと | 自分で確認すること |
|---|---|---|
| 関数の選び方 | やりたい処理に合う関数の候補を挙げてもらう | その関数が自分のExcelのバージョンで使えるか |
| 数式の組み立て | 引数の並べ方やネスト(入れ子)の書き方の下書き | 実際のセル範囲・シート名と数式が一致しているか |
| エラー対応 | エラー値の意味と、疑うべき原因の候補の整理 | 原因の候補が自分のデータに当てはまるか |
| VBAの作成 | 処理手順を文章にした上でのコード案と、各行の解説 | コピーしたファイルでの動作確認と、保存前のバックアップ |
| データの扱い | ダミーデータを使った数式の練習 | 個人情報や社外秘を入力して問題ないか |
この表のとおり、ChatGPTは「下書きと説明の担当」、あなたは「確認と判断の担当」と考えると、使いやすくなります。
この記事の読み進め方
Excelにあまり慣れていない方は、次の「5つのメリット」から基本の3ステップへ進み、プロンプトテンプレートを試す順がおすすめです。すでに関数を使っている方は、テンプレート15選と、エラーの原因を切り分ける章から読んでも構いません。VBAに興味がある方は、応用編の章を先に確認すると流れをつかめます。
この記事で扱ったAI活用から、まず試す作業を一つ決めたい方へ。
AIとSNSの実践項目をまとめた特典を用意しています。案内先で内容を確認し、受け取る場合だけLINEから進めます。
ChatGPTでExcel関数を作る5つの革新的メリット
ChatGPTでExcel関数を作るメリットは、関数を調べる手間の軽減、複雑な条件の言語化、エラー原因の整理、学習への活用、VBAへの入り口の5つです。

ここでは、ChatGPTを使うと何が変わるのかを、5つの観点で整理します。ここで挙げるのは、一般的に期待できる使い方の整理であり、作業の短縮量などの数値を約束するものではありません。実際の効果は、扱う表の複雑さや依頼の仕方によって変わります。
メリット1:関数を調べる手間を減らせる
これまで関数を一つ作るには、「合計を出す 関数」のように検索し、いくつもの解説ページを見比べる作業が必要でした。ChatGPTに日本語で処理内容を伝えれば、候補となる関数と数式の案を、1回の会話でまとめて受け取れます。
たとえば「A列のセルが空白でなければ、B列の数値を合計したい」と伝えると、条件付きの合計に使えるSUMIFS関数などの案が返ります。検索結果を渡り歩く代わりに、返ってきた案を手元のシートで試し、合わなければ条件を足して聞き直す、という進め方になります。
メリット2:複雑な条件も日本語で整理できる
IF関数の中にVLOOKUP関数を入れる(ネストする)ような、条件が絡み合う数式は、初心者にとって大きな壁です。引数の位置やカッコの数を一つずつ正確に組み立てる必要があり、途中で全体像が見えなくなります。
ChatGPTには「B列の値が100以上なら、C列から商品名を検索して表示し、100未満なら『対象外』と表示する」のように、条件を文章のまま渡せます。文章にする過程で、自分の中で曖昧だった条件(以上か、超えるか、空白の扱いはどうするか)が整理されるのも利点です。返ってきた数式は、境目の値(ちょうど100の行など)を含むデータで試して確認しましょう。
メリット3:エラーの原因を整理しやすい
「#N/A」や「#VALUE!」といったエラー値が出ると、原因は参照範囲のずれ、データ型の不一致、余分なスペースなど多岐にわたり、見当をつけるだけでも手間がかかります。
エラーの出た数式と、そのときの状況をChatGPTに貼り付けて質問すると、疑うべき原因の候補と確認方法を挙げてもらえます。Microsoftも#N/Aエラーの修正方法を公式ページで案内しているので、ChatGPTの回答と見比べると、原因の切り分けがしやすくなります。ChatGPTの挙げた原因は候補であり、確定ではない点にも注意してください。
メリット4:関数の仕組みを学ぶ道具にもなる
ChatGPTは答えの数式を出すだけでなく、「この数式はなぜこの構造なのか」を順を追って説明させることもできます。たとえばSUMIFS関数の各引数(合計対象範囲、条件範囲1、条件1など)が、シート上のどの部分に対応しているのかを、具体的なセル範囲に当てはめて説明してもらえます。
関数をコピー&ペーストで済ませるのではなく、仕組みを理解して使えるようになると、次に似た処理をするときに自分で数式を組み立てやすくなります。「別の書き方はあるか」「この引数を変えるとどう変わるか」と質問を重ねる使い方も向いています。
メリット5:VBAに進むときの入り口になる
関数で解決できない自動化は、最終的にVBAの領域に入ります。VBAはプログラミング言語の一種で、学習のハードルは低くありません。ChatGPTに処理手順を文章で伝え、コード案と各行の説明をセットで受け取る形にすれば、コードを読み解きながら少しずつ慣れていけます。
たとえば「複数のシートに分かれた売上データを、一つの集計シートにまとめる」といった作業を、手順を文章にしたうえでコード案にしてもらう、という進め方です。コードを理解しないまま実行しないことが前提ですが、関数で基礎を固めた後の次の段階として検討できます。
【初心者向け】ChatGPTでExcel関数を作る基本の3ステップ
ChatGPTでExcel関数を作る基本の流れは、処理内容を日本語で書き出す、プロンプトとして入力する、生成された数式をExcelで動作確認する、の3ステップです。
関数の知識がなくても進められるよう、3つのステップに分けて手順を説明します。どのステップも、特別な設定やアドインは必要ありません。
ステップ1:実行したい処理を日本語で具体的に書き出す
最初のステップは、実行したい処理を日本語で具体的に書き出すことです。家を建てる前に設計図を描くのと同じで、設計図が曖昧だと、思った通りの数式は返ってきません。
書き出すときのコツは、「何を」「どのセルで」「どうしたいのか」の3つの要素を明確にすることです。「売上を集計したい」ではなく、「シート1のB2セルからB100セルまでの売上金額を合計し、結果をシート2のA1セルに表示したい」のように具体化します。
頭の中にあるやりたいことを、箇条書きでよいので書き出してみましょう。たとえば「C列の値が100以上なら『達成』、未満なら『未達』とD列に表示する」「商品リストから商品IDをキーにして価格を検索し、表示する」のように、文章の形にすることが重要です。
この段階で処理を言語化すると、自分の頭の中も整理されます。Excelのどの部分を操作し、どんな結果を得たいのかを定義した「日本語の下書き」が、ChatGPTとのやり取りの土台になります。
ステップ2:ChatGPTにプロンプトを入力する
下書きができたら、ChatGPTにプロンプト(指示文)として入力します。ステップ1の文章に、AIが解釈しやすいよう少し情報を足すのがこの段階の目的です。足すと良い情報は、使っているExcelのバージョン、使いたい関数・使いたくない関数、回答の形式(数式だけか、解説付きか)などです。
プロンプトは、次のような形にまとめると安定しやすくなります。
Excelの関数を作ってください。
# やりたいこと
シート1のB2セルからB100セルまでの売上を合計し、シート2のA1セルに表示したい。
# 条件
・Excelのバージョン:Microsoft 365
・数式は1つだけ提示する
・数式のあとに、各引数の意味を簡単に説明する
「あなたはExcelの専門家です」のような役割の指定は、書いても構いませんが、出力が良くなると言い切れるものではありません。それよりも、範囲・条件・出力形式を具体的に書くほうが、意図とのずれを減らせます。
プロンプトが曖昧だと、ChatGPTは意図しない関数を選ぶことがあります。たとえば「売上データをまとめて」とだけ伝えると、合計(SUM)なのか平均(AVERAGE)なのか、判断できません。セル範囲や条件を具体的に指定してください。
ステップ3:生成された数式をExcelに貼り付けて動作確認する
最後のステップは、ChatGPTの回答にある数式をコピーし、Excelの数式バーに貼り付けて動作を確認することです。AIが出した数式は一見整って見えますが、最終的な確認は人が行う必要があります。数式の責任は、使う側にあります。
貼り付けたらEnterキーを押し、結果を確認します。確認は、次の3つの観点で行うと漏れにくくなります。
- 参照しているセル範囲は、自分の表の範囲と合っているか
- 条件の境目になるデータ(ちょうど基準値の行など)で、想定どおりの結果になるか
- エラー値が表示されていないか
可能であれば、計算結果が自分で分かっている少量のデータで試してください。手計算や電卓で確かめられる範囲のデータなら、数式が正しいかどうかを判断しやすくなります。
「#N/A」や「#VALUE!」などのエラーが出ても、慌てる必要はありません。エラーメッセージと数式をそのままChatGPTに貼り付けて、「このエラーの原因として考えられることと、確認方法を教えてください」と質問してみましょう。会話を続けることで、原因の候補を絞り込めます。エラー対処の詳しい考え方は、後の章で説明します。
この3ステップは、慣れるまでは手間に感じるかもしれません。それでも、最初に処理内容を言語化する習慣が身につくと、関数に限らず、他の作業をAIに依頼するときにも役立ちます。AIの回答を確かめる考え方は、AIの回答を仕事で使う前のファクトチェックの手順をまとめた記事でも整理しています。
【コピペOK】用途別|ChatGPTのExcel関数作成プロンプトテンプレート15選
ChatGPTにExcel関数を作ってもらうときは、対象のセル範囲、条件、使いたい関数、出力先を1つのプロンプトに書くのが基本です。ここでは集計・検索・文字列・条件分岐の4分野で、そのまま試せる15個のテンプレートを紹介します。
各テンプレートは、灰色のコードブロックの文面をコピーして、セル範囲やシート名を自分の表に合わせて書き換えるだけで使えます。テンプレートの下には、返ってくる可能性が高い関数と、動作確認で見るポイントを添えました。関数の仕様は、リンク先のMicrosoft公式ページで確認できます。
集計・計算で使えるプロンプト
売上データやアンケート結果など、日々の業務で欠かせない集計・計算の場面です。SUMやAVERAGEといった基本の関数から、条件を満たすデータだけを集計する関数まで、ChatGPTに数式の案を出してもらえます。
集計系のプロンプトで大切なのは、どのセル範囲を、どのように処理したいのかを具体的に伝えることです。「C列の売上を合計したい」のように、列名と行番号の範囲を明示すると、返ってくる数式が実際の表に近づきます。
1. 指定範囲の合計値を求める(SUM関数)
売上リストの合計金額を求めるなど、最も基本的な集計で使えます。SUM関数は、指定した範囲の数値を足し合わせる関数です。
ExcelのC2セルからC50セルまでの合計値を計算するSUM関数を教えてください。
確認のポイントは、範囲の端(C2とC50)が実際のデータの最初と最後に一致しているかどうかです。合計行が範囲に含まれていると二重に足されてしまうため、範囲の外に置きましょう。
2. 指定範囲の平均値を求める(AVERAGE関数)
テストの平均点や、月ごとの平均売上を求めるときに便利です。AVERAGE関数は、数値の平均を求める関数です。
D列のD2からD100に入力されている数値の平均値を求めるExcel関数を作成してください。空白のセルは平均の計算に含めないでください。
空白のセルをどう扱うかを明記するのが、この例のポイントです。0が入力されているセルは平均の計算に含まれるため、「未入力」と「0」の区別がある表では、どちらの扱いにしたいのかも書き添えましょう。
3. 条件に合うセルの数を数える(COUNTIF関数)
アンケートで「はい」と答えた件数や、在庫リストで「在庫あり」になっている行数を数えるときに役立ちます。使い方はCOUNTIF関数の公式ページで確認できます。
ExcelシートのE列(E2:E200)に「合格」という文字列が入力されているセルの数を数えるCOUNTIF関数を教えてください。
文字列の条件は、前後の余分なスペースや全角・半角の違いで一致しないことがあります。結果が想定より少ないときは、データ側の表記ゆれを疑ってみてください。
4. 条件に合うセルの合計値を求める(SUMIF関数)
特定のカテゴリの売上合計や、特定の担当者の売上合計を出すときに使います。SUMIF関数は条件が1つの場合、条件が複数ある場合はSUMIFS関数を使います。
A列に商品カテゴリ、B列に売上金額が入力されています。A列が「飲料」である行のB列の売上合計を計算するSUMIF関数を作成してください。範囲は2行目から500行目です。
SUMIFとSUMIFSでは、合計対象範囲を書く位置(引数の順序)が異なります。ChatGPTが別の関数に書き換えたときに、順序が入れ替わっていないかを見てください。
検索・抽出で使えるプロンプト(VLOOKUP/XLOOKUP)
大量のデータの中から目的の情報を探し出す検索・抽出は、Excel業務の中心的な作業です。特にVLOOKUP関数と、その後継にあたるXLOOKUP関数は使う機会が多い一方で、引数が多くて覚えにくいと感じる方も少なくありません。
VLOOKUPとXLOOKUPは似ていますが、仕様に違いがあります。次の表は、Microsoft公式ページの記載にもとづいて整理した主な違いです。
| 観点 | VLOOKUP関数 | XLOOKUP関数 |
|---|---|---|
| 検索の向き | 範囲の左端の列で検索値を探し、その右側の列から値を返す | 検索範囲と戻り配列を別々に指定するため、戻り列が検索列の左右どちらにあっても使える |
| 一致の種類(省略時) | 検索の型を省略すると近似一致(TRUE)として扱われる | 既定は完全一致 |
| 見つからないときの表示 | #N/Aが返る(IFERRORなどと組み合わせて表示を変える) | [見つからない場合]の引数で表示する値を指定できる |
| 列の指定方法 | 範囲内の列番号で指定する | 戻り配列の範囲で指定する |
| 使えるExcel | 従来から広く使える | Excel 2016およびExcel 2019では使えない |
この表の内容は、VLOOKUP関数とXLOOKUP関数のMicrosoft公式ページの説明にもとづいています。バージョンの違いで困らないよう、プロンプトにはExcelのバージョンを書き添えるのがおすすめです。
5. 商品コードから価格を検索する(VLOOKUP関数)
商品マスタから、入力した商品コードに対応する価格を引いてくる典型的な使い方です。
Sheet2のA列に商品コード、B列に価格が記載された表があります。Sheet1のA2セルに入力した商品コードをキーにして、Sheet2の表から対応する価格をB2セルに表示するVLOOKUP関数を教えてください。検索方法は完全一致でお願いします。
「完全一致」と書かないと、省略時の近似一致で数式が作られる可能性があります。検索の型にFALSEが指定されているかを確認しましょう。
6. 社員番号から部署名を検索する(XLOOKUP関数)
VLOOKUPよりも柔軟な指定ができるXLOOKUP関数のプロンプトです。検索値が見つからないときの表示も指定できます。
社員名簿シートのB列に社員番号、E列に部署名があります。入力シートのC5セルに入力された社員番号と一致する社員の部署名を、社員名簿シートから探して表示するXLOOKUP関数を作成してください。見つからなかった場合は「該当者なし」と表示させたいです。Excelのバージョンは、XLOOKUPが使えるものです。
XLOOKUPは、お使いのExcelで使えない場合があります。表に書いたとおり、Excel 2016とExcel 2019では使えないため、バージョンが古い場合はVLOOKUPとIFERRORの組み合わせで依頼しましょう。
7. 複数条件に一致するデータを抽出する(FILTER関数)
「営業部」かつ「契約件数が一定以上」の社員リストを抽出するなど、より複雑な条件で一覧を取り出すときに使います。FILTER関数は、結果が複数のセルに広がる(スピルする)関数です。
申込リスト(A1:D100)から、C列の「登録月」が「4月」で、かつD列の「ステータス」が「アクティブ」である行(A列からD列すべて)を抽出するFILTER関数を教えてください。該当がない場合は「該当なし」と表示してください。
FILTER関数は結果を広げて表示するため、結果の出力先に空きセルが必要です。該当する行がない場合の表示(引数の[if_empty])も、プロンプトで指定しておきましょう。
文字列操作で使えるプロンプト
入力されたデータの形式がバラバラで、整形に手間がかかる場面は多いものです。姓と名の結合、住所の分割、表記ゆれの統一といった文字列操作も、ChatGPTに数式の案を出してもらえます。地味な作業ですが、後工程の検索や集計の正確さに関わる部分です。
8. 姓と名を結合する(CONCATENATE関数/&演算子)
別々のセルにある姓と名を、間にスペースを挟んで1つのセルにまとめます。CONCATENATE関数のほか、&演算子でも文字をつなげられます。
A2セルに姓、B2セルに名が入力されています。この2つを結合して、間に半角スペースを入れた氏名をC2セルに表示するExcel関数を教えてください。(例:山田 太郎)
出力例を括弧書きで添えると、スペースの種類(半角・全角)が伝わりやすくなります。
9. 住所から都道府県名だけを抽出する(LEFT関数/MID関数)
長い住所データから、最初の「都」「道」「府」「県」までの文字を取り出したい場合のテンプレートです。文字の位置を探す関数と組み合わせることがあり、LEFT関数やMID関数が候補に挙がります。
A2セルに「東京都千代田区丸の内1-1」のような住所が入力されています。この住所から都道府県名だけ(「東京都」の部分)を抽出する関数を作成してください。
都道府県名は文字数が一定ではないため(たとえば「北海道」と「神奈川県」)、固定の文字数で切り出す数式が返ってきたら、複数の住所で試して確認してください。
10. 特定の文字列を置き換える(SUBSTITUTE関数)
表記ゆれを統一したり、古い情報を一括で更新したりするときに役立ちます。例えば「(株)」を「株式会社」に統一する作業です。SUBSTITUTE関数は、文字列の中の指定した文字を別の文字に置き換えます。
B列に入力されている会社名に含まれる「(株)」という文字列を、すべて「株式会社」に置き換えるSUBSTITUTE関数を教えてください。
全角の「(株)」と半角の「(株)」は別の文字として扱われます。両方ある表では、置き換えを2回に分けるよう依頼しましょう。
11. 不要なスペースを削除する(TRIM関数)
データ入力時に紛れ込んだ、文字列の前後の余分なスペースや、単語間の連続したスペースを整えます。VLOOKUPなどが想定どおりに動かない原因が、この余分なスペースであることも少なくありません。TRIM関数で整えられます。
A2セルの文字列に含まれている、先頭と末尾の余分なスペースを削除する関数は何ですか?別のセルに整えた結果を表示したいです。
TRIMで整えた結果は別の列に出るため、元の列を置き換えたいときは、値として貼り付ける操作が必要です。この手順も合わせて質問すると、操作の流れまで教えてもらえます。
条件分岐(IF関数)で使えるプロンプト
「もし点数が60以上なら合格、そうでなければ不合格」といった条件分岐は、さまざまな業務で発生します。IF関数で表現できますが、条件が増えると数式が長くなりがちです。条件を文章で整理して伝えれば、ネストされた数式の下書きも作ってもらえます。
12. 点数に応じて「合格」「不合格」を判定する(IF関数)
最も基本的なIF関数の使い方です。基準になる数値で、結果を2つに分けます。
C2セルのテストの点数が60点以上なら「合格」、60点未満なら「不合格」とD2セルに表示するIF関数を作成してください。
「以上」か「超える」かで、境目の60点の扱いが変わります。60点ちょうどのデータで、結果が想定どおりかを確認してください。
13. 複数の条件で評価を判定する(IF関数とAND関数)
「出席率が基準以上」かつ「テストの点数が基準以上」の場合のみ合格、といった複数条件を組み合わせるパターンです。
D2セルの出席率が0.8以上で、かつE2セルの点数が60以上の場合に「合格」、それ以外は「不合格」と表示するIF関数を作りたいです。AND関数を使ってください。出席率は、0.8のような小数で入力されています。
パーセント表示のセルは、内部では小数で保持されています。表示と実際の値が一致しているかを、プロンプトに書き添えておくと、条件の書き間違いを防げます。
14. ランクに応じて割引率を変える(IFS関数)
条件が3つ以上あると、IF関数を何重にも重ねる必要があり、数式が複雑になります。そのような場面ではIFS関数を使うと、複数の条件を順に並べて書けます。
A2セルの売上金額に応じて、割引率を次のように表示させたいです。
・10万円以上なら「10%」
・5万円以上10万円未満なら「5%」
・1万円以上5万円未満なら「2%」
・1万円未満なら「0%」
この条件を満たすIFS関数を教えてください。
IFS関数は、Microsoftの公式ページによると、Office 2019をお持ちの場合、またはMicrosoft 365のサブスクリプションをお持ちの場合に使える関数です。古いバージョンでは使えないため、互換性が必要な場合は、ネストしたIF関数で依頼してください。
IFS関数は、条件を書いた順に判定し、最初に当てはまったものの結果を返します。条件の並べ方が結果に影響するため、数式の条件が大きい順または小さい順に並んでいるかを確認してください。
15. エラーの場合に特定の表示をする(IFERROR関数)
VLOOKUPで値が見つからなかったときの「#N/A」など、関数が返すエラー表示を、分かりやすいメッセージに置き換えられます。IFERROR関数は、数式がエラーになった場合に指定した値を返し、それ以外の場合は数式の結果を返します。
A2セルの数式がエラーになった場合に、「計算エラー」という文字列を表示するようにしたいです。IFERROR関数を使った記述方法を教えてください。
IFERRORはエラーを見えなくするだけで、原因そのものは解決しません。表示を変える前に、数式が正しく動いているかを確かめてから使いましょう。
これらのテンプレートを土台に、自分の業務に合わせて書き換えてみてください。プロンプトの書き方をより深く知りたい方は、プロンプトエンジニアリングの基本を解説した記事も参考になります。
応用編:ChatGPTでExcelのVBA・マクロを作成する方法
VBAは、Excel上の一連の操作をプログラムとして記述して自動で再現するための言語です。ChatGPTには処理手順を文章で伝えてコード案を出してもらい、コピーしたファイルで動作を確認してから本番のファイルで使います。
関数がセルの計算を担うのに対し、VBAはシート間のデータ移動やファイル操作など、Excel全体の操作をまとめて扱えます。定型作業を一つのボタンにまとめられる反面、誤ったコードはデータの上書きや削除といった取り消しにくい結果につながります。ここでは、依頼の仕方と設定の手順、安全に使うための注意点を順に説明します。
VBAで何ができる?自動化の対象になりやすい作業
VBAでは、次のような時間のかかる定型作業を、1回の実行にまとめられます。これらは一例であり、できる範囲は作業の内容やExcelの環境によって変わります。
- 複数ファイルからのデータ集計:
フォルダ内にある複数の売上報告書(Excelファイル)を順に開き、特定のデータを一つの集計シートにまとめる作業。 - 定型レポートの作成:
ダウンロードしたCSVデータを取り込み、不要な行や列を削除し、並べ替えて、グラフを作るところまでを一連の手順にする作業。 - 請求書のPDF出力:
取引先リストと商品リストから、取引先ごとの請求書を作成し、個別のPDFファイルとして保存する作業。 - メール文面の下書き作成:
Excelのリストをもとに、Outlookで宛先ごとの下書きを作る作業。送信前に内容を人が確認する運用にしましょう。
どの作業を自動化するか迷うときは、「毎回同じ手順で、手でやると間違えやすい作業」から選ぶと進めやすくなります。判断が必要な作業や、結果の影響が大きい作業は、自動化の対象から外すほうが安全です。
VBA作成を依頼するときのプロンプトのコツ
VBAのコードを作ってもらうには、関数以上に具体的な説明が必要です。ChatGPTに、仕様を理解した部下へ依頼するつもりで、目的・前提・手順・例外時の動きを伝えましょう。次の5つの要素を盛り込むと、手戻りを減らしやすくなります。
VBA作成プロンプトに入れたい5つの要素
- 目的の明確化:
最終的に何を実現したいのかを最初に伝えます。
例:「請求書シートのデータを読み取り、取引先ごとにPDFファイルとして出力したい」 - 前提条件の提示:
使用するシート名、データが入力されているセル範囲、表の形式などを具体的に説明します。
例:「『請求書』シートのB2に取引先名、A5:E15に明細が記載されています」 - 処理手順の箇条書き:
実行してほしい操作を、人が手で行う順序と同じように箇条書きにします。
この要素が、コードの精度に最も影響します。 - エラー時の動きの指定:
想定外の事態が起きたときの動きも書いておきます。
例:「保存先のフォルダが存在しない場合は、新しく作成してください」 - コメントの要求:
「各処理に日本語でコメントを付けてください」と頼むと、後からコードを見返したときに内容を理解しやすくなります。
悪い例と良い例を比べると、指示の具体性の違いがよく分かります。
【悪いプロンプトの例】
請求書をPDFにするVBAを作って。
【良いプロンプトの例(仮の例)】
Excel VBAコードの作成をお願いします。
# 目的
「請求書」シートの内容を、取引先ごとに個別のPDFファイルとして保存するマクロを作成したいです。
# 前提条件
- 操作対象のExcelファイルには「請求書」シートと「取引先リスト」シートがあります。
- 「取引先リスト」シートのA列(2行目以降)に取引先名が一覧で記載されています。
- 「請求書」シートのB2セルに取引先名を入力すると、VLOOKUP関数で他の情報が反映される仕組みです。
- PDFの保存先は、このExcelファイルと同じ場所にある「請求書PDF」というフォルダです。
# 処理手順
1. 「取引先リスト」シートのA2セルから最終行まで、取引先名を順番に取得します。
2. 取得した取引先名を、「請求書」シートのB2セルに入力します。
3. 「請求書」シートの内容をPDF形式でエクスポートします。
4. PDFのファイル名は「【請求書】(取引先名).pdf」という形式にしてください。(例:【請求書】株式会社サンプル.pdf)
5. 保存先は「請求書PDF」フォルダにします。
6. 全件の処理が終わったら、「処理が完了しました。」というメッセージボックスを表示してください。
# エラー時の動き
- 「請求書PDF」フォルダが存在しない場合は、マクロが作成するようにしてください。
# その他
- 各処理には、内容が分かる日本語のコメントを付けてください。
- 既存のファイルを上書きする場合は、実行前に確認のメッセージを表示してください。
上の例では、最後に「上書きする場合は確認を出す」という条件を足しています。データの上書きや削除を伴う処理は、実行前に確認を挟む形で依頼すると、取り返しのつかない操作を減らせます。また、返ってきたコードは、「このコードが何をするのか、行ごとに日本語で説明してください」と頼み、内容を理解してから実行しましょう。
生成されたVBAコードをExcelに設定する手順
ChatGPTが作ったVBAコードは、次の手順でExcelに設定できます。画面の名称はバージョンによって少し異なるため、詳しくはMicrosoftのマクロ作成のクイックスタートも参考にしてください。
手順1:開発タブを表示する
VBAを扱うための「開発」タブは、初期状態では表示されていないことがあります。「ファイル」タブ → 「オプション」 → 「リボンのユーザー設定」を開き、「開発」にチェックを入れて「OK」を選びます。
手順2:VBE(Visual Basic Editor)を開く
「開発」タブの「Visual Basic」を選ぶか、キーボードのAltキーとF11キーを同時に押すと、VBAを編集する専用の画面(VBE)が開きます。
手順3:標準モジュールを挿入する
VBEのメニューバーから「挿入」→「標準モジュール」を選びます。プロジェクトウィンドウに「Module1」が作られ、右側にコードを書く白い画面が表示されます。
手順4:コードを貼り付けて保存する
ChatGPTのコードをコピーして、白い画面に貼り付けます。貼り付けた後は、ファイルを保存します。保存の形式には、次の注意点があります。
VBAコードを含むブックは、ファイルの種類を「Excel マクロ有効ブック(*.xlsm)」にして保存します。通常の「Excel ブック(*.xlsx)」で保存すると、マクロは保存されません。マクロの保存については、Microsoftのマクロの保存に関するページで説明されています。
手順5:マクロを実行する
Excelのシートに戻り、「開発」タブの「マクロ」を選ぶと、作成したマクロの一覧が表示されます。実行したいマクロを選んで「実行」を押すと、処理が始まります。手順はExcelでマクロを実行する方法にもまとめられています。ボタンに登録しておけば、クリックだけで実行できるようにもなります。
初めて実行するときは、コピーしたファイルで試してください。うまく動かないときは、エラーメッセージと該当のコードをChatGPTに貼り付けて、原因の候補を聞くと、修正案をもらえます。
この記事で扱ったAI活用を、自分のSNS運用や業務へ落とし込みたい方へ。
AIとSNSの実践項目をまとめた特典を用意しています。案内先で内容を確認し、受け取る場合だけLINEから進めます。
SNS運用の数値をExcelで整理するときの関数とプロンプト例
SNSの運用データをExcelで整理するときは、期間ごとの合計、反応率の計算、投稿の種類別の平均、集計しやすい形への整形の4つが主な作業です。ChatGPTには、表の列構成を伝えて数式案を出してもらえます。
SNSの管理画面から書き出した数値は、そのままでは比較しにくい形になっていることがよくあります。ここでは、仮のデータを例に、Excelでの整理にChatGPTを使う場面を3つ紹介します。表示回数や反応数の定義はSNSごとに異なるため、自分が使う指標の意味を先に決めてから数式を作ってください。この章の数値はすべて説明用の仮の値であり、実績ではありません。
期間ごとの表示回数を集計する関数
投稿の表示回数の推移を定点観測するとき、毎週手作業で足し算をすると、入力ミスが起きやすくなります。日付と表示回数が並んだ表から、指定した期間の合計を求める数式を、ChatGPTに考えてもらいましょう。
シート1のA列に日付(yyyy/mm/dd形式)、B列に表示回数が入っています。E1セルに集計の開始日、F1セルに終了日を入力したとき、その期間の表示回数の合計をG1セルに表示するExcel関数を教えてください。
この指示に対しては、SUMIFS関数を使った数式が返るでしょう。たとえば次のような形です。
=SUMIFS(B:B, A:A, ">="&E1, A:A, "<="&F1)
開始日と終了日をセルに入れておけば、日付を書き換えるだけで別の期間も集計できます。日付が文字列として保存されていると正しく集計できないため、A列のセルが日付として認識されているかも確認してください。この仕組みを作ったあとは、数値の推移を見て「なぜ増えたのか、減ったのか」を考える時間を確保しやすくなります。
反応率を投稿の種類別に分析する関数
次に、投稿の種類(テキスト、画像、動画など)ごとに反応率を比べる場面です。ここでの反応率は、「反応数 ÷ 表示回数」という自分で決めた定義にもとづく例です。分母を表示回数にするのか、フォロワー数にするのかで、同じ投稿でも数値が変わります。
ExcelのA列に投稿の種類、B列に表示回数、C列に反応数があります。D列に各投稿の反応率(反応数 ÷ 表示回数)を計算する数式を作成してください。表示回数が0の場合にエラーが出ないようにしてください。
ゼロ除算を避けるため、IF関数を使った数式が返ります。例えば次のような形です。
=IF(B2=0, 0, C2/B2)
続けて「投稿の種類ごとの平均反応率を求めたい」と依頼すれば、AVERAGEIF関数を使った次のような数式も案内してもらえます。
=AVERAGEIF(A:A, "動画", D:D)
ただし、投稿の本数が少ない種類では、平均が一部の投稿に引っ張られやすくなります。数値の差だけで判断せず、投稿の本数、投稿した時期、内容の違いも合わせて見てください。数値の整理から改善案を考える流れは、SNS運用の月次振り返りの手順をまとめた記事で解説しています。
ハッシュタグごとに集計できる形へ整形するマクロ
最後は、少し応用的なVBAの使い方です。1つの投稿に複数のハッシュタグが付いていると、タグ別の集計がしにくくなります。そこで、タグを1つずつ別の行に分けるマクロの下書きを、ChatGPTに作ってもらう方法があります。
Excel VBAのコードを作成してください。
A列に半角スペース区切りで複数のハッシュタグ、B列にその投稿の表示回数があります。
A列のハッシュタグを1つずつに分割し、新しいシートに「ハッシュタグ」と「表示回数」を1行ずつ書き出すコードにしてください。
元のシートのデータは変更しないでください。各処理に日本語のコメントを付けてください。
VBA(マクロ)を実行するには、Excelのマクロの設定が関係することがあります。また、コードの内容を理解しないまま実行すると、意図せずデータを書き換えてしまうおそれもあります。実行前に、ファイルのバックアップを取っておきましょう。
実行すると、たとえば「#ツール活用 #資料作成」という1つのセルのデータは、「#ツール活用」と「#資料作成」の2行に分かれて書き出されます。整形後のデータは、ピボットテーブルを使って、ハッシュタグごとの表示回数の合計や平均を求められます。ただし、タグごとの数値の差は、投稿内容や投稿時期の違いも含んだ結果です。タグだけが原因だと決めつけず、傾向をつかむ材料として使いましょう。
関数がうまく動かない?ChatGPT Excel関数でよくあるエラーと対処法
ChatGPTが作った数式が動かない原因は、参照のずれ、範囲の誤認識、日本語の曖昧さ、Excelのバージョン差、データの型の不一致のいずれかであることが多く、順に切り分けると解決しやすくなります。
ChatGPTの数式が期待どおりに動かないのは、珍しいことではありません。原因は典型的ないくつかのパターンに分けられるため、パターンを知っておくと、自分で切り分けられる場面が増えます。この章では、5つのエラーケースと対処を説明します。エラー全般の調べ方は、Microsoftの数式のエラーを検出する方法にもまとめられています。
エラーケース1:セルの参照がずれている(絶対参照・相対参照)
生成された数式をオートフィル(下のセルへコピー)したときに、参照先がずれて、「#N/A」や「#REF!」などのエラー、あるいは間違った計算結果になることがあります。Excelの数式でよく起きるトラブルの一つで、原因は参照方法(相対参照と絶対参照)の違いにあります。
ChatGPTは、プロンプトの文脈から参照方法を推測します。指示が曖昧だと、意図と異なる参照方法で数式を作ってしまいます。たとえば「B2セルの値を基準に計算する」とだけ伝えると、相対参照(B2)で作られる可能性があります。この数式を下のセルにコピーすると、参照先もB3、B4と動いてしまいます。
税率や固定費のように、常に同じセルを参照したい場合は、「$B$2のように絶対参照で固定してください」とプロンプトに書きます。数式を作った後に自分で直すこともでき、数式バーで参照部分を選んでF4キーを押すと、参照の種類を切り替えられます。詳しくは相対参照、絶対参照、複合参照を切り替える方法で説明されています。
プロンプトで「絶対参照」「相対参照」「複合参照」を明記すると、参照ずれを防ぎやすくなります。リスト全体で共通の値を参照する場合は、「絶対参照で固定してください」という一言を添えましょう。
次の表は、4種類の参照方法の違いをまとめたものです(切り替えの操作は公式ページに記載があります)。数式をコピーしたときの動きを理解すると、ChatGPTへの指示も、自分での修正もしやすくなります。
| 参照の種類 | 書き方(例) | オートフィルでの動き | 主な用途 |
|---|---|---|---|
| 相対参照 | A1 |
行・列ともに動く | 各行で異なるセルを参照して計算したい場合(例:小計) |
| 絶対参照 | $A$1 |
行・列ともに固定される | 特定のセル(例:消費税率)を常に参照したい場合 |
| 複合参照(列固定) | $A1 |
列は固定、行は動く | 特定の列を基準に、各行で計算したい場合(例:料金表) |
| 複合参照(行固定) | A$1 |
列は動き、行は固定される | 特定の行を基準に、各列で計算したい場合(例:月別の目標) |
エラーケース2:ChatGPTがデータの範囲を誤認識している
VLOOKUPやSUMIFのように範囲を指定する関数では、集計範囲が実際のデータとずれていて、正しい結果にならないことがあります。特に、行数が日々増減する売上リストや名簿を扱っている場合に起きやすい問題です。
ChatGPTはあなたのExcel画面を見ていません。プロンプトに書かれた情報だけを頼りに、データの範囲を推測して数式を作っています。そのため、「商品リストからIDで在庫数を検索して」のような曖昧な指示では、リストが何行目まであるのかが分かりません。
対策は、シート名と具体的なセル範囲を書くことです。たとえば「シート『在庫一覧』のA2セルからC150セルまでの範囲で、A列の商品IDをキーにC列の在庫数を検索するVLOOKUP関数を作成してください」のように指定します。
データが増減する表では、Excelのテーブル機能の利用も検討してください。範囲を選んでCtrl+Tを押すとテーブルにでき、データを追加しても範囲に反映されやすくなります。作り方はMicrosoftのテーブルの作成に関するページで確認できます。
テーブルにすると、プロンプトも「商品マスタテーブルの在庫数の列を合計したい」のようにテーブル名で指示でき、数式の意味が読み取りやすくなります。テーブルの考え方は、Excelのテーブルの概要で説明されています。
エラーケース3:日本語特有の表現で誤解が生じている
自分では十分に伝えたつもりでも、ChatGPTが目的と異なる関数を返すことがあります。原因の一つが、日本語の曖昧な表現です。人間同士なら文脈で補える部分を、AIは補ってくれません。
たとえば「80点以上の生徒」は、人間にとっては80点を含む(80以上)と自然に読めます。一方で「80点を超える」は80点を含みません。「〜未満」「〜を超える」といった言葉の境目は、人によって解釈がずれやすいため、「80以上(80を含む)」のように書き添えると誤解を減らせます。
また、「東京支社の売上を合計して」のように主語や目的語を省略した依頼も、どの列が支社名で、どの列が売上なのかが分からず、数式を正しく作れません。「誰が(どの列が)」「何を(どの条件で)」「どうする(どの関数で)」を明確にしましょう。
解決策は、5W1Hを意識してプロンプトを作ることです。たとえば「D列の支店名が『東京』である行を対象に、F列の売上金額を合計するSUMIF関数を作成してください」のように、読み手が一通りにしか解釈できないところまで具体的に書くのがコツです。
エラーケース4:お使いのExcelのバージョンで関数が使えない
ChatGPTが提案した関数が、お使いのExcelでは使えないために、「#NAME?」などのエラーになることがあります。たとえばXLOOKUP関数は、Microsoft公式ページによるとExcel 2016とExcel 2019では使えません。IFS関数もOffice 2019以降、またはMicrosoft 365のサブスクリプションが必要です。
この場合は、プロンプトにExcelのバージョンを書き添えて、使える関数に絞った数式を依頼し直します。「Excel 2016で使える関数だけで書き直してください」と伝えれば、VLOOKUPやネストしたIF関数を使った案に直してもらえます。お使いのバージョンが分からないときは、ファイルのアカウント情報などで確認できます。
エラーケース5:数値や日付が文字列として保存されている
数式自体は正しくても、データ側に原因があることもあります。MicrosoftのVLOOKUP関数のページでも、数値や日付を文字列として保存しないこと、検索する列の前後に余分なスペースがないことが、想定外の値を避けるためのポイントとして挙げられています。
見た目は数字でも、セルの左側に寄っていたり、先頭に不要な記号が付いていたりする場合は、文字列として保存されているかもしれません。余分なスペースは、先ほどのTRIM関数で整えられます。次の表は、代表的なエラー値と、疑うべき原因の例をまとめたものです。
| エラー値 | 疑う原因の例 | 最初に確認すること |
|---|---|---|
| #N/A | 検索値が表に見つからない、データ型や余分なスペースの不一致 | 検索値と表の値が見た目でも中身でも一致しているか |
| #VALUE! | 数式の引数の型が合っていない(文字列と数値の混在など) | 参照しているセルに、文字列が入っていないか |
| #REF! | 参照先のセルが削除された、列番号が範囲の列数を超えている | 参照している範囲と列番号が、現在の表と合っているか |
| #NAME? | 関数名の入力ミス、またはバージョンで使えない関数 | 関数名の綴りと、お使いのExcelでの対応状況 |
| #DIV/0! | 0や空白のセルで割り算をしている | 分母のセルが0や空白になっていないか |
この表は、原因を絞り込むための入り口です。エラー値の意味は、Microsoftの#N/Aエラーの修正方法のほか、前述のエラー検出のページも参照してください。原因が分からないときは、エラー値、数式、データの例(個人情報を除いたもの)をChatGPTに貼って、「考えられる原因を可能性の高い順に挙げ、確認方法も教えてください」と質問する方法が有効です。
ChatGPT以外にExcel関数づくりで使えるAIツール
Excelの関数づくりに使えるAIは、ChatGPTのほかにも、Anthropic社のClaude、GoogleのGemini、MicrosoftのCopilotなどがあります。違いは得意不得意の優劣よりも、使う場所と契約、データの扱いにあります。
ChatGPTだけが選択肢ではありません。どのツールも、サービスの内容や提供範囲は更新されていきます。ここでは、ツールを選ぶときの見方を中心に整理し、具体的な機能や料金は、各社の公式ページで確認する前提で説明します。
| ツール | 使う場所 | 選ぶときの見方 |
|---|---|---|
| ChatGPT | ブラウザやアプリのチャット画面 | 数式案と解説を会話で受け取り、Excelへ貼り付けて確認する使い方に向く |
| Claude | ブラウザやアプリのチャット画面 | 長い説明や複数の条件を文章でまとめて渡し、整理してもらう使い方を試せる |
| Gemini | ブラウザやアプリのチャット画面、Googleのサービス | Googleスプレッドシートを主に使う場合は、Googleのサービス内での提供状況を確認する |
| Copilot | Excelのアプリの中 | ブックの中で直接使えるが、利用できる条件はMicrosoftの案内で確認する |
長い説明や複雑な条件を渡して整理したいときはClaude
Anthropic社のClaudeも、チャット形式でExcel関数やVBAのコード案を相談できるAIです。複数のシートや条件が絡む要件を、文章でまとめて渡し、整理してもらう使い方を試せます。
たとえば「シート1のA列にある取引先IDとシート2のB列の取引先IDを照合し、一致した場合にシート2のE列の購入金額を返す。ただし、シート1のC列の登録日が基準日以降の取引先に限り、該当しない場合は『対象外』と表示する」のような、入り組んだ要件を一度に渡して、数式案を比較する方法です。
どのAIでも、返ってきた数式の検証が必要な点は変わりません。同じ依頼を複数のツールに出して、出てきた数式を見比べると、思い込みによる見落としを発見しやすくなります。
Googleスプレッドシートを使うならGoogleのAIも候補
Googleスプレッドシートを主に使っている場合は、GoogleのGeminiも候補になります。スプレッドシートの拡張機能(Apps Script)のコード案を相談する使い方もあります。たとえば「フォームの回答がシートに追加されたら、その日時を別の列に記録する」といった処理の下書きを、文章で依頼できます。
ただし、Excelの数式とスプレッドシートの数式は、書き方や使える関数が異なる場合があります。ExcelでGeminiなどのチャットAIを使う場合は、チャット画面で数式案を受け取り、Excelへ貼り付けて確認する流れが基本です。シートの中で直接AIを呼び出せるかどうかは、サービスの提供状況によって変わるので、公式のヘルプで確認してください。
Excelのアプリ内で使えるMicrosoft Copilot
Microsoft Copilotは、Excelのアプリの中でAIに質問できる機能です。MicrosoftはExcelの右下隅にあるCopilotアイコンから開く方法をExcelでの使い始め方のページで案内しています。ブラウザのチャット画面とExcelを行き来する手間を減らせる点が、チャット型のAIとの違いです。
なお、セルの数式としてAIを呼び出せるCOPILOT関数については、Microsoftの公式ページに、2026年9月14日以降はExcelで使えなくなったと記載されています。古い解説記事の数式を見かけたときは、現在も使えるかどうかを公式ページで確認しましょう。Copilotを使える条件や提供状況は変わることがあるため、契約や利用環境は、Microsoftの案内で確かめてください。
ツールを選ぶときは、「どれが優れているか」よりも、「どこで使うか」「どんなデータを入力するか」「会社のルールで使ってよいか」の3点で決めると失敗が少なくなります。
Excel関数作成の精度を上げるプロンプトの工夫
Excel関数の依頼でプロンプトを工夫する要点は、範囲と条件を具体的に書くこと、制約条件と出力形式を指定すること、手順を分けて依頼すること、サンプルデータを添えることの4つです。
ChatGPTが返す数式は、プロンプトの書き方によって変わります。基本的な指示でも簡単な関数は作れますが、複雑な処理では、依頼の仕方で結果が大きく変わることがあります。ここでは、すぐに試せる4つの工夫を紹介します。いずれも、出力の質を保証するものではなく、意図とのずれを減らすための考え方です。
役割や前提を伝えて、回答の方向をそろえる
「あなたは経理担当者です」のように立場を伝える方法があります。役割の指定は、回答の言葉づかいや説明の粒度をそろえる目的で使うのが現実的です。役割を指定したからといって、数式の正しさが保証されるわけではありません。大切なのは、役割よりも「何をどうしたいか」の中身です。
【悪い例】
A列の売上からB列の経費を引いて、C列に利益を表示する関数を教えて。
【良い例:前提と要件を追加】
経理の集計を手伝ってください。次の要件を満たすExcel関数を作成してください。
#要件
・A列(売上)からB列(経費)を差し引いた金額をC列(利益)に表示する
・売上と経費のどちらかが空欄の場合は、利益も空欄にする
・計算結果がマイナスになる場合の表示方法は、書式設定で赤字にする方法を別に説明する
良い例では、空欄のときの動きと、マイナスになったときの扱いを明示しています。「こう動いてほしい」という要件を増やすほど、返ってくる数式が実際の表に近づきます。
制約条件と出力形式を指定する
「何をしたいか」だけでなく、「どう答えてほしいか」まで伝えると、やり取りの回数を減らせます。指定しておきたい項目は、使うExcelのバージョン、使う関数と使わない関数、エラー時の扱い、回答の形式などです。
【悪い例】
VLOOKUP関数で商品名を検索する関数を教えて。
【良い例:制約条件と出力形式の指定】
以下の制約条件と出力形式に従って、Excel関数を作成してください。
#制約条件
・ExcelのバージョンはMicrosoft 365を想定する
・VLOOKUP関数ではなく、XLOOKUP関数を使用する
・検索対象の商品コードが見つからない場合は、エラーではなく「該当なし」と表示する
#出力形式
1. コピーしてすぐに使えるExcel関数
2. その関数が行う処理の解説
3. 使用場面を想定した具体的なサンプル
出力形式に「処理の解説」を入れておくと、数式を貼り付ける前に、意図とのずれに気づきやすくなります。
複雑な処理は手順に分けて依頼する
複数の条件を組み合わせる処理を、一度にすべて依頼すると、条件の一部が抜け落ちることがあります。「ステップごとに考えてください」と伝え、数式を組み立てる過程を文章で書き出してもらうと、どこで食い違ったかを見つけやすくなります。
【悪い例】
A列が「食品」で、B列の売上が10000以上で、かつC列の担当者が「佐藤」であるデータの件数を数える関数を教えて。
【良い例:手順を分けて依頼】
次のタスクについて、考え方を順に書きながら、適切なExcel関数を導いてください。
#タスク
3つの条件(カテゴリ、売上、担当者)をすべて満たすデータの件数を数える関数を作成する。
#考える順序
1. 複数の条件を指定して件数を数えられる関数は何かを検討する。(例:COUNTIFS関数が候補になるか)
2. 1つ目の条件「A列が『食品』」を数式にどう入れるかを考える。
3. 2つ目の条件「B列が10000以上」を数式にどう入れるかを考える。
4. 3つ目の条件「C列が『佐藤』」を数式にどう入れるかを考える。
5. 1〜4を組み合わせて最終的な数式を示し、その仕組みを解説する。
手順を書き出してもらうと、なぜその関数(この例ではCOUNTIFS関数)が候補になるのか、各引数が何を意味するのかも一緒に確認できます。途中の考え方が間違っていたら、その箇所だけを指摘して直してもらえます。
サンプルデータと期待する結果を添える
プロンプトに、実際の表に近い形のサンプルデータと、期待する結果の例を添えると、セルの位置関係やデータの種類が伝わりやすくなります。次のように、数行の仮のデータを文章で書くだけでも効果があります。
次のような表があります(仮のデータです)。
A列:商品名 B列:カテゴリ C列:売上
りんご、果物、300
みかん、果物、200
牛乳、飲料、150
カテゴリが「果物」の売上合計を求めたいです。この表では結果が500になるようなExcel関数を教えてください。
期待する結果を数字で示しておくと、返ってきた数式の結果と照らして、正しいかどうかをその場で確かめられます。個人情報や社外秘のデータは、仮の値に置き換えて入力してください。
この記事で扱ったAI活用の実行順を整理してから試したい方へ。
AIとSNSの実践項目をまとめた特典を用意しています。案内先で内容を確認し、受け取る場合だけLINEから進めます。
ExcelにAIの機能を足すアドインの選び方と注意点
ExcelでAIを呼び出すアドインを選ぶときは、提供元、データの送信先、費用の発生方法、会社での利用可否の4点を事前に確認します。便利さだけで選ぶと、情報管理や費用の面で想定外が起きることがあります。
ChatGPTでの関数づくりに慣れてきたら、Excelの中で直接AIを呼び出すアドインに関心が向くかもしれません。ブラウザとExcelを行き来する手間は減らせますが、その分、確認すべきことが増えます。ここでは、特定の製品名には触れず、選ぶときの共通の見方を説明します。
アドインを選ぶ前に確認したい4つの観点
アドインはExcelに機能を追加する拡張で、提供元はMicrosoftのほか、外部の事業者であることも多くあります。導入前に次の観点を確認しましょう。
| 観点 | 確認すること | 確認先の例 |
|---|---|---|
| 提供元 | 誰が提供しているアドインか。更新が続いているか | アドインのストアの提供元の表示、公式サイト |
| データの送信 | セルのデータがどこへ送られ、どう扱われるか | アドインのプライバシーに関する説明、利用規約 |
| 費用 | アドイン自体の料金のほか、AIの利用に応じた従量課金が別に発生しないか | 提供元の料金ページ |
| 会社のルール | 社内で外部サービスの導入や、データの外部送信が許可されているか | 情報システム担当、セキュリティの規程 |
この表の4つの観点のうち、特に重要なのはデータの送信です。アドインを使うと、Excelのセルの内容が外部のサーバーに送られることがあるためです。
導入の流れと、使い始める前の準備
Officeアドインは、Excelの「挿入」タブにある「アドインを入手」から探して追加するのが一般的な流れです。画面の名称はバージョンによって異なる場合があるので、詳細はMicrosoftの案内で確認してください。
追加したあとは、いきなり本番のデータで試さず、仮のデータで動作を確認します。たとえば、数行のレビュー文を使って、分類の結果が意図に近いかを確認する、という使い方です。AIの出力は、毎回同じ結果になるとは限りません。大量の行に一括で適用する前に、少数の行で出力のばらつきを見ておきましょう。
費用の発生
アドイン自体が無料でも、AIを呼び出すたびに別の利用料が発生する仕組みのものがあります。処理する行数が多いほど費用が増えるため、条件を事前に確認してください。
情報の取り扱い
セルの内容が外部に送信される場合、個人情報や社外秘のデータを含めてよいかは、会社のルールと提供元の説明で確認します。
出力の確認
AIの出力が正確とは限りません。重要なデータでは、人が内容を確認する工程を残してください。
セキュリティに関わる判断は、個人だけで決めず、会社の担当部署と連携して進めるのが安全です。便利さだけに目を向けず、リスクの管理もセットで考えましょう。
AI×SNS運用の実務で、Excelスキルを活かす場面
SNS運用の実務でExcelとChatGPTを組み合わせる場面は、数値の集計とレポート作成の下準備、データにもとづく改善案の根拠づくり、AIの提案を仮説として検証する作業の3つです。
ここまでの内容は、SNS運用のレポート作成や分析にも応用できます。SNSの運用を仕事として請け負う場合も、自分のアカウントを伸ばしたい場合も、数値を整理して根拠を示す力は役に立ちます。この章では、収入などの成果を約束するものではなく、実務での使い方を整理します。
レポートの下準備にExcelとChatGPTを使う
SNS運用では、成果を数値で共有するレポートが求められる場面があります。SNSの管理画面から書き出した数値をExcelにまとめ、期間別の集計や投稿タイプ別の平均を出す作業は、前の章で紹介した関数がそのまま使えます。
たとえば「このデータから投稿タイプ別の平均反応率を計算し、グラフにするExcelの手順を教えてください」とChatGPTに依頼すると、数式の案と、グラフの作り方の説明を受け取れます。グラフの種類や見せ方は、読み手が知りたいことに合わせて自分で決めましょう。
レポートで大切なのは、数字を並べることよりも、「何を見てほしいのか」を一言で説明できることです。ChatGPTには、数式づくりだけでなく、レポートの構成案を出してもらう使い方もできます。
データにもとづく改善案の根拠をつくる
改善案を提案するときは、感覚ではなくデータを根拠にすると、相手に伝わりやすくなります。数か月分の投稿データをExcelにまとめたうえで、ChatGPTに「反応率が高い投稿に共通する特徴の候補を挙げてください」と依頼する方法があります。
ただし、ChatGPTが挙げる特徴は、あくまで仮説です。たとえば「平日の夜の投稿」「リール形式」「質問を投げかけるキャプション」といった候補が挙がったとしても、それが成果の原因だとは限りません。元のデータで本当にその傾向があるか、投稿の本数は十分か、他の要因が影響していないかを、Excelの集計で確かめてください。
曜日や時間帯別に集計する場合は、ピボットテーブルが役立ちます。ピボットテーブルの作り方を忘れたときは、ChatGPTに手順を質問すれば、画面の操作を順に説明してもらえます。操作を覚えること自体が目的ではなく、集計の結果から次の施策を考えることが目的です。
AIの提案を鵜呑みにせず、検証して使う
AIを使うと下書きは早く用意できますが、最終的な判断は人が担います。AIの提案を試し、結果を数値で見て、次の手を決める。この繰り返しの中でAIを使うのが、無理のない活用の形です。
データの扱いにも注意が必要です。SNSアカウントの管理画面の数値や、取引先から預かった資料を入力する際は、取り決めやルールの範囲内かを確認してください。AI活用全般のルールづくりに関心がある方は、業務で生成AIを使う前に確認する項目をまとめた記事も参考になります。
AIを仕事を奪う存在としてではなく、作業を手伝う道具として位置づけ、確認と判断を自分で担う。この姿勢が、Excelでの関数づくりにも、SNS運用にも共通する土台です。
ChatGPTを使ったExcel関数作成スキルのまとめ
この記事では、ChatGPTを使ってExcel関数を作る方法を、基本の3ステップ、15個のプロンプトテンプレート、VBA、エラー対処の順に説明しました。最後に、要点を振り返ります。
これまでの要点をおさらい:ChatGPTでExcel関数を作る3つのステップ
ChatGPTをExcel作業の相談相手にするための要点は、次の3つです。
1つ目は、目的の明確化と具体的な指示出しです。使うセル範囲、達成したい目的、満たすべき条件を言語化します。「このセルの値を参照して、この条件に合致したら計算する」という形で、日本語の下書きを作るところから始めます。
2つ目は、生成された数式のテストと修正です。AIの数式は正しいとは限りません。少量のデータでテストして、期待どおりの結果が得られるかを確認する習慣をつけましょう。エラーが出たら、エラーメッセージをコピーしてChatGPTに貼り付け、原因の候補を聞くのが、基本的なデバッグの流れです。
3つ目は、応用と発展への意識です。基本の関数に慣れたら、VBAやマクロにも挑戦できます。繰り返しの作業をまとめて実行できるようになりますが、実行前のバックアップと、コードの内容の確認を忘れずに行ってください。
ChatGPTを使ったExcel関数作成の要点は、「①明確な指示」「②テストと修正」「③応用への挑戦」の3つです。まずは簡単な関数から試し、結果を自分の目で確かめる流れに慣れていきましょう。
Excel作業で変わる「覚える」と「伝える」の比重
ChatGPTのようなAIが使えるようになると、関数の構文を覚えることの比重は少し軽くなり、「やりたいことを正確に言葉にする力」の比重が高まります。VLOOKUPやINDEX、MATCHといった関数を組み合わせる場面でも、実現したい処理を日本語で説明できれば、数式の案を得られます。
とはいえ、関数の基本的な仕組みを理解していなければ、AIの数式が正しいかどうかを判断できません。参照の考え方やエラー値の意味といった基礎知識は、AIを使う時代にも必要です。AIは「理解を助ける道具」であり、「理解の代わり」ではありません。
AIとの対話では「何を」「なぜ」「どのように」を伝える
AIに依頼するときは、部下に仕事を任せる場面に近い考え方が役立ちます。「何を」「なぜ」「どのように」を伝え、必要に応じてフィードバックを返して軌道を修正する。この対話の力は、Excelに限らず、文章作成や調べ物など、AIを使うあらゆる場面で通用します。
最初から細部まで整った指示を目指す必要はありません。最初は短い依頼から始め、返ってきた数式を見て、足りない条件を追加していく進め方で十分です。この記事で紹介したテンプレートも、自分の表に合わせて書き換えながら、少しずつ使いやすい形に育ててください。
ChatGPTに、機密情報や個人情報を含むExcelデータをそのままアップロードしたり、プロンプトに貼り付けたりするのは避けてください。サンプルデータを使うか、具体的な値をダミーに置き換えて質問しましょう。情報を守る意識も、AI活用に欠かせないスキルです。
この記事で扱ったAI活用を読んだ次の実践項目を決める方へ。
AIとSNSの実践項目をまとめた特典を用意しています。案内先で内容を確認し、受け取る場合だけLINEから進めます。
ChatGPTとExcel関数の作り方に関するよくある質問(FAQ)
ChatGPTでExcel関数を作るときによくある質問と、その考え方をまとめました。
- Q1. ChatGPTが作った関数がExcelでエラーになる場合、どうすればいいですか?
- 原因は主に、プロンプトの曖昧さ、参照のずれ、Excelのバージョン差、データの型の不一致のどれかです。まず、どのセル範囲を対象にし、どの条件で処理したいのかを、より具体的に指示し直してみてください。次に、エラーメッセージと数式をそのままChatGPTに貼り付け、「原因として考えられることと確認方法を教えてください」と質問する方法が有効です。また、古いバージョンでは使えない関数(たとえばXLOOKUP)が使われているケースもあります。「Excel 2016で使える関数で書き直してください」のようにバージョンを伝えると、互換性の問題を避けやすくなります。
- Q2. ExcelのVBAマクロもChatGPTで作成できますか?
- はい、VBAのコード案もChatGPTに相談できます。繰り返しの作業をまとめる処理から、複数のシートをまたぐ集計まで、処理手順を日本語で具体的に伝えると、コードの下書きを受け取れます。例えば「シート1のA列の取引先リストを、重複を除いてシート2のB列にコピーし、五十音順に並べ替える」のような依頼です。ただし、VBAは関数より複雑なため、一度で意図どおりに動くとは限りません。実行前にはファイルのバックアップを取り、コピーしたファイルで動作を確認してください。エラーが出た場合は、エラー内容を貼り付けて、対話しながら修正していきます。
- Q3. 複雑な条件の関数を依頼するときのコツはありますか?
- 処理を分解して、段階ごとに指示を出す方法が役立ちます。「まず表から該当の行を絞り込み、次に金額を合計し、最後に小数点以下を丸める」のように、手順を箇条書きで示してください。また、実際の表に近い形のサンプルデータと、期待する結果の例を添えると、セルの位置関係やデータの種類が伝わりやすくなります。上級者向けには、処理の流れを自然な文章で書いた擬似コードを自分で用意して渡す方法もあります。ロジックの骨格を人が作り、数式への変換をChatGPTに任せる分担です。
- Q4. 無料プランと有料プランで、関数の作成に違いはありますか?
- 利用できるモデルや機能はプランや時期によって異なり、更新もされます。そのため、この記事では特定のモデル名やプランごとの精度の差は断定しません。お使いの画面のモデル選択と、OpenAIの公式の案内で、現在の提供内容を確認してください。一般に、複雑な条件の数式ほど、どのモデルでも結果の検証が重要になります。プランごとの違いを整理した通常利用と無料版の違いをまとめた記事も参考にしてください。
- Q5. 日本語のデータ(氏名など)を扱う関数も問題なく作れますか?
- 日本語の文字列を扱う関数も、ChatGPTに相談できます。姓と名の分割、住所からの都道府県名の抽出、全角と半角の変換といった処理が対象です。注意したいのは、文字数とバイト数の違いです。文字数を数えるLEN関数と、バイト数を数えるLENB関数があるため、プロンプトでは「文字数」なのか「バイト数」なのかを明記してください。「A列の氏名から、スペース以降の名だけを抽出する関数」のような具体的な依頼なら、FIND、RIGHT、MIDなどを組み合わせた数式案が返ってきます。
- Q6. ChatGPTに関数を覚えさせて、次回以降も同じように作ってもらうことはできますか?
- 会話をまたいで指示を引き継ぐ手段として、ChatGPTにはカスタム指示などの設定機能があります。提供状況や使える範囲はプランや時期で変わるため、お使いの画面で確認してください。たとえば「Excelはバージョンを指定して使っている。数式は解説付きで出す」のような決まりごとを登録しておけば、毎回同じ前提を入力する手間を減らせます。設定の具体例は、カスタム指示の設定例をまとめた記事で紹介しています。
- Q7. 生成された関数の著作権は誰に帰属しますか?
- 生成物の権利の扱いは、サービス提供元の利用規約に定められています。規約は改定されることがあるため、利用する時点の規約を、提供元の公式ページで確認してください。また、一般的な関数の組み合わせは、既存のコードと似てしまうことがあり得ます。独自性の高い処理を作らせた場合は、仕事で使う前に類似のものがないかを確認すると安心です。生成AIと著作権の基本的な考え方は、生成AIと著作権の確認ポイントをまとめた記事で整理しています。
- Q8. 会社の機密情報を含むデータをChatGPTに貼り付けても安全ですか?
- 機密情報や個人情報は、原則として貼り付けない運用をおすすめします。入力したデータの扱いは、サービスやプラン、設定によって異なり、変更されることもあります。利用中の画面のデータに関する設定と、提供元の公式の説明、そして会社の情報管理のルールを、先に確認してください。どうしても実データに近い状況で相談したい場合は、氏名や金額をダミーの値に置き換えるなど、元のデータが特定されない形にしてから入力しましょう。
次に読みたい関連記事
このテーマの全体像: ChatGPTを使いこなすための総合ガイド

