ChatGPTの公式プラグイン「Code Interpreter(コードインタープリター)」を使って、Excelのデータ編集することができます。
実験の結果をまとめてみました。
ChatGPT Code Interpreter(コードインタープリター)
ChatGPTの新しいプラグイン。Code Interpreter(コードインタープリター)。
ChatGPTにファイルをアップロードすることができ、そのファイルをもとにデータの集計や分析をしたりグラフをつくることができます。PDFファイルならExcelデータに変換するといったこともできます。
Pythonコードを教えてくれたり、変更したファイルをダウンロードして利用することも可能です。
このCode Interpreter(コードインタープリター)を使うには、ChatGPTの有料プラン「ChatGPT Plus」を契約しておく必要があります。
契約していれば、画面左下のSettingから
Code Interpreter(コードインタープリター)をオンにしておきましょう。
その後は「New chat」をクリックすると、Code Interpreter(コードインタープリター)を選べるようになっています。
このCode Interpreter(コードインタープリター)を利用してなにができるか。
今回はExcelデータを整える事例を試してみました。
ChatGPTにExcelデータを整えてもらう
今回のサンプルデータはこういった表形式のデータ。A列は結合されています。データとして利用するならセルの結合はやめておいたほうがいいかと。(今回は実験上あえて)
データとして利用するなら、このような空白セルのない1行ずつのデータにしておくのがいいでしょう。
1行ずつのデータであれば、集計したいときにはピボットテーブルを使えます。
売上を商品別、月別に集計するならピボットテーブル SUMIFSよりも自由でかんたん | GO for IT 〜 税理士 植村 豪 OFFICIAL BLOG
また、グラフをつくりたいとおもっても、マトリックス表になっていると、データとして扱いにくくなります。
こちらも1行ずつのデータであれば、つかいやすくなります。
で、Excelデータを1行ずつのデータに変更するにはどうすればいいか?
Excelで処理するなら「ピボットの解除」を使います。
こちらの記事にもまとめています。
Excelの表形式の資料をデータに変える「ピボットの解除」。 | GO for IT 〜 税理士 植村 豪 OFFICIAL BLOG
これをExcelでやらずにChatGPTにデータを整えてもらうというのが今回の話です。
ChatGPT Code Interpreter(コードインタープリター)で処理
ChatGPTにExcelファイルをアップロードし、
データを整えるためにやりたいことを箇条書きしておき、
- セルの結合を解除して、データがないセルにはその上のセルのデータをコピー
- 年の列と月の列のデータをまとめて、年月の列に日付データとして表示
- 年の列と月の列は削除
- クロス集計されたデータを「年月、地域、金額」の3列で1行ずつのデータに
といった感じで。
お願いしてみると…データを読み込みはじめました。
文中には、Pythonのpandasとopenpyxl(オープンパイエクセル)ライブラリを使用して…とあります。
このCode Interpreter(コードインタープリター)は、アップロードしたExcel、CSV、PDFファイルなどを読み取って、PythonコードをChatGPT上で実行できるしくみ。
なのでこのような回答があったというわけです。
画面に表示されている「Show work」のドリルダウンをクリックすると、このようにPythonコードと読み取ったデータがわかります。
この時点で年のデータの1行目以下(データを数えるときはゼロから数えるため)はNaNとなっており、データがないと認識しています。この時点でセルの結合ははずせています。
データを確認してあと、流れのままに処理をすすめていきます。
次は「年の列と月の列のデータをまとめて、年月の列に日付データとして表示」の部分。
エラーが発生することがあるのですが、Code Interpreter(コードインタープリター)が楽しめるのは、エラーが出たら次に次にどんどんじぶんから試していくこと。ここは好感もてます。
1で「結合を解除して」とお願いしておきながら、2で「結合して」と表現されたのは、わたしの伝え方がよくなかったのかもしれません…。
「またエラーかいな」とは思ううちに瞬時に処理してくれますし、どんどん試してくれるのでそれほどストレスはありません。
で、ここで年月のデータが出てきました。
この段階で、年と月の列をそれぞれ削除し、1つの列で日付データとしてまとめるところまでは終わっています。
最後に「クロス集計されたデータを「年月、地域、金額」の3列で1行ずつのデータに」を処理していきます。それにしても「溶解」ってなんだろ…。
完了後にShow workをクリックしてみると、データが整っているのがわかります。「Excelデータで保存しますか?」と提案があるので、
「保存したい」と伝えると、ダウンロードのリンクを教えてくれます。で、ダウンロードしてみると、
日付のデータの表示が時間まで含まれていました。「時間はいらんかな…。」
Macだと(Command+Shift+3)で日付の表示形式を変えてもいいのですが、今回はChatGPTでという趣旨なので、
データの表示形式をつたえてみると、改めてダウンロードリンクを用意してくれました。
ダウンロード後にExcelで開いてみると、日付データもお願いしたとおりに正しく反映されていました。
合計額も元のデータと
整えたあとのデータとで一致しています。
ExcelかChatGPTか
今回やってみたことは、前述したようにExcelでもできることです。
ピボットの解除ができることを知っていれば、メッセージを伝えたり、やりとりしているうちにExcelでやったほうが早いかなと。
とはいえ、
- Excelでどうやって処理したらいいかわからない
- 複雑な式を入れないといけない
といったケースなら、今回のChatGPT Code Interpreter(コードインタープリター)を使ってみるのも1つです。
たとえば、住所のデータを都道府県、市区町村、それ以下に分けるといった場合、Excelだと複雑な数式をつかう必要があるのですが、ChatGPTにお願いすれば、都道府県を判断してサッとデータを分割してくれます。
Excelの場合には、データ分割するとなれば、県の場合、都の場合、北海道の場合は…と数式をつくる必要があるわけです。
Excelで住所データから市の情報・行政コードを抽出する方法。 | GO for IT 〜 税理士 植村 豪 OFFICIAL BLOG
Excel VBA超入門 住所から県名を取り出すには? できそうなことからやってみるのがいい | GO for IT 〜 税理士 植村 豪 OFFICIAL BLOG
これがChatGPTなら関数をどうするか考えなくてもいいわけです。
アップロードするデータ内容には考慮する必要があるかもですが、データ処理の1つの方法としては可能性を大きく感じるものです。
ChatGPTを利用されているなら、実際に試してみてはいかがでしょうか。
参考までに今回使ったデータのサンプルです。
【編集後記】
昨日はお客様と打合せ。その後、お客様のHPの写真撮影を。写真選びもしつつ楽しめました。夜は長男(8)と桃太郎電鉄の体験版をプレイ。体験版だと1年だけでしたが、けっこうハマったようです。日本の地理も名産も学べるのでありかもとは思いつつも、毎回飽きるので…。前橋をみて「ぐんまけんだね」と知っていたのはおどろきました。学校で習ったとか。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
名鉄の入場券購入
桃太郎電鉄 体験版