ChatGPTが作った表をExcelに移す方法は、大きく2つです。xlsxファイルとして受け取るか、画面の表をコピーして貼り付けるかです。どちらの方法でも、Excelに入った時点で数字が正しいとは限りません。行が抜けていたり、合計が間違っていたり、数値が文字として入っていたりすることがあります。

この記事では、表をExcelに移す手順と、列が崩れたときの直し方、元データと照合する方法をまとめます。

まず受け取り方を決める

受け取り方 向いている場面 注意点
xlsxファイルで出力させる 行や列が多い/そのまま保存して使いたい ファイルを作る機能が使えるかどうかは、プランや設定によって異なる
画面の表をコピーして貼り付ける 数行から数十行の小さな表 コピーのしかたによって、1セルにまとまったり列がずれたりする
タブ区切りのテキストで出させて貼り付ける 貼り付けで列が崩れたとき 長い表では出力が途中で切れていないか確認が必要

ファイルを作る機能が使えるか、ダウンロードリンクがいつまで有効かは、お使いの画面と公式のヘルプで確認してください。

xlsxで出力させる頼み方

ファイルで受け取るときは、表の形を先に指定しておくと、あとで直す手間が減ります。

次の表をExcelファイル(.xlsx)で出力してください。
・シート名は「一覧」、1行目に列名、2行目から1行1件
・列は「取引先コード、取引先名、件数、金額」の4列
・合計行や小計行は入れない
・件数と金額は数値として入れる(「円」や桁区切りのカンマは付けない)
・取引先コードは先頭の0を残すため文字列にする
・セルの結合はしない

合計行を入れないよう頼むのは、合計はExcelで計算し直すためです。理由は後の「元データと照合する」で説明します。

ファイルを受け取ったら、開いて次の点を見ます。

  • シート名、列名、列の順番が指定どおりか
  • 最終行まで入っているか(途中で終わっていないか)
  • 数値の列が左寄せになっていないか(左寄せなら文字列の可能性があります)

貼り付けで1セルにまとまるとき

画面の表を選択してコピーすると、通常は列ごとに分かれて貼り付けられます。ところが、次のような場合は1行が1セルにまとまってしまいます。

  • | 列1 | 列2 | のような記号ごとのテキストをコピーした
  • 列と列の区切りがスペースになっている

直し方A:タブ区切りで出し直してもらう

さきほどの表を、タブ区切りのテキストとしてコードブロックで出力してください。
1行目は列名にし、記号「|」や区切り線は入れないでください。

コードブロックのコピーボタンでコピーし、Excelの左上のセルに貼り付けます。タブ区切りのテキストは、貼り付けると列ごとに分かれます。

直し方B:Excelの「区切り位置」で分ける

| 付きのまま貼り付けてしまった場合は、Excel側で列に分けられます。

  1. 貼り付けた列を選択する
  2. 「データ」→「区切り位置」→「区切り記号付き」→「次へ」
  3. 「その他」にチェックを入れ、| を入力して「次へ」
  4. 先頭が0のコードの列などは、列を選んで「文字列」を指定してから「完了」
  5. 左端と右端にできた空の列、--- が並んだ区切り線の行を削除する
  6. 値の前後に空白が残っていたら、=TRIM(B2) などで取り除く

列がずれる・数値が文字になるとき

列に分かれても、中身が計算に使えない形になっていることがあります。

| 症状 | 主な原因 | 対処 |
|---|---|---|
| 特定の行だけ列が右にずれる | 値の中にカンマや | が含まれていた | その行を元の表と見比べて直す。区切りに使わない記号で出し直してもらう |
| 金額が合計されない | 「1,200円」「¥1,200」のように単位が付いている | 単位は列名に移し、値は数字だけにする |
| 数字なのに計算されない | 全角数字になっている | =VALUE(ASC(C2)) で半角の数値に変換する |
| コードの先頭の0が消えた | 数値として認識された | 列を文字列に指定してから貼り直す |
| 「1-2」が日付に変わった | Excelが日付と判断した | 列を文字列に指定してから貼り直す |

数値の列に文字列が混ざっていないかは、次の式で数えられます。

=COUNTA(D2:D101)-COUNT(D2:D101)

結果が0でなければ、数値として扱われていないセルがあります。=ISNUMBER(D2) を横の列に入れてFALSEの行を探し、たとえば次のように変換します。

=VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D2,"円",""),"¥",""),",",""))

変換できたら、式の結果を値として貼り付け、元の列と置き換えます。

元データと照合する

ChatGPTは表を作り直す途中で、行を落としたり、値を書き換えたり、合計を間違えたりすることがあります。見た目が整っていても、使う前に元データと照合してください。

  1. 件数:元データの行数と、Excelに入った行数(=COUNTA(A2:A1000))が一致するか
  2. 合計:金額や数量の列を、元データとExcelの両方で SUM し、一致するか。ChatGPTが書いた合計行は使わず、Excelで計算し直します
  3. キーの漏れ:取引先コードなどのキーが、元データとExcelの双方にあるか。=COUNTIF(元データ!A:A,A2) が0の行は、元にないデータです。逆向きにも確認します
  4. 桁:MAX と MIN で、桁が1つ多い(少ない)値が混ざっていないか
  5. 計算した列:ChatGPTに計算させた列(単価×数量など)は、Excelの数式で計算し直し、差が0になるか
  6. 抜き取り:任意の数行を選び、元データと1項目ずつ見比べる

文章やPDFから数字を拾わせて表にした場合は、比べられる元データがありません。その場合は表の数字1つずつについて、元の文章のどこに書かれているかを確かめます。出どころが見つからない数字は使わないでください。

ChatGPTにデータを渡す前に

元データを貼り付けて表を作らせる場合は、社内のルールで入力してよい情報かを先に確認します。表の作成に必要な列だけに絞り、顧客名などは記号に置き換えてから渡すと、出力を照合するときにも扱いやすくなります。

Excelで使う前のチェックリスト

  • 列名と列の順番が想定どおり
  • 区切り線や空の列、合計行が残っていない
  • 数値の列に文字列が混ざっていない(COUNTA−COUNT が0)
  • コードの先頭の0や、日付にされやすい値が崩れていない
  • 件数と合計が元データと一致する
  • キーの漏れと、元にない行がない
  • 計算した列をExcelの数式で検算した
  • 数行を抜き取って元データと見比べた
おすすめの記事