見出し画像

CHAT-GPT+Python+Excel=最高!

今月、勤めている病院に厚生局による調査が入ります。
定期的に入るものなのですが、コロナの関係で4年ぶりくらいの調査となっており、また、私自身は、別の病院から転職してきたので、今の病院では、初めての調査です。
かなりたくさんの資料を用意するのですが、どういったデータがどこにあって、どういった状態で管理されているかの全容みたいなものを初めて今回確認できました。

その中で、調査のため、大量の別ファイルとして保存されているExcelから一部のデータを抜き出して集計したり、別目的で保存されているデータを加工しなおす必要があることがわかりました。

長い時間をかけて、普段から少しずつ使えるデータを使いやすいように保存しておくことが重要ですが、それは、今後の課題として、まずは、現状のデータの利活用に、Pythonを使用することを考えました。
そして、さらに、Pythonのコードはすべて、ほぼすべてをCHAT‐GPTに書いてもらいました。

CHAT‐GPTに作成してもらったPythonのプログラム例


①日付毎になっているExcelファイルを一つのファイルにmergeさせる。その際、元のファイルの名前が、日付になっていたので、日付毎に別シートで張り付ける。
②日付毎になっているExcelファイルから、同じ個所にあるデータを新しいExcelファイルに張り付け、日付ごとに並べる。
③指定された範囲の数字の記載のある個所を色付け
④Xlsmかつ、いろいろと関数が入っているExcelファイルを、すべて値でコピペしてデータXlsx形式で別ファイルに保存しなおす。

他にもあったと思いますが、上記のようなコードを作成してもらいました。
VBAでもできますが、Pythonのほうがコードが短く、また、読み易いと思っています。

実例ピックアップ:③指定された範囲の数字の記載のある個所を色付け

プロンプト
pythonで以下のことを行うコードを教えてください。
1 Excelファイルを指定
2 範囲を選択
3 選択した範囲で数字があるセルを黄色にする

回答
PythonでExcelファイルを操作し、特定の範囲内で数値が含まれるセルを黄色に塗るには、openpyxl ライブラリを使用するのが一般的です。以下にその手順とサンプルコードを示します。

手順

  1. openpyxl ライブラリをインストールする。

  2. Excelファイルを開く。

  3. 操作したいシートを選択する。

  4. 指定した範囲内のセルを走査する。

  5. セルに数値が含まれているか確認する。

  6. 数値が含まれている場合、そのセルの背景色を黄色に設定する。

  7. 変更を保存する。

以下がそのコードです。

こんな雑なプロンプトで、すぐにコードが出てきます。
VBAでもできますが、やはり、今見ても、素人というかこれから勉強する人間にとっては、Pythonのほうがわかりやすいと感じます。

時間があるときは、写経スタイルで、出てきたコードを自分で書き写しながら、体に覚えさせています。
やりたいことについて、一度コード見本を描いてもらい、それを自分で読み下しながら書き写すことで、ちょっとずつコードの意味を覚えていくことができます。今のところ、自分には、この勉強法があっているように思います。

短縮できた時間?

たぶん、上に書いた4つのことだけでも自分でやっていたら、すぐに数時間とかかかったと思いますし、何より、同じ作業の繰り返しは、ちょっと精神的に耐えられません。
数時間以上の短縮と、精神の安定を手に入れることができたと思います。
その場限りであっても、すぐにPythonで作業できます。
ある程度形にするまでに時間がかかるのが、プログラミングと思います。
だからたぶん、GitHubがあるんだと思います。
それが、Chat Gptですぐにできるということは、仕事の在り方が変わってきていることを感じています。
気持ち的に、Excelで関数を使うくらいのハードルでPythonを使っています。また、自分でできる作業量が、アルバイト一人分くらい増えたと思います。

ネッコサーフィンというブラウジングツールを使っています。
猫が来て邪魔をするだけの最高のツールです。


この記事が気に入ったらサポートをしてみませんか?