ChatGPTでExcel関数を一瞬で作る方法|VLOOKUPもIFも日本語で指示するだけ
Excel関数が苦手でも大丈夫。ChatGPTに「〇〇したい」と日本語で伝えるだけで、VLOOKUP・IF・SUMIFS・XLOOKUPどんな関数も一瞬で作ってくれます。
はじめに:Excel関数、正直しんどくないですか?
VLOOKUPの引数って何個だっけ?IFのネストが3段になった途端に意味不明になる。SUMIFSの条件範囲の順番、毎回Googleで調べてる……。
こういうExcelあるあるで時間を無駄にしてきた人は多いはず。僕もその一人だった。でも今は違う。ChatGPTに「〇〇したいんだけど」と日本語で話しかけるだけで、関数が一瞬で出てくる。
「Excel関数を覚える時代」は終わった。「AIに作ってもらう時代」が来た。
この記事でわかること
- ChatGPTでExcel関数を自動生成する具体的な手順
- VLOOKUP・IF・SUMIFS・XLOOKUPを日本語指示で作るコピペOKプロンプト4選
- 生成した関数が動かないときのデバッグプロンプト
- 売上管理・勤怠管理・在庫管理での実例
なぜChatGPTでExcel関数を作ると楽になるのか
従来の作業フロー
- やりたいことを考える(例:「A列の名前に対応するB列の値を取得したい」)
- 関数名を思い出す・Googleで検索する
- 引数の順番を調べる
- セル範囲を指定する
- エラーが出たらまた調べる
- 動かないまま30分経過……
ChatGPT活用後のフロー
- ChatGPTに「A列の名前でSheet2のB列から値を引きたい」と日本語で伝える
- 関数が出てくる
- セルに貼り付けて完成
所要時間:30分 → 1分。
⏱ 時短効果:30分 → 1分
プロンプト①:基本の関数生成(XLOOKUP)
やりたいことを日本語で書くだけでOK。ポイントは「データ構造」と「Excelバージョン」を明示すること。
以下の状況でExcel関数を作ってください。
【やりたいこと】
A列に社員番号があります。Sheet2のA列に社員番号、B列に氏名が入っています。
A列の社員番号に対応する氏名をB列に表示したいです。
【条件】
・Excelのバージョン:Microsoft 365(XLOOKUP使用可)
・一致しない場合は「該当なし」と表示
・シート名:Sheet1(作業用)、Sheet2(マスタデータ)
関数を提示し、各引数の意味も簡単に説明してください。
ChatGPTの出力例:
=XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B, "該当なし")
A2:検索する社員番号Sheet2!A:A:検索する範囲(マスタの社員番号列)Sheet2!B:B:返す値の範囲(マスタの氏名列)"該当なし":見つからなかった場合の表示文字列
プロンプト②:複雑な条件分岐(IFS関数)
ネストしたIF関数はもう書かなくていい。条件を日本語で箇条書きにして渡すだけ。
以下の条件でExcel関数を作ってください。
【やりたいこと】
従業員の評価をつけたい。B列に売上金額、C列に達成率(%)が入っている。
評価ルール:
- 売上150万円以上 かつ 達成率120%以上 → 「S評価」
- 売上100万円以上 かつ 達成率100%以上 → 「A評価」
- 売上100万円以上 または 達成率100%以上 → 「B評価」
- それ以外 → 「C評価」
D2セルに評価を表示する関数を、IFSやIFを使ってシンプルに作ってください。
B列は円単位で入っています(例:1500000)。
プロンプト③:VLOOKUP vs XLOOKUP vs INDEX+MATCH の使い分け
バージョン不明なときも、全パターン出してもらえる。
以下の状況で使えるExcel関数を3種類(VLOOKUP、INDEX+MATCH、XLOOKUP)で提示してください。
【状況】
・商品コードで商品名と単価を別シートから取得したい
・A列に商品コード(2行目から)
・マスタシート「商品マスタ」のA列に商品コード、B列に商品名、C列に単価
・B列に商品名、C列に単価を表示したい
Excelのバージョンが古い環境も考慮して、それぞれの書き方と使い分けの基準を説明してください。
プロンプト④:デバッグ用(エラーが出たとき)
関数が動かないときはエラーメッセージごとChatGPTに渡す。
以下のExcel関数でエラーが出ています。原因と修正方法を教えてください。
【関数】
=XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B)
【エラー内容】
#N/A(一部のセルだけエラーになる)
【状況】
・Sheet2のA列に商品コードが入っている
・一部の商品コードはSheet2に存在しない
・エラーの場合は空白にしたい
実例:よく使う場面
売上管理表
「前月比の計算」「目標達成率」「条件付き書式の設定条件式」などをChatGPTに丸投げ。数値計算には山田ツールの計算ツールも活用できる。
勤怠管理
「残業時間の計算(7.5時間超えた部分だけ)」「祝日を除いた営業日数のカウント(NETWORKDAYS.INTL)」など。
在庫管理
「発注点以下になったら『要発注』と表示」「FILTER関数で条件を満たす行だけ抽出」など。集計後のデータはCSV変換ツールでいつでもCSV形式に変換できる。
注意点
- セル参照の絶対参照:コピー時にずれる場合は「$A$1形式の絶対参照にして」と追加指示
- 日本語シート名:「シート名は『売上データ』(日本語)です」と明示するとエラーが減る
- 動作確認は必須:AIが作った関数は必ずサンプルデータで確認してから本番データに適用
FAQ
Q: ChatGPTが作った関数は信頼してOK? A: 基本的には正確ですが、必ず実データで動作確認を。複雑な条件が絡む場合はいくつかのパターンでテストを。
Q: Google スプレッドシートでも使える? A: 使えます。プロンプトに「Google スプレッドシート用でお願いします」と明示してください。
Q: VBAマクロも作ってもらえる? A: もちろん。ChatGPTでExcelマクロを自動生成する方法で詳しく解説しています。
Q: Excelのバージョンが古い場合は? A: プロンプトに「Excel 2016対応(XLOOKUPは使えません)」と明示すれば対応したものを生成してくれます。
まとめ
- プロンプトには「やりたいこと」「データ構造」「Excelバージョン」の3つを明示するのがコツ
- エラーが出たらエラー内容ごとChatGPTに渡せば解決策が出る
- 「Excel関数を覚える」より「AIに作ってもらう」が2026年のスタンダード