Excelの備考欄に混ざった情報を、項目ごとの「列」に分解する

Excelデータ整理テキスト抽出AI業務効率化データクレンジング
Excelの備考欄に混ざった情報を、項目ごとの「列」に分解する

備考欄が「ただのメモ書き」になっている絶望感

「これ、項目ごとに整理しておいて」

部長からそう言われて、手元のExcelを開く。そこにあるのは、数百行にわたる「備考」列。
「〇月〇日納品希望、予算5万円程度、担当は佐藤さん」
「至急。予算未定。田中様へ連絡のこと」
「来期検討。金額は100万前後で調整中」

……絶望する。
この、文脈がバラバラで、区切り文字(カンマやスペース)も統一されていないテキストを、どうやって「納期」「予算」「担当者」というきれいな列に分ければいいのか。

Excelの「区切り位置」機能を使おうとしても、区切り文字が一定じゃないから使い物にならない。関数を組もうにも、文章のパターンが多すぎてIF関数の入れ子が無限に増えていく。結局、一つずつ目で見ながら、新しい列に手入力していくのか。

もしそうなら、今日の残業は確定だ。

でも、安心してください。こういう「文脈に依存した不規則なテキスト」の分解は、今のAI(ChatGPTやClaudeなど)が最も得意とする領域の一つです。Excelの標準機能では太刀打ちできない作業も、AIに「型」を渡してあげれば、数分で片付く可能性があります。

Excelの標準機能で限界がくる理由

なぜ、Excelの機能ではうまくいかないのか。理由は単純で、Excelの標準機能は「規則性」を前提としているからです。

「区切り位置」や「Flash Fill(フラッシュフィル)」は、文字の並びや特定の記号を頼りに動きます。しかし、備考欄に書かれる言葉は、人間が書くもの。
「予算は5万」と書く人もいれば、「50,000円くらい」と書く人もいる。
「担当:田中」と書く人もいれば、「田中さんへ」と書く人もいる。

この「表記のゆれ」と「構造のなさ」が、Excelのロジックを壊します。一方で、AIは「言葉の意味」を理解しようとします。「5万」も「50,000円」も、どちらも「予算」という概念に関連していると判断できる。この「意味の理解」こそが、今回の作業の鍵になります。

「フラッシュフィル」か「AI」か、判断の分かれ目

とはいえ、何でもかんでもAIに投げるのが正解ではありません。私はいつも、以下の2つの方法で使い分けています。

方法A:Excelの「フラッシュフィル」を使う

これは、隣の列に「正解の例」を数行手入力して、Ctrl + E を押す機能です。

方法B:AI(ChatGPT等)に丸投げする

結論として、「ルール化できない文章」なら迷わず方法B(AI)を選んでください。

失敗しないための準備:データの「仮装」

ここで、一番大事な話をします。情シス時代の教訓ですが、会社のデータをそのままChatGPTなどの外部AIに貼り付けるのは、絶対にやめてください。

「うちは機密保持契約を結んでいるから大丈夫」という判断もありますが、一歩間違えれば情報漏洩です。たとえ規程で許可されていても、リスクを最小限にするのがプロの仕事です。

データをAIに渡す前に、必ず「伏せ字」にするか「置き換え」を行ってください。
ただし、単に消すのではなく、「データの構造(前後関係)」を保ったまま置き換えるのがコツです。

元のデータ置き換え後のデータ(AIに渡す用)理由
株式会社A 担当 佐藤様 150,000円顧客X 担当 者A 150,000円固有名詞は伏せるが、金額の桁感は残す
2023/10/25 納期希望202X/XX/XX 納期希望日付の形式(YYYY/MM/DD)は維持する
至急!田中さんへ連絡至急!担当者へ連絡「至急」というニュアンスを維持する

このように、「何の情報が入っているか」という構造を残しておけば、AIは正しく項目を抽出できます。

【実践】AIに分解させるためのプロンプト

準備ができたら、以下の手順で進めます。
まず、Excelで「備考」の列をコピーし、AIに指示文(プロンプト)と一緒に貼り付けます。

以下のプロンプトをコピーして使ってください。

# 依頼

以下の「備考欄」のテキストデータを解析し、指定した項目ごとに分解して、Markdownの表形式で出力してください。

# 抽出項目
1. 納期(日付形式。不明な場合は「不明」)
2. 予算(数値のみ。不明な場合は「不明」)
3. 担当者名(不明な場合は「不明」)
4. 重要度(「高・中・低」のいずれかで判定。文脈から判断すること)

# 出力ルール
- 結果は必ずMarkdownのテーブル形式で出力してください。
- 元のデータの行数と、出力する行数が一致するようにしてください。
- 該当する情報がない項目は「不明」と記載してください。

# 備考欄データ
(ここにExcelからコピーしたデータを貼り付ける)

手順

1. Excelで、加工したい「備考」の列をコピーする。
2. 上記のプロンプトをChatGPTなどのチャット欄に貼り付ける。
3. プロンプト末尾の「(ここに〜)」の部分に、コピーしたデータを貼り付ける。
4. AIが生成した表をコピーし、Excelの新しいシートに貼り付ける。
5. 「形式を選択して貼り付け」→「テキスト」で貼り付けると、セルが崩れにくい。

よくある「思い通りにいかない」パターン

これ、一度やってみると分かりますが、たまにAIが「空気を読みすぎて」失敗します。

備考欄が短い文章だと、AIが「これは一つの事象だ」と判断して、2行分を1行にまとめて出力してしまうことがあります。これを防ぐには、プロンプトに「1行の入力に対し、必ず1行の出力を行ってください」と念押しする必要があります。

「予算:不明」と書くべきところを、AIが勝手に「予算:10,000円」のように、それらしい数字を捏造することがあります。出力された結果は、必ず元のデータと照らし合わせて、特に「数字」と「日付」は目視でチェックしてください。


実は私も、以前似たような作業で失敗したことがあります。
大量の顧客アンケートの自由記述欄を、Excelの関数だけで整理しようとしたんです。複雑なIF関数を組み上げ、3時間かけて数式を完成させたものの、いざ実行してみたら、表記のゆれが多すぎてエラーの山。結局、その晩は一歩も進まず、翌朝、情シスの及川さんに「これ、AI使えば?」と鼻で笑われました。

あの時の徒労感は、今でも忘れられません。

AIは万能ではありませんが、人間が「ルール化できない」と頭を抱える作業には、これ以上ない武器になります。まずは、数行のデータで、このプロンプトを試してみてください。

さて、私はこれから、先ほどAIが吐き出したデータの「数字の妥当性」をチェックする作業に戻ります。これが終わらないと、明日の会議に間に合いません。