☆初心者向け☆ChatGPTに関数を作らせよう!業務効率化の第一歩【Excel/スプレッドシート】

Check!
- ChatGPTに”どのように"指示を出せば意図した関数を作ってくれるかがわかる
- ポイントに従うだけで自分でChatGPTに指示を出せるようになる
- 指示文(プロンプト)のテンプレートを紹介
ChatGPTが登場して久しいですが、自身の業務に行かせている方はどれほどいるでしょうか?今回は、エクセルやGoogleスプレッドシートの関数を”うまく”作らせるためにどのような指示を出せばいいのかを紹介していきます。特に、「自分で関数を作ることが苦手だ」という方に向けて紹介をしていきます。
※本記事ではGoogleスプレッドシートを利用して解説をします。エクセルでも変わりません。
目次
開く
閉じる
開く
閉じる
ChatGPTに関数を作らせて業務を効率化するポイント3つ
エクセルやGoogleスプレッドシートでは、関数を使うことでより効果的にデータを管理できます。しかし、この関数の設定が苦手だという方も多いことでしょう。
実は、人気の生成AIサービスであるChatGPTは、関数の作成にも活用することもできます。本記事では、その方法についてご紹介します。まずは事前に知っておきたいポイントを確認しましょう。

ChatGPTとは?できることや始め方、メリット・デメリットを解説
ChatGPTとは、2022年11月に公開されたAIチャットサービスです。誰でも無料で利用でき、人間のような自然な受け答えができることから話題となりました。本記事では、ChatGPTのメリット・デメリット、始め方、有料版と無料版の違いなどについて解説します。
\気になる項目をクリックで詳細へジャンプ/
ChatGPTに関数を作らせて業務を効率化するポイント3つ
ポイント①関数で思ったより色々できることを知る
初心者の方にとって実は一番重要なのはこれかもしれません。エクセルやスプレッドシートの関数(以降は単に「関数」と書きます)以前の問題ですが、まず第一には”思っている以上に色々できる”ということを知りましょう。
ChatGPTに関数を作らせることと直接の関係はありませんが、「この単純作業は関数でできないかな?」と関数の利用を考えることが、関数利用の第一歩です。関数を自作できない人は、自分の業務を関数で置き換える発想がないことが多いです。
単純作業を繰り返している時には「この業務は関数でラクできるのでは?」と思えるようになることが重要な第一歩です。
ポイント②エクセル/スプレッドシートの用語を正しく把握する
AIに指示を出す際にこちらの意図を正しく汲み取ってもらうためには、解釈の違いが生じないように明確な指示を出すことが重要になります。そのために、最低限の用語を押さえておきましょう。用語と言っても全く難しくありません。以下のような感じでしょうか。

- シート:一つのファイル内に複数のワークシートが含まれており、それ1枚1枚のこと。
- セル:1マス1マスのこと
- セル番地:セルの位置を指定する識別子
例)A3:A列3行目のセル、F12:F列12行目のセル
もちろん、用語自体はもっとたくさんありますが、指示を出すためには最低限上記内容を押さえておけば問題ないでしょう。
ポイント③状況説明と依頼内容に分けて指示を出す
ChatGPTに依頼を出す時、ChatGPTは「どんなシートにどんなデータがまとまっているのか」を知りません。まずはそこを明らかにした上で、具体的に何をしてほしいのか指示を出しましょう。
それでは以下で具体例を利用しながら解説していきます。
具体的に指示を出してみた
それでは早速具体例を用いながらChatGPTでのエクセル関数(今回はGoogleスプレッドシートで代用)の作り方解説をしていきます。なお、本記事では以下のデータを利用します。
ChatGPTに関数を作らせよう!業務効率化の第一歩【Excel/スプレッドシート】
↑実際に使用したスプレッドシートです

これをもとに、以下4つのケースで関数をChatGPTに作らせてみます。もちろん、これら4つの例ではあらゆる活用法を網羅できるわけではありません。しかし、「こんな感じで指示を出せば良いのか」という感覚を掴んでいただけると思います。
具体例①指定した都道府県の人口データをG列以降に抜き出してみる
冒頭で紹介したポイントに従って指示文を作成します。
特定の都道府県の総人口を抜き出す関数を作ってみましょう。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:都道府県データ
- 参照データの説明:
- A列:順位
- B列:都道府県
- C列:総人口
- D列:平均年齢
- E列:人口増減率
[指示内容]
G列に都道府県名を記入するので、該当する都道府県の総人口をH列に抜き出したい
※関数をコピーする必要がある場合、絶対参照・相対参照に注意して関数を作成してください。
結果は以下の画像の通り


例えば、G列に大阪府と入力すると確かに「8,837,685」を抜き出すことができました。
基本的にこのような要領で好きな関数を作ることができます。
具体例②特定の条件に合致するデータを抜き出す
今度は特定の条件を満たす都道府県を抜き出す関数を作ってみましょう。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:都道府県データ
- 参照データの説明:
- A列:順位
- B列:都道府県
- C列:総人口
- D列:平均年齢
- E列:人口増減率
[指示内容]
J列に、以下の条件を満たす都道府県を抽出してください。
- 人口増加率が0以上
- 総人口が100万人以上
- 平均年齢が47歳以上
※関数をコピーする必要がある場合、絶対参照・相対参照に注意して関数を作成してください。
結果は以下の画像の通り


今回は条件に合うものが千葉県だけでした。
具体例③シートをまたいでデータを参照する
今度は少し複雑な指示を出してみましょう。参照するシートが複数枚ある時は、[状況説明]で全てを説明しましょう。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:都道府県データ
- 参照データの説明:
- A列:順位
- B列:都道府県
- C列:総人口
- D列:平均年齢
- E列:人口増減率
- シート名:都道府県面積
- 参照データの説明:
- A列:順位
- B列:都道府県名
- C列:面積(平方km)
[指示内容]
「シート名:都道府県データ」のF列に、B列の都道府県に対応した都道府県面積を
「シート名:都道府県面積」から引っ張る。F2に関数を記入する。
※関数をコピーする必要がある場合、絶対参照・相対参照に注意して関数を作成してください。
結果は以下の画像の通り


確かにF2に東京都の面積を引っ張ることができました。
あとはこの関数をコピーすることで47都道府県分の都道府県面積を抽出できます。

今回は、関数をコピーして使用することまでChatGPTが丁寧に指示してくれました。
実際にコピーしてみると以下の通りうまくいきました。

具体例④色々まとめて指示を出してみる
いくつかまとめてやりたいことがある場合、すべての指示を出した上で、一つの関数である必要はない旨を明記することで目的を達成することができます。
今度は少し複雑な指示を出してみましょう。複雑な指示になる場合は目的などをより明確に伝えるとうまくいきやすいです。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:都道府県データ
- 参照データの説明:
- A列:順位
- B列:都道府県
- C列:総人口
- D列:平均年齢
- E列:人口増減率
- シート名:都道府県面積
- 参照データの説明:
- A列:順位
- B列:都道府県名
- C列:面積(平方km)
[指示内容]
シート名:「都道府県ごと人口密度」以下の表を作りたい。
- 「シート名:都道府県データ」にまとまっている都道府県名をA2以降に記入。
- B2以降に人口密度を記入。
- 最後に人口密度が高い順に並び替え。
※1つの関数である必要はないので、手順をまとめてください。
※関数をコピーする必要がある場合、絶対参照・相対参照に注意して作成してください。
結果は以下の画像の通り


指示の通り関数を貼り付け並び替えをした結果うまくいきました。

関数を自分で組める人から見ると、少々不自然な部分もあるのですが、自力で組めない人からしたら十分有益ですね。
ChatGPTのさらなる活用法を考える
「ChatGPTにエクセル/スプレッドシートの関数を作らせる」ということに関しては、以上で解説した要領で行うことができますが、ここからはさらに一歩踏み込んだ使い方についても解説していきます。
\気になる項目をクリックで詳細へジャンプ/
ChatGPTのさらなる活用法
活用法①関数の解説をさせる
作成してもらった関数の仕組みを解説してもらうことで、自分自身の関数に対する理解を深めることができます。
ChatGPTに頼らずに関数を組める方が業務効率が高いことの方が多いと思うので、どんどん自分のものにしていきましょう。
例えば、
=IFERROR(‘都道府県データ’!C2 / VLOOKUP(A2, ‘都道府県面積’!B:C, 2, FALSE), “”)
という関数について質問をすると以下のように詳細を教えてくれます。(長い!笑)




解説してもらいたい関数を明示したうえで、「この関数の仕組みを教えてください」「この関数の動作を解説してください」といった聞き方をすると良いでしょう。
活用法②GASを作成させる
GoogleスプレッドシートにはGoogleAppsScript(GAS)という機能が備わっており、関数ではできないような操作もGASを利用することでこなすことが可能になります。
GASを作成させると、関数に比べてエラーが発生する頻度も高まるのですが、自分でゼロから記述するよりよっぽどラクなので、大枠を作成させて細かい点を自分で修正する、という使い方がベストでしょう。ただし、そもそもGASの使い方が全くわからない、という方には正直なところ難しいです。


参考:Google Apps Script: Google Workspace を自動化、統合、拡張。
活用法③VBAのマクロを作成させる
エクセルでは、「マクロ」と呼ばれる機能を使って作業の自動化を行うことができます。マクロは、VBA(Visual Basic for Applications)というプログラミング言語を用いて作成されます。
マクロを作成するにはVBAの理解が必要なので一定程度の専門知識が求められますが、ChatGPTを活用することで、初心者でも簡単に、そして上級者もより手間を削減してマクロを作成することができます。
活用法④「AI関数」を使う
「ChatGPT for Excel」というエクセルのアドイン(拡張機能)を使うと、エクセルとChatGPTを連携させて、7つのAI関数を利用できるようになります。
例えば、コンテンツを異なる言語に翻訳する「AI.TRANSLATE関数」、データを指定のフォーマットに変換する「AI.FORMAT関数」、テキストから必要なデータを抽出する「AI.EXTRACT関数」、データの欠落箇所を補完する「AI.FILL関数」などがあります。
その他知っておくべき基本事項
ChatGPTに関数を作成させる上では必要ないですが、作ってもらった関数をよりうまく活用したり、関数のエラーを見つけたりするために知っておくべき基本事項があります。例えば以下のようなものです。
- オートフィル
- 相対参照/絶対参照/複合参照
- 日付や時刻はシリアル値
例)2024/1/1→45292、2024/1/2→45293、2024/1/3→45294
上記内容について、ピンとこない方はぜひ一度調べておきましょう。
指示文(プロンプト)テンプレ
今回利用した指示文を一例として以下に掲載しておきます。必ずしもこのプロンプトを使う必要はありませんが、ぜひ参考にしてください。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:
- 参照データの説明:
- A列:
- B列:
- C列:
- D列:
- E列:
- シート名:
- 参照データの説明:
- A列:
- B列:
- C列:
[指示内容]
※関数をコピーする必要がある場合、絶対参照・相対参照に注意して関数を作成してください。
まとめ
文章の生成・要約・翻訳、プログラミングやデータ分析など、さまざまな用途で使えるChatGPTは、エクセルやGoogleスプレッドシートの関数作成にも活用することができます。
ChatGPTに日本語でどのような関数を作ってほしいか指示を与えるだけで簡単に関数を作れるので、特に関数に苦手意識を持つ方にとっては非常に便利です。本記事を参考にニーズに合った関数を作成し、エクセルやスプレッドシートでの作業を効率化させましょう。