はじめての生成AI
【業務活用】Excelの関数やマクロの書き方を質問する
やりたいことは決まっているのに、関数名が出てこない
「特定の条件に当てはまる行にだけ印を付けたい」。やりたいことははっきりしているのに、それを実現する関数の名前が思い出せない。検索しても、出てくる解説は自分のシートと列の並びが違っていて、そのまま使えない。Excel でつまずくのは、たいていこの一点です。
生成 AI に相談すると、この順番がひっくり返ります。関数名から入る必要がなく、やりたいことを日本語で書けば、そのまま貼れる式が返ってきます。関数を覚えることと、Excel で仕事をすることは別物になったと考えてください。
列に何が入っているかを書く
ただし、「条件に合うものに文字を表示させる関数を教えて」とだけ聞くと、汎用的な説明が返ってきて、結局自分のシートに合わせて書き換える羽目になります。AI はあなたのシートを見ていないので、当然です。
渡すべき情報は次の 3 つです。データの構成(どの列に何が入っているか)、処理の条件(どうなったときに何をするか)、期待する結果(最終的にどう表示したいか)。この 3 つが揃うと、セル番地まで入った、そのまま貼れる式が返ってきます。
プレーンテキスト
Excel で売上管理をしています。
A 列に日付、B 列に商品名、C 列に単価、D 列に数量が入っています。
2 行目からデータが始まります。
E 列に、商品名が「リンゴ」で、かつ数量が 10 個以上の行だけ「重点販売」と表示し、
それ以外は空欄にする数式を教えてください。
数式の意味も 1 行ずつ解説してください。解説まで頼むのがコツです。仕組みが分かっていれば、条件が変わったときに自分で直せます。分からないまま貼った式は、翌月には触れなくなります。
エラーメッセージは、そのままコピーして貼る
マクロも同じ考え方で頼めます。自動化したい作業を、順番どおりに箇条書きで書くだけです。「データシートの A 列から C 列をコピーする」「新しいシートを作って名前をバックアップにする」「終わったら完了メッセージを表示する」のように、人に説明する言葉で並べれば、そのまま動くコードが返ってきます。
問題はここからです。実行するとエラーが出る。ここで多くの人が諦めますが、エラーが出たときこそ AI の出番です。表示されたエラーメッセージを、一字一句そのままコピーして貼り付けてください。 「エラーが出ました」と伝えるだけでは、AI は何が起きたか分かりません。
プレーンテキスト
先ほどのコードを実行したら、次のエラーが出ました。
(ここにエラーメッセージをそのまま貼る)
原因と、修正したコードを教えてください。エラー文には、どの行で何が起きたかが書かれています。それを渡せば、AI は原因を特定して直したコードを返します。この往復を繰り返すだけで、プログラミングを学ばないまま自動化を進められます。
本物のデータは貼らず、コピーで試す
最後に、業務で使うときの守るべき線を 2 つ挙げます。
ひとつは、顧客名や実際の売上金額といった本物のデータを貼り付けないことです。相談したいのはデータそのものではなく、シートの構造とやり方です。「商品名」「金額」のような一般的な言葉に置き換えても、返ってくる式は変わりません。
もうひとつは、返ってきた式やコードを、必ずコピーしたファイルで試すことです。AI の回答が常に正しいとは限りませんし、マクロは元に戻す操作が効きません。本番のファイルでいきなり実行すると、取り返しがつかないことがあります。動作を確かめてから本番に持ち込んでください。
復習ミニクイズ
Excelのマクロ(VBA)作成をAIに依頼し、生成されたコードを実行したところエラーが出てしまいました。このとき、レッスンの内容に基づいた最も適切な対処法はどれですか?