ChatGPTにExcel関数を作ってもらう方法|SUMIFSの指示例と検算手順

目次
ChatGPTにExcel関数を作ってもらうときは、列の位置と計算条件を具体的に伝え、少量のデータで検算してから業務表へ移します。「売上を集計して」だけでは、確定前の売上や対象外の日付まで含む式ができても気付きにくくなります。
この記事では、担当者・状態・期間の条件をすべて満たす金額をSUMIFSで合計する例を使います。実データを渡さなくても依頼できるプロンプト、数式の読み方、結果が合わないときの切り分けを紹介します。例の売上と担当名はすべて架空です。
依頼前にExcelの環境と集計の意味を決める
バージョンと列の役割を伝える
同じExcelでも、利用環境により使える関数や画面が異なります。まず「Windows版Excel 2021」「Microsoft 365のMac版」など、実際に使う環境を確認します。この記事の中心となるSUMIFSは、Microsoft公式ページでExcel 2016、2019、2021、2024、Microsoft 365などの適用先が示されています。SUMIFSの公式説明
ChatGPTには、見出し行、データの開始行と終了行、各列の意味、数式を入れるセルを伝えます。シート名がある場合も省略しません。表の画像だけでは型や空白が伝わりにくいため、列の説明を文章で添えると確認しやすくなります。
合計対象と例外を分ける
売上額なら、税込・税抜のどちらか、取消行を含むか、返品のマイナス金額を差し引くかを決めます。日付も受注日・請求日・入金日では結果が変わります。分からない条件をAIに決めさせず、業務担当者へ確認してから数式にします。
業務データの持ち出しが認められていない場合は、列名と架空の数行だけで相談します。顧客名、口座情報、個人の評価などを含むブックを、数式作成のためだけに丸ごと入力する必要はありません。
SUMIFSで集計する練習用の表を作る
新しいシートのA1:D7へ、次の見出しと6行を入力します。金額は円単位の数値です。A列はExcelが計算に使える日付・日時として入力してください。
以下は4列のタブ区切りデータです。見出し行からコピーしてA1へ貼り付けます。列が分かれない場合は、Excelの区切り位置の設定でタブ区切りを選ぶか、各列へ入力してください。
売上日時 担当 状態 金額
2026/9/1 営業A 確定 12000
2026/9/15 営業A 確定 18000
2026/9/30 18:00 営業A 確定 5000
2026/9/20 営業A 取消 9000
2026/9/25 営業B 確定 7000
2026/10/1 営業A 確定 11000条件欄としてH2に「営業A」、H3に「2026/9/1」、H4に「2026/10/1」を入力します。G2:G4には「対象担当」「期間開始」「期間終了・含めない」とラベルを付けると、翌月の更新時にも意味が分かります。H3とH4も文字列ではなく日付にします。
今回求めるのは「営業A、確定、9月1日以上かつ10月1日未満」の合計です。対象は2・3・4行目なので、手計算は12000+18000+5000=35000円になります。この期待値を、AIから答えを受け取る前に控えておきます。
そのまま使える関数作成プロンプト
以下の内容を、自分の表に合わせて変更します。
Excelで使う数式を作ってください。
環境:Windows版Excel 2021
データは同じシートの2~100行目。1行目は見出しです。
A列:売上日時。Excelの日付・時刻の数値です。
B列:担当名。文字列です。
C列:状態。「確定」または「取消」です。
D列:金額。数値で、返品は負数として入力します。
H2:集計する担当名
H3:集計期間の開始日
H4:集計期間の翌月初日。この日時は含めません。
H6に、次の条件をすべて満たすD列の合計を表示します。
・B列がH2と一致
・C列が「確定」
・A列がH3以上、H4未満
SUMIFSを使い、参照範囲と条件セルは固定してください。
数式、引数の意味、想定されるデータ不備、検算方法を示してください。
不明な条件は推測せず質問してください。OpenAIも、目的と背景を明確に伝え、出力を見ながら指示を調整する方法を案内しています。今回は「合計を作る」に加え、対象期間の境界と例外を言語化するのがポイントです。OpenAIのプロンプト作成ガイド
得られた数式を引数ごとに確認する
上の条件に対応する数式例は次のとおりです。
=SUMIFS($D$2:$D$100,$B$2:$B$100,$H$2,$C$2:$C$100,"確定",$A$2:$A$100,">="&$H$3,$A$2:$A$100,"<"&$H$4)先頭のD2:D100が合計対象です。その後は「条件を調べる範囲」と「条件」の組が続きます。B列がH2の担当、C列が確定、A列が開始日以上、A列が終了日未満という四つの条件は、すべて満たす必要があります。SUMIFSは、条件のどれか一つに該当すればよいOR集計とは異なります。
「>=」などの比較記号は引用符で囲み、&で日付セルとつなぎます。$は参照を固定する記号です。担当者別一覧へコピーする場合は担当条件の行だけ動かす設計もできますが、今回の練習では条件欄を一か所に固定しています。
月末は翌月初日未満で判定する
9月30日までを「<=2026/9/30」で指定すると、日付がその日の0時を表し、同日18時の行を含められないことがあります。日時が混在する表では、開始日以上・翌月初日未満という範囲が分かりやすくなります。
H3に「=DATE(2026,9,1)」、H4に「=DATE(2026,10,1)」を入力する方法もあります。DATEは年月日から日付のシリアル値を作る関数です。DATEの公式説明
合計額と対象件数の両方を検算する
まずH6が35000になり、手計算と一致するか確認します。次に、対象が3件かをCOUNTIFSで調べます。合計が偶然一致していても、取消と返品を間違って相殺している可能性があるためです。
=COUNTIFS($B$2:$B$100,$H$2,$C$2:$C$100,"確定",$A$2:$A$100,">="&$H$3,$A$2:$A$100,"<"&$H$4)COUNTIFSは、範囲内で複数条件を満たす件数を数えます。COUNTIFSの公式説明
練習用コピーで、次の変更も試しましょう。変更は一つずつ行い、その都度元に戻します。
H2を営業Bにする:合計7000円、対象1件になる
H2を存在しない担当名にする:合計0円、対象0件になる
4行目を10月1日0時にする:合計30000円、対象2件になる
8行目に9月28日・営業A・確定・-2000を追加する:合計33000円、対象4件になる
追加行の金額を0にする:合計35000円、対象4件になる
0円の行がある場合も、条件に合う件数は増えます。「合計が0だから対象データがない」と判断しないようにします。元表の件数・金額・対象行を確認できれば、数式の検算記録として残せます。
結果が合わないときの確認順
0になる場合は型と表記を調べる
日付らしく見えても、文字列として保存されていることがあります。空いているセルで「=ISNUMBER(A2)」「=ISNUMBER(D2)」を確認し、日付列・金額列が数値かを調べます。ただしTRUEでも、正しい日付や金額が入っている証明にはならないため、元データとの照合も必要です。
担当名の末尾の空白や「確定」と「確定済」の違いも見ます。表示形式を日付や数値へ変えるだけでは、文字列が変換されない場合があります。原本を残して原因を特定し、業務上の意味を確認してから整えます。
エラーになる場合は範囲と入力を確認する
合計範囲と各条件範囲の開始行・終了行を揃えます。D2:D100に対してB2:B99など、範囲の大きさが違わないかを見ます。全角の括弧や引用符が混ざっていないか、数式が文字列として入力されていないかも確認してください。
エラーを消すためだけにIFERRORで0へ置き換えると、誤った集計を見逃しやすくなります。ChatGPTへ再質問するときは、実際の式、表示されたエラー、架空サンプル、期待する35000という値をセットで伝えると原因を絞れます。
業務表へ移す前のチェックリスト
同じ列名でも内容や金額の単位が変わっていない
日付・日時・文字列の区別を確認した
対象件数と手計算の合計を照合した
月初・月末・取消・負数・0円の例を試した
100行目を超えるデータ追加への対応を決めた
誰が条件セルを変更し、誰が結果を確認するか決めた
固定範囲の例は101行目以降を集計しません。継続利用では範囲を適切に広げるか、Excelテーブルを使う設計を検討します。まずは小さな表で正しい意味を確認し、その後に更新しやすい形へ進めてください。
AIへの指示づくりとExcelでの検証を業務に取り入れたい場合は、Miyabeeのリスキリング支援をご覧ください。