この章で学ぶこと
Excelやスプレッドシートは、多くの職場で日常的に使われるツールです。 「この集計をする関数を教えて」とAIに聞けば、数式がすぐ返ってきます。 ところが、その数式が自分の表の形に合っているとは限りません。
この章では、表計算の業務を題材に、次の3つを練習します。
- 列構成とサンプル行を渡して、AIが表の形を推測しなくてよくする
- 「こうなってほしい」という結果の例を、入出力の例として見せる
- AIが出した数式を、検算で確かめる
第1章の5要素(目的・入力・制約・出力形式・検証)は、この章でも使います。 素材はすべて架空のデータです。実務で使うときは、氏名・金額・取引先名などを伏せるかダミーに置き換えてから貼ってください。 本コースは実務練習用の教材です。AIの出力は必ず人が検証してください。
このユースケースが起きる場面
月次の売上集計、名簿の整理、申請データのチェック。 表計算の作業は、ミスが数字に直結します。AIを使うと、次の失敗が起きます。
- 列の構成を伝えていないので、AIが「A列が部門、B列が金額」のように推測して数式を作る
- 空欄や0、表記ゆれなど、実データの例外に対応していない
- 数式は動くが、範囲がずれていて、一部のデータが集計から漏れる
数式の間違いは、目で見ても気づきにくいのが厄介です。 だからこそ、依頼の段階で表の形を渡し、出力の後に検算するという設計が必要になります。
プロンプト設計シート(再掲)
**目的**:誰に・何のために・何を作るか
**入力**:AIに渡す素材は何か(機密は伏せたか)
**制約**:やってはいけないこと・守るルール
**出力形式**:表・箇条書き・文字数など
**検証**:出力が正しいか、何と突き合わせるかこの章では、「入力」に列名とサンプル行、「出力形式」に数式と説明と検算方法を入れるのが基本です。
実例:条件つきで売上を合計する
状況と素材
あなたは営業課の事務担当です。 営業課の9月の売上表から、「営業2課の、9月3日以降の売上」の合計を出したいと考えています。
この売上表は、ZIPの中のExcelファイル(「売上明細」シート)と同じものです。ダウンロードして、実際に試せます(下の「練習用のサンプルファイル」を参照)。
A列:日付 B列:部門 C列:担当 D列:売上(円) ※1行目は見出し、2〜7行目がデータ
(Excelファイルには、E列に「取引先」もあります。問2で使います)
日付 部門 担当 売上(円)
2026/9/1 営業1課 山田 120000
2026/9/1 営業2課 井上 80000
2026/9/2 営業1課 中村 45000
2026/9/3 営業2課 井上 60000
2026/9/3 営業1課 山田 30000
2026/9/4 営業2課 佐藤 95000悪い指示とその失敗
売上を条件つきで合計する関数を教えて。返ってくるのは、たとえば次のような回答です。
SUMIF関数を使います。=SUMIF(A:A, “営業2課”, B:B) のように入力してください。
失敗が2つあります。
- 部門がB列で、売上がD列であることを、AIは知らないので、列を勝手に仮定している
- 「9月3日以降」という日付の条件が、まったく反映されていない
表の形を渡していないので、AIは一般的な例を示しただけです。
改善したプロンプト
あなたはExcelの数式に詳しい担当者です。以下の売上表から、指定の条件で合計を求める数式を作ってください。
**目的**
営業2課の、9月3日以降の売上の合計を出す。
**入力**
Microsoft Excel。表の構成は次のとおり(1行目は見出し、データは2〜7行目)。
A列:日付、B列:部門、C列:担当、D列:売上(円)
(サンプル行を貼る)
**制約**
- 上の表の列構成と行の範囲に合わせた数式を作る。列を推測しない
- 日付は日付型として扱う。文字列の比較にしない
- 数式は、1つのセルに入れる形にする
**出力形式**
1. 数式
2. 数式の説明(各引数が、何を指しているか)
3. 検算の方法(手計算で確かめる手順と、期待される結果)AIの出力と、人が確認した点
数式:
=SUMIFS(D2:D7, B2:B7, "営業2課", A2:A7, ">="&DATE(2026,9,3))説明:D2:D7が合計する売上、B2:B7が「営業2課」の条件、A2:A7が9月3日以降の日付の条件。
検算:営業2課の行で、9月3日以降は「9/3 井上 60000」「9/4 佐藤 95000」の2件。60000+95000=155000 が期待される結果。
人が確認する点は、次のとおりです。
- 実際にセルに入力し、結果が155000になるか
- 「9/1 井上 80000」(9月3日より前)が含まれていないか
- 日付の列が、Excel上で日付型として認識されているか(左寄せの文字列でないか)
AIに「検算の方法と期待される結果」を出させておくと、数式が正しいかを、手元ですぐ確かめられます。
設計メモ:なぜこの書き方か
| 要素 | 実例での書き方 | 効いた理由 |
|---|---|---|
| 目的 | 「営業2課の、9月3日以降の合計」 | 条件が2つあることが、明確になる |
| 入力 | 使うソフトと、列の構成・行の範囲・サンプル行 | AIが表の形を推測しなくて済む |
| 制約 | 「列を推測しない」「日付は日付型」 | よくある間違い(文字列比較)を防ぐ |
| 出力形式 | 数式・説明・検算方法 | 人が動作を確かめられる材料が揃う |
| 検証 | 期待される結果(155000)と手計算 | 数式の誤りを、その場で発見できる |
表計算では、「サンプルデータ+期待する結果」を渡すのが最強の指示です。 AIは、例が与えられると、それに合う式を組み立てやすくなります。
先に、シートの設計をAIと決める
表計算でAIを使うとき、依頼の文章より大切なことがあります。 それは、行と列に、どんな項目を入れるかを、先に決めておくことです。
人が読みやすい表と、AIや数式が扱いやすい表は、形が違います。
| 人が読みやすい表 | AIや数式が扱いやすい表 | |
|---|---|---|
| 形 | 担当者が行、月が列の集計表(クロス集計) | 1行に1件のデータを、縦に並べた表 |
| 見出し | 結合セルや、複数行の見出しがある | 見出しは1行だけ。列名は、毎回同じ |
| 空行・装飾 | 見やすくするための空行や色がある | 空行や結合セルがない |
この章の実例の売上表は、右側の「1行に1件」の形です。 入力するシートは、AIや数式が扱いやすい形にして、報告用に人が読むシートは、別に作るのが基本です。
AIは、特に指示しなくても、人が読みやすい表に直してくれることが多くあります。 それでも、縦と横に何を入れるかを決めておかないと、AIはレイアウトに迷います。 出力の指示に、次のように書いておくと安定します。
**出力形式**
行:担当者、列:月、セルの中身:売上の合計(円)
の集計表にする。合計の行と列も付ける。応用:自動集計のシートを、AIと一緒に設計する
「営業課の売上を、自動で集計したい」と考えたとき、いきなり数式やマクロを作るのは遠回りです。 先に、どんなシートを作るかを、AIと決めます。
営業課の売上データを自動集計するシートを作りたい。
必要な要素と数字を表計算に落とし込むとしたら、どんな設計になる?
まず大雑把な設計を出して。あとで私が確認してから、データを入力する。この依頼を、Claude Codeで試した結果の要点は、次のとおりです(実行のたびに出力は変わります)。
- 5枚のシート構成が提案された:マスタ、売上明細、月次集計、目標対比、ダッシュボード
- 入力は「売上明細」だけにして、ほかのシートは数式で自動計算する、という方針だった
- 売上明細は、1件を1行にして、日付・担当者・顧客名・商品・数量・単価・売上金額・年月・備考の列を持つ形だった
- 最後に、AIから6つの質問が返ってきた:使うツール(ExcelかGoogleスプレッドシートか)、集計の切り口、税込か税抜か、期間(暦年か年度か)、目標値の有無、担当者数と月あたりの件数
ここで大切なのは、AIが設計を出すと同時に、自社の条件を質問してきたことです。 質問に答えれば、設計が自社向けに調整されます。
設計が固まったら、次に、入力する項目を絞ります。 手元にある営業データの様式(サンプルを数行)をAIに見せて、次のように頼みます。
これが、今の当社の売上データの様式(サンプル数行)です。
先ほどの設計に合わせて、入力するのは必要最低限の項目だけにしたい。
項目の削り方と並べ方を、理由つきで提案してください。このように、AIと対話しながら、レイアウトと入力する項目を整えていくのが、最も確実な進め方です。
決算書や月次報告のような最終的な様式が同じでも、日々の売上データに含まれる項目は、会社ごとに違います。 AIの設計は、あくまで雛形です。自社のデータの様式に合わせて、柔軟に調整してください。
練習問題
進め方は全問共通です。
- 素材を読み、プロンプト設計シートの5要素を自分で埋める(AIはまだ使わない)
- 埋めた内容をもとにプロンプトを書き、普段使うAIで実行する
- 出力をルーブリックで自己採点する
- 解説を開き、自分の設計と比べる
練習用のサンプルファイル(Excel)
この章の実例と、問1〜問4は、すべて営業課の売上データで練習します。 そのデータを、Excelファイルにして、ZIPにまとめました。
ch5-sample-files.zip をダウンロード(約6KB)- 必要な人だけ、ダウンロードして使ってください
- ご自身の職場の実際のファイルで練習する場合は、このZIPは必要ありません。その場合は、氏名や金額などを、伏せてから使います
- ZIPの中には、説明のREADME.txtと、Excelファイル(ch5-sales-sample.xlsx)が入っています
- Excelファイルには、2つのシートがあります
- 「売上明細」:営業課の9月の売上(6行)。実例・問1・問2・問4で使います
- 「前月比」:担当者別の8月と9月の売上(4行)。問3で使います
- Googleスプレッドシートで使う場合は、Googleドライブにアップロードして開きます
売上明細シートは、次のとおりです(E列の取引先を含みます)。 文字を貼り付けても、セルに分かれないので、Excelファイルを使うのが確実です。
日付 部門 担当 売上(円) 取引先
2026/9/1 営業1課 山田 120000 株式会社ミナト商会
2026/9/1 営業2課 井上 80000 (株)北斗商事
2026/9/2 営業1課 中村 45000 ミナト商会(株)
2026/9/3 営業2課 井上 60000 北斗商事 株式会社
2026/9/3 営業1課 山田 30000 株式会社北斗商事
2026/9/4 営業2課 佐藤 95000 ホクト商事問1 担当者別の売上を集計する
状況:上の売上表から、担当者別の売上合計を求める表を作ります。
成果物:担当者別の合計を出す数式(山田・井上・中村・佐藤の4人分)と、検算の方法。
ルーブリック(自己採点)
- 数式が、表の列構成(C列が担当、D列が売上)に合っている
- 実際に試して、山田150000、井上140000、中村45000、佐藤95000になった
- 4人の合計が、表全体の合計(430000)と一致することを確認した
- プロンプトに、列構成とサンプル行を含めた
- 数式を、下の行にコピーしても崩れないよう、範囲の固定($)について指示または確認した
よくある失敗と解説
シンプルな問題ですが、ここで範囲の固定が重要になります。 数式を下の行にコピーすると、範囲もずれていくことがあります。 たとえば、D2:D7をD$2:D$7のように固定しないと、2人目以降の集計で範囲がずれて、データが漏れます。
プロンプトの制約に、「数式は下の行にコピーしても正しく動くようにする」と入れてください。 検算は、「担当者別の合計を足した数」と「表全体の合計」の一致で行います。 この照合は、集計の漏れを見つけるための、基本的な方法です。
問2 表記ゆれのあるデータを、整える
状況:売上明細の「取引先」の名前が、入力する人によって、バラバラになっています。取引先ごとの売上を集計するために、表記を統一します。
成果物:表記を統一する方法(数式または変換表)と、取引先ごとの売上合計、検算の方法。
売上明細のE列(取引先、2〜7行目)を使います。統一する正式名は、次の2つです。
株式会社ミナト商会
株式会社北斗商事
E2:株式会社ミナト商会
E3:(株)北斗商事
E4:ミナト商会(株)
E5:北斗商事 株式会社
E6:株式会社北斗商事
E7:ホクト商事ルーブリック(自己採点)
- 「元 → 正式名」の対応を、入出力の例としてプロンプトに含めた
- 元のデータ(E列)は残し、別の列に変換結果を出す方法にした
- 6行のうち、5行は数式で正式名に統一され、7行目の「ホクト商事」だけが、数式では直らない例外として挙げられた
- 7行目は、対応表(「ホクト商事」→「株式会社北斗商事」など)で対応する方針にした
- 統一後の取引先ごとの合計が、ミナト商会165,000円、北斗商事265,000円になった
- 2社の合計(430,000円)が、表全体の合計と一致することを確認した
- 大量のデータの場合は、AIに全行を直接変換させず、変換のルール(数式や変換表)を作らせる方針にした
答え合わせ用:正解の数字
| 行 | 元の取引先 | 統一後 | 売上(円) |
|---|---|---|---|
| 2 | 株式会社ミナト商会 | 株式会社ミナト商会 | 120,000 |
| 3 | (株)北斗商事 | 株式会社北斗商事 | 80,000 |
| 4 | ミナト商会(株) | 株式会社ミナト商会 | 45,000 |
| 5 | 北斗商事 株式会社 | 株式会社北斗商事 | 60,000 |
| 6 | 株式会社北斗商事 | 株式会社北斗商事 | 30,000 |
| 7 | ホクト商事 | 株式会社北斗商事(対応表で統一) | 95,000 |
- ミナト商会の合計:120,000+45,000=165,000円
- 北斗商事の合計:80,000+60,000+30,000+95,000=265,000円
- 2社の合計:430,000円(表全体の合計と一致)
- ルールだけで統一して、7行目を「要確認」のままにすると、北斗商事は170,000円になり、2社の合計は335,000円になります。表全体(430,000円)と95,000円の差が出るので、7行目の漏れに気づけます
よくある失敗と解説
表記ゆれの修正で、最もやってはいけないのは、数百行のデータを、AIに直接貼って変換させることです。 行が多いと、AIは一部を飛ばしたり、勝手に書き換えたりします。しかも、気づきにくい。
安全な進め方は、次のとおりです。
- 数行のサンプル(入力と、期待する出力の例)をAIに渡す
- 「この変換を実現する数式(またはルール)を作って」と頼む
- 数式を、自分の表の全行に適用する
AIには、全行を処理させず、「処理のルール」を作らせます。 ルールを自分のシートで実行すれば、結果が再現でき、確認もできます。
今回の例には、7行目の半角カナ「ホクト商事」のように、ルールで直せない行があります。 全角にそろえても、「ホクト商事」で、「北斗商事」とは別の文字列です。 カナから漢字への対応は、数式では判定できません。
このような例外は、対応表(変換表)を別に作るほうが確実です。 この問題を、AIで試したところ、5行は数式で直り、7行目だけを「数式では直せない。同一の取引先かどうかは、人が判断する」と、正しく分けて示しました。 対応表を作る案と、件数や売上の整合を確かめる検算まで、提案していました。
取引先ごとの合計の検算では、2社の合計が、表全体の合計と一致するかを見ます。 例外を見落とすと、この照合で、食い違いとして現れます。
問3 前月比を計算し、注意が必要な行に印を付ける
状況:担当者別の売上の、前月比を出します。前月比が-10%以下の場合は、「要確認」と表示させたいと考えています。
成果物:前月比の数式と、「要確認」の判定の数式。分母が0のときの扱いも決める。
Excelファイルの「前月比」シートを使います。9月の売上は、問1で求めた担当者別の合計と同じです。
担当者 8月 9月
山田 120000 150000
井上 130000 140000
中村 60000 45000
佐藤 0 95000(A列が担当者、B列が8月、C列が9月。1行目は見出し、2〜5行目がデータ。佐藤さんは、9月に営業課へ配属されたため、8月の売上は0円です)
ルーブリック(自己採点)
- 前月比が、山田+25.0%、井上+7.7%(約)、中村-25.0%になった
- 中村さんだけが、「要確認」と表示された
- 佐藤さん(前月0円)で、エラー(#DIV/0!)にならず、「前月0円のため算出不可」などの表示になった
- 前月比の計算式を、自分で確認した((9月-8月)÷8月)
- プロンプトに、「分母が0の場合の扱い」を、制約として入れた
- 9月の売上が、問1で求めた担当者別の合計(山田150,000、井上140,000、中村45,000、佐藤95,000)と一致することを確認した
答え合わせ用:正解の数字
| 担当者 | 計算 | 前月比 | 判定 |
|---|---|---|---|
| 山田 | (150,000-120,000)÷120,000 | +25.0% | (なし) |
| 井上 | (140,000-130,000)÷130,000 | +7.7%(約) | (なし) |
| 中村 | (45,000-60,000)÷60,000 | -25.0% | 要確認 |
| 佐藤 | 前月が0円 | 前月0円のため算出不可 | (なし) |
よくある失敗と解説
この問題の核心は、例外の扱いです。 佐藤さんの8月は0円なので、そのまま割ると、エラー(#DIV/0!)になります。
AIに何も伝えずに依頼すると、エラーになる数式が返ってくるか、あるいはIFERRORで「エラーを黙って隠す」数式が返ってきます。 エラーを隠すと、なぜ計算できなかったのかが分からなくなります。
制約に、「前月が0円の場合は、『前月0円のため算出不可』と表示する」のように、どうしてほしいかを書いてください。 AIが数式を作る前に、「他に考慮すべき例外はありますか」と聞かせるのも有効です。 空欄、マイナス、文字列の混入など、AIが気づいた例外を、事前に洗い出せます。
この問題を、AIで試したところ、次のような数式が返ってきました。
前月比:=IF(B2=0,"前月0円のため算出不可",(C2-B2)/B2)
判定 :=IF(ISNUMBER(D2),IF(D2<=-0.1,"要確認",""),"")IFERRORを使わず、0の場合をIFで分けていたので、ほかの原因のエラーは隠れずに表示されます。 検算として、各行の期待される結果の一覧と、境界の値(ちょうど-10%)で判定が変わるかの確認方法も、提案されていました。 この2つの数式を、実際に計算して確かめたところ、上の答え合わせの表と、すべて一致しました。
問4 AIが出した数式の、誤りを見抜く
状況:同僚がAIに作らせた、部門別合計の数式が、あなたに回ってきました。チェックを頼まれています。
成果物:数式の誤りの指摘と、検算の方法、AIに修正させるプロンプト。
対象の表は、Excelファイルの「売上明細」シートです(2〜7行目がデータ、B列が部門、D列が売上)。
AIが作った数式:
営業1課の合計:=SUMIF(B2:B6, "営業1課", D2:D6)
営業2課の合計:=SUMIF(B2:B6, "営業2課", D2:D6)ルーブリック(自己採点)
- 範囲が、2〜6行目までになっており、7行目(営業2課 佐藤 95000)が漏れていることを指摘できた
- 営業1課は195000で正しく、営業2課は140000(正しくは235000)になることを確認した
- 営業1課の結果だけを見ていたら、誤りに気づけなかったことを理解した
- 「各部門の合計を足した数」と「表全体の合計(430000)」を照合する検算を、自分で設計した
- 修正のプロンプトに、表の範囲(2〜7行目)と、期待する結果(195000と235000)を含めた
よくある失敗と解説
この誤りの怖いところは、一部の結果だけは、正しく見えることです。 営業1課は、範囲から漏れた7行目が営業2課の行だったので、たまたま正しい値になります。 1つだけ確認していたら、誤りに気づけません。
検算は、次の方法で行います。
- すべての部門の合計を、足す(195000+140000=335000)
- 表全体の合計(430000)と、照合する
- 一致しなければ、どこかの範囲が漏れていると、判断できる
修正を依頼するときは、正しい範囲と、期待する結果を渡します。
以下の数式は、範囲がずれている可能性があります。売上表の範囲は2〜7行目です。
**期待する結果**
営業1課:195000、営業2課:235000
**依頼**
1. 数式の誤りを指摘してください
2. 修正した数式を出してください
3. 修正後、2つの部門の合計が、表全体の合計(430000)と一致することを確認する手順も示してくださいプロンプト設計の確認問題
ここまでの内容を、選択式で確認しましょう。
問1. 「売上を条件つきで合計する関数を教えて」とAIに聞いたところ、自分の表の列と合わない数式が返ってきた。最も大きな原因はどれか。
問2. 数百行の取引先名の表記ゆれを統一するときの進め方として、最も適切なものはどれか。
問3. 前月比の計算で、前月の値が0の行があり、割り算のエラーが出る可能性がある。プロンプトでの対応として最も適切なものはどれか。
問4. AIが作った部門別合計の数式が、範囲の漏れを含んでいないかを確認する検算として、最も適切なものはどれか。
繰り返し使う制約は、AIに登録して短くする
この章のプロンプトは、制約を毎回書き込む形で練習しました。 同じ業務を繰り返すなら、変わらない制約は、AIにあらかじめ登録しておくことで、依頼を短くできます。
この章で登録しておくとよいのは、使うソフト(Excel/スプレッドシート)、空欄や0などの例外時の扱い、検算の方法を出力させる指示です。 ChatGPT・Claude・Geminiでの登録手順は、生成AIに社内ルールを覚えさせるスキル設定のやり方で解説しています。 登録しても、最終確認は人が行うことに変わりはありません。
自分の職場に置き換える
この章の型を、自分の仕事に当てはめます。
- 普段使っている表を1つ選び、集計や整理でやりたいことを1つ決める
- 実際のデータを使う場合は、氏名・金額などを、ダミーに置き換えた5〜10行のサンプルを作る
- 「サンプル行」と「期待する結果」を書き、AIに数式を作らせる
- 出力された数式で、期待する結果と一致するかを確かめる。一致しなければ、その結果をAIに伝えて修正させる
仕上げに、S.E.L.F.ループの「F(Forge it)」として、数式が、何をしているかを、自分の言葉で説明してみてください。 説明できない数式は、他の人が引き継げません。
応用編:入力そのものを、自動化する
データを入れるシートを作っても、毎回手で入力していては、以前と効率が変わりません。 営業データや経費の計算では、入力の手間そのものを、自動化することも考えられます。
たとえば、次のような流れです。
- 領収書や明細を、スマートフォンで撮影して、社内のクラウドやチャットツール(Slackなど)の、決まった場所にアップロードする
- 決まった時刻になると、スクリプトが、新しい写真を集める
- OCR(画像の中の文字を読み取る技術)で、日付や金額などの数字だけを取り出す
- 取り出した数字を、シートの決まった列に、1行ずつ追加する
- 人が、読み取り結果を確認する
画像から数字を読み取る方法は、大きく2つあります。
| 方法 | 良い点 | 注意点 |
|---|---|---|
| 生成AIに、画像を直接読ませる | 様式がバラバラでも、柔軟に読める | 画像が多いほど、利用量が増えて、費用がかさむことがある(料金体系による)。読み取り結果に、ゆらぎが出る |
| OCRのスクリプトやツールを作る | 自社の様式に特化すれば、安く、安定して動く | 作る手間がかかる |
後者のスクリプトは、生成AIに作ってもらえます。 「こんなシステムを作りたい」とAIに提案し、対話しながら要件を詰めていけば、自社の様式に特化したツールを作れる場合があります。 従来は、システム開発会社や専任のエンジニアに依頼すると、規模によっては数百万円から、大きければ1,000万円を超える予算が必要になることもありました(目安です)。 小さな範囲であれば、AIとの対話だけで作れる可能性があります。
ただし、次の点に注意してください。
- OCRの読み取りは、必ず間違うことがある:金額の桁、日付の読み違いに備えて、合計の照合や、読み取り結果の目視確認を残す
- 領収書には、取引先名や個人名が含まれる:社内のAI利用ルールと、アップロード先のアクセス権限を確認する
- 領収書を、経理の証憑として写真で保存する場合は、電子帳簿保存法などの要件を、経理の担当者に確認する
- 自動化しても、最終確認は人が行う
このようなツールの作り方は、次の章で詳しく扱います。
この章のまとめ
- 表計算の依頼は、ソフトの種類・列構成・行の範囲・サンプル行を渡す
- 「サンプルデータ+期待する結果」を示すと、AIは正確な式を作りやすい
- 大量のデータは、AIに直接変換させず、処理のルール(数式)を作らせる
- 空欄・0・表記ゆれなどの例外の扱いは、制約として書く
- 検算は、部分の合計と全体の合計の照合など、漏れを見つける方法で行う
次の章では、コードや簡易ツールの作成を題材に、動くものを小さく作り、エラーを直す進め方を練習します。