☆初心者向け☆ChatGPTに関数を作らせよう!業務効率化の第一歩【Excel/スプレッドシート】
Check!
- ChatGPTに”どのように"指示を出せば意図した関数を作ってくれるかがわかる
- ポイントに従うだけで自分でChatGPTに指示を出せるようになる
- 指示文(プロンプト)のテンプレートを紹介
ChatGPTが登場して久しいですが、自身の業務に行かせている方はどれほどいるでしょうか?今回は、エクセルやGoogleスプレッドシートの関数を”うまく”作らせるためにどのような指示を出せばいいのかを紹介していきます。特に、「自分で関数を作ることが苦手だ」という方に向けて紹介をしていきます。
※本記事ではGoogleスプレッドシートを利用して解説をします。エクセルでも変わりません。
ChatGPTに関数を作らせて業務を効率化するポイント3つ
ポイント①思ったより色々できることを知る
初心者の方にとって実は一番重要なのはこれかもしれません。エクセルやスプレッドシートの関数(以降は単に「関数」と書きます)以前の問題ですが、まず第一には”思っている以上に色々できる”ということを知りましょう。
ChatGPTに関数を作らせることと直接の関係はありませんが、「この単純作業は関数でできないかな?」と関数の利用を考えることが、関数利用の第一歩です。関数を自作できない人は、自分の業務を関数で置き換える発想がないことが多いです。
単純作業を繰り返している時には「この業務は関数でラクできるのでは?」と思えるようになることが重要な第一歩です。
ポイント②誤解が生じないようエクセル/スプレッドシートの用語を知る
AIに指示を出す際に意図を正しく汲み取ってもらうためには、解釈の違いが生じないように明確な指示を出すことが重要になります。そのために、最低限の用語を押さえておきましょう。用語と言っても全く難しくありません。以下のような感じでしょうか。
- シート:一つのファイル内に複数のワークシートが含まれており、それ1枚1枚のこと。
- セル:1マス1マスのこと
- セル番地:セルの位置を指定する識別子
例)A3:A列3行目のセル、F12:F列12行目のセル
もちろん、用語自体はもっとたくさんありますが、指示を出すためには最低限上記内容を押さえておけば問題ないでしょう。
ポイント③状況説明と依頼内容に分けて指示を出す
ChatGPTに依頼を出す時、ChatGPTは「どんなシートにどんなデータがまとまっているのか」を知りません。まずはそこを明らかにした上で、具体的に何をしてほしいのか指示を出しましょう。
それでは以下で具体例を利用しながら解説していきます。
具体的に指示を出してみた
それでは早速具体例を用いながら解説をしていきます。なお、以下データを利用します。
ChatGPTに関数を作らせよう!業務効率化の第一歩【Excel/スプレッドシート】
↑実際に使用したスプレッドシートです
今から提示する4つの例ではもちろんあらゆる活用法を網羅できるわけではありません。しかし、「こんな感じで指示を出せば良いのか」という感覚を掴んでいただけると思います。
具体例①指定した都道府県の人口データをG列以降に抜き出してみる
紹介したポイントに従って指示文を作成します。
特定の都道府県の総人口を抜き出す関数を作ってみましょう。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:都道府県データ
- 参照データの説明:
- A列:順位
- B列:都道府県
- C列:総人口
- D列:平均年齢
- E列:人口増減率
[指示内容]
G列に都道府県名を記入するので、該当する都道府県の総人口をH列に抜き出したい
※関数をコピーする必要がある場合、絶対参照・相対参照に注意して関数を作成してください。
結果は以下の画像の通り
例えば、G列に大阪府と入力すると確かに「8,837,685」を抜き出すことができました。
基本的にこのような要領で好きな関数を作ることができます。
具体例②特定の条件に合致するデータを抜き出す
今度は特定の条件を満たす都道府県を抜き出す関数を作ってみましょう。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:都道府県データ
- 参照データの説明:
- A列:順位
- B列:都道府県
- C列:総人口
- D列:平均年齢
- E列:人口増減率
[指示内容]
J列に、以下の条件を満たす都道府県を抽出してください。
- 人口増加率が0以上
- 総人口が100万人以上
- 平均年齢が46歳以上
※関数をコピーする必要がある場合、絶対参照・相対参照に注意して関数を作成してください。
結果は以下の画像の通り
今回は条件に合うものが千葉県だけでした。
具体例③シートをまたいでデータを参照する
今度は少し複雑な指示を出してみましょう。参照するシートが複数枚ある時は、[状況説明]で全てを説明しましょう。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:都道府県データ
- 参照データの説明:
- 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に頼らずに関数を組める方が業務効率が高いことの方が多いと思うので、どんどん自分のものにしていきましょう。
例えば、
=IFERROR(‘都道府県データ’!C2 / VLOOKUP(A2, ‘都道府県面積’!B:C, 2, FALSE), “”)
という関数について質問をすると以下のように詳細を教えてくれます。(長い!笑)
活用法②GASを作成させる
GoogleスプレッドシートにはGoogleAppsScript(GAS)という機能が備わっており、関数ではできないような操作もGASを利用することでこなすことが可能になります。
GASを作成させると、関数に比べてエラーが発生する頻度も高まるのですが、自分でゼロから記述するよりよっぽどラクなので大枠を作成させて細かい点を自分で修正する、という使い方がベストでしょう。そもそもGASの使い方が全くわからない、という方には正直なところ難しいです。
その他知っておくべき基本事項
ChatGPTに関数を作成させる上では必要ないですが、作ってもらった関数をよりうまく活用する、関数のエラーを見つける、ために知っておくべき基本事項を列挙すると例えば以下のようなものがあります。
- オートフィル
- 相対参照/絶対参照/複合参照
- 日付や時刻はシリアル値
例)2024/1/1→45292、2024/1/2→45293、2024/1/3→45294
上記内容について、ピンとこない方はぜひ一度調べておきましょう。
指示文(プロンプト)テンプレ
今回利用した指示文を一例として以下に掲載しておきます。
[状況説明]に説明するスプレッドシートで作動する関数を作成してください。
具体的な指示内容は[指示内容]に記載します。
[状況説明]
- シート名:
- 参照データの説明:
- A列:
- B列:
- C列:
- D列:
- E列:
- シート名:
- 参照データの説明:
- A列:
- B列:
- C列:
[指示内容]
※関数をコピーする必要がある場合、絶対参照・相対参照に注意して関数を作成してください。