ChatGPTソラ先生と学ぶ!初心者のためのAI入門講座【第49回】ChatGPTで単純作業を自動化する方法|CSV集計・ファイル整理・定期タスクの実践講座
こんにちは、ソラ先生です。
前回は、ChatGPTを使ってPythonの基本を学び、計算や繰り返し処理、CSVファイルの読み込みに挑戦しました。
今回は、その知識を実際の仕事に役立てる「作業の自動化」について勉強しましょう。
「毎日、同じような表を作っている」
「たくさんのファイルの名前を変更するのが大変」
「毎週決まった情報を確認している」
「同じ数字を何度も入力している」
そんな仕事はありませんか?
ChatGPTは、繰り返し作業を見つけたり、作業手順を整理したり、自動処理のプログラムを作成したりする手助けができます。
また、対応する機能では、指定した日時に処理を実行することもできます。
ただし、すべての仕事を自動化すればよいわけではありません。
今回は、何を自動化し、何を人間が確認すべきかという考え方も一緒に学んでいきましょう。
1.仕事の自動化とは何でしょうか?
自動化とは、人間が繰り返し行っている作業の一部または全部を、コンピューターなどの仕組みで処理することです。
例えば、毎日届く注文データから、商品別の数量を集計する仕事があるとします。
データを一つずつ確認し、電卓で合計している場合、件数が増えるほど時間がかかります。
そこで、Excelの関数やPythonなどを使い、一定のルールで計算する仕組みを作れば、繰り返し作業を減らせる可能性があります。
ただし、自動化した計算が間違っていれば、同じ間違いが大量のデータに広がることもあります。
自動化は、正確さを保証する仕組みではありません。決めた処理を繰り返すための仕組みです。
2.自動化に向いている仕事を探そう
最初に、どんな仕事が自動化に向いているのか考えてみましょう。
例えば、次のような仕事です。
- 決まった形式のデータを集計する
- ファイル名を一定のルールで整理する
- 表のデータを並べ替える
- 定期的に同じ情報を確認する
- 決まった時刻にリマインダーを受け取る
- 毎月の報告書の下書きを作成する
これらは、処理のルールが明確であれば自動化を検討できます。
一方、お客様との交渉、契約条件の判断、重要な技術判断などは、単純な自動化に適さない場合があります。
ChatGPTには、次のように質問してみましょう。
「私の仕事の中から、自動化できそうな作業を探したいです。仕事内容、繰り返す頻度、判断の必要性について、一つずつ質問してください」
自分が毎日行っている仕事を説明しながら、改善できる部分を探してみましょう。
3.自動化する前に作業を分解する
例えば、「毎日の売上管理を自動化したい」と考えたとします。
しかし、売上管理には複数の作業があります。
① 注文データを受け取る。
② 商品名や数量を確認する。
③ 売上金額を計算する。
④ 商品別に集計する。
⑤ 集計結果を確認する。
⑥ 必要な人へ報告する。
これらをすべて一度に自動化する必要はありません。
例えば、最初は売上金額の計算と集計だけを自動化する方法があります。
ChatGPTには、
「この業務を小さな作業に分けてください。自動化しやすい処理、事前確認が必要な処理、人間の判断を残した方がよい処理に分類してください」
と依頼できます。
自動化の対象を絞ることで、問題が発生したときにも原因を調べやすくなります。
4.実践① CSVデータの集計を自動化する
今回は、架空の文房具店の売上データを使用します。
次のデータをメモ帳へ入力し、sales.csvという名前でUTF-8形式で保存してください。
商品名,数量,単価
ノート,10,200
ペン,20,150
ファイル,5,400
付箋,8,250
ノート,6,200
今回の正しい売上金額は次のとおりです。
| 商品名 | 売上金額 |
|---|---|
| ノート(10冊) | 2,000円 |
| ペン | 3,000円 |
| ファイル | 2,000円 |
| 付箋 | 2,000円 |
| ノート(6冊) | 1,200円 |
| 合計 | 10,200円 |
このデータを使って、商品別の数量と売上金額を自動集計してみましょう。
5.ChatGPTにCSVの集計を依頼する
ChatGPTで新しいチャットを開き、sales.csvをアップロードしてください。
次のように質問します。
「このCSVファイルを読み込み、商品別の販売数量と売上金額を集計してください。同じ商品名は合算し、計算方法も説明してください」
正しく計算されれば、次の結果になります。
| 商品名 | 合計数量 | 売上金額 |
|---|---|---|
| ノート | 16 | 3,200円 |
| ペン | 20 | 3,000円 |
| ファイル | 5 | 2,000円 |
| 付箋 | 8 | 2,000円 |
| 合計 | 49 | 10,200円 |
ここで大切なのは、ChatGPTが正しく計算したかを確認することです。
例えば、ノートは2行あります。
10冊と6冊を合計すると16冊です。
10冊分だけを集計していたら、売上金額が不足します。
自動集計では、このような重複データの扱いにも注意が必要です。
6.Pythonで集計を自動化してみよう
次に、前回学んだPythonを使ってみましょう。
次のコードは、CSVを読み込み、商品別の数量と売上金額を計算する例です。
import csv
from collections import defaultdict
summary = defaultdict(lambda: {"quantity": 0, "sales": 0})
with open("sales.csv", encoding="utf-8", newline="") as file:
reader = csv.DictReader(file)
for row in reader:
name = row["商品名"]
quantity = int(row["数量"])
price = int(row["単価"])
summary[name]["quantity"] += quantity
summary[name]["sales"] += quantity * price
for name, data in summary.items():
print(name, data["quantity"], data["sales"])
このプログラムでは、CSVにある商品名を確認し、同じ商品名の数量と売上金額を合計しています。
例えば、ノートが複数行あっても、一つの商品としてまとめます。
ChatGPTには、
「このPythonコードを、初心者向けに一行ずつ説明してください。CSVをどのように読み込み、商品別に集計しているのか教えてください」
と質問してみましょう。
なお、このコードは数量と単価がすべて整数で、商品名に入力ミスがないことを前提とした練習例です。
実際の業務では、空欄や重複、表記の揺れなどへの対策も必要です。
7.自動集計で起こりやすい失敗
例えば、CSVに次のような商品名が含まれていた場合です。
「ボールペン」
「ボール ペン」
「ボールペン 」
人間には同じ商品に見えても、プログラムでは別の商品として扱われる場合があります。
最後の例では、文字の末尾に空白が入っています。
このような違いを「表記の揺れ」と呼びます。
ChatGPTには、
「CSVの商品名に表記の揺れがあるか確認してください。同じ商品と判断できそうな候補を一覧にしてください。ただし、確認せずに自動統合しないでください」
と依頼できます。
ここで重要なのは、似た名前だからといって勝手に同じ商品として扱わないことです。
実際には、別の商品や異なる規格である可能性もあります。
自動化では、こうした例外の扱いを考える必要があります。
8.実践② 大量のファイル名を整理する
次は、ファイル整理の自動化です。
例えば、あるフォルダーに次のファイルがあるとします。
photo1.jpg
photo2.jpg
photo3.jpg
photo4.jpg
これらを、
product_001.jpg
product_002.jpg
product_003.jpg
product_004.jpg
という名前に変更したい場合です。
4枚なら手作業でも簡単ですが、100枚、500枚となると時間がかかります。
そこでPythonを使って、一定のルールで名前を変更する方法があります。
ただし、ここで注意したいことがあります。
ファイル名の変更は、実際のファイルに影響する操作です。
処理を間違えると、必要なファイルが見つからなくなったり、ほかのシステムとの関連が切れたりする可能性があります。
そのため、最初は実際に名前を変更せず、変更予定を一覧表示する練習から始めましょう。
9.ファイル名の変更予定を確認するプログラム
今回は、練習用のフォルダーに4つの画像ファイルがあると仮定します。
次のPythonコードを見てください。
from pathlib import Path
folder = Path("practice")
files = sorted(folder.glob("*.jpg"))
for number, file in enumerate(files, start=1):
new_name = f"product_{number:03d}.jpg"
print(file.name, "→", new_name)
このコードを実行すると、例えば次のように表示されます。
photo1.jpg → product_001.jpg
photo2.jpg → product_002.jpg
photo3.jpg → product_003.jpg
photo4.jpg → product_004.jpg
ここでは、名前を変更する予定を表示しているだけです。
実際のファイル名は変わりません。
Path("practice")は、練習用フォルダーを指定しています。
glob("*.jpg")は、そのフォルダーにあるJPGファイルを探します。
enumerate()は、順番に番号を付けるための仕組みです。
{number:03d}は、番号を3桁で表示する指定です。
このように、まず変更予定を確認する方法を使えば、実際のファイルを変更する前に問題に気づきやすくなります。
10.実際にファイル名を変更する前に考えること
変更予定が正しく表示されたら、次に実際の変更方法を検討できます。
ただし、ここでもすぐに実行する必要はありません。
まず、次のことを確認しましょう。
① 元のファイルは保存してあるか
バックアップを用意します。
② 変更対象は正しいか
必要なファイルだけが対象になっているか確認します。
③ 同じ名前のファイルが存在しないか
変更後の名前が重複していないか確認します。
④ 変更前の名前を記録しているか
問題が発生した場合に元へ戻せるようにします。
⑤ ほかのシステムで使用していないか
ホームページや業務システムがファイル名を参照している場合、変更によって表示や処理に影響する可能性があります。
ChatGPTには、
「このファイル名変更を安全に実行するために、事前確認、変更予定の一覧、バックアップ、復旧方法を含む作業手順を考えてください」
と依頼できます。
今回は、変更予定を表示するところまでを練習します。
11.実践③ ChatGPTの定期タスク機能を使う
ChatGPTには、対応する環境で、指定した日時に処理を実行する「スケジュール済みタスク」という機能があります。
例えば、
「明日の午前9時に、会議資料を確認するよう知らせてください」
といった依頼です。
また、定期的に情報を確認するタスクを作成できる場合もあります。
例えば、
「毎週月曜日の朝に、今週の仕事の準備項目を整理してください」
という使い方です。
ただし、タスク機能が利用できるかどうかは、アカウント、プラン、アプリのバージョンなどによって異なります。
また、指定した日時に処理を実行することと、自分のパソコンのファイルを自由に操作できることは別です。
ChatGPTに相談しただけで、自分のパソコン上の仕事が自動的に処理されるわけではありません。
12.ChatGPTのタスクを設定する方法
スケジュール済みタスクが利用できる環境では、次のような流れで設定できます。
① ChatGPTの「スケジュール済み」を開きます。
② 新しいタスクを作成します。
③ 実行したい内容を入力します。
④ 実行日時や繰り返し条件を指定します。
⑤ 登録内容を確認します。
⑥ 必要に応じて通知設定を確認します。
例えば、
「毎週月曜日の午前9時に、今週の予定を整理するよう知らせてください」
というタスクです。
登録後は、実際にタスクが作成されているか確認しましょう。
また、予定が変わった場合は、タスクの変更や停止が必要になることもあります。
タスクの上限や実行頻度は、利用プランによって異なります。
13.ChatGPTの自動化とPythonの自動化は何が違うの?
ここまで、2つの方法を紹介しました。
一つは、Pythonによるデータ処理やファイル操作です。
もう一つは、ChatGPTのスケジュール済みタスクです。
役割を整理してみましょう。
| 方法 | 主な用途 | 注意点 |
|---|---|---|
| ChatGPTのデータ分析 | ファイルの集計・整理 | 結果の確認が必要 |
| Pythonプログラム | 決めたデータ処理やファイル操作 | 実行環境と安全確認が必要 |
| ChatGPTの定期タスク | リマインダー・定期的な情報確認 | 対応機能と利用条件の確認が必要 |
例えば、CSVの売上金額を合計したい場合は、ChatGPTのデータ分析機能やPythonが候補になります。
一方、毎週決まった日時に確認事項を知らせてもらいたい場合は、定期タスクが便利です。
作業の目的に応じて、適した方法を選ぶことが大切です。
14.自動化してはいけない仕事もある?
すべての仕事を自動化することが、必ずしも適切とは限りません。
例えば、次のような作業です。
① 重要な契約条件の決定
AIが提案した内容を、人間の確認なしに確定することには注意が必要です。
② お客様への重要な連絡
金額、納期、契約内容などを確認せずに自動送信すると、トラブルにつながる可能性があります。
③ 製造設備の安全に関わる操作
AIが提案した処理を、そのまま設備の制御へ利用することは危険な場合があります。
④ 大量のファイル削除
対象を間違えると、必要なデータを失う可能性があります。
⑤ 個人情報を含む処理
情報管理やアクセス権限など、適切な仕組みが必要です。
自動化を考えるときは、便利さだけでなく、間違った場合の影響も確認しましょう。
15.自動化で失敗したときはどうする?
例えば、ファイル名を自動変更したところ、想定していないファイルまで変更してしまったとします。
そんなとき、慌てて別のプログラムを実行すると、状態がさらに複雑になる場合があります。
まず、処理を止め、何が変更されたのか確認しましょう。
そのうえで、
① どのファイルが変更されたか確認する。
② 変更前の名前を記録と照合する。
③ バックアップがあるか確認する。
④ 復旧方法を検討する。
⑤ 安全性を確認してから復旧する。
という順番で考えます。
ChatGPTには、
「ファイル名の一括変更で問題が発生しました。これ以上ファイルを変更せず、現状確認と復旧方法を整理したいです。必要な情報を一つずつ質問してください」
と依頼できます。
ここで重要なのは、問題の原因を確認する前に、さらに大きな変更を加えないことです。
16.自動化の効果をどう判断する?
自動化した後は、本当に仕事が改善したかを確認しましょう。
例えば、毎日30分かかっていた集計作業が、10分で終わるようになったとします。
この場合、1日あたり20分の短縮です。
月20日行うなら、
20分×20日=400分
つまり、約6時間40分の短縮になります。
しかし、作業時間が短くなっただけで成功と判断してよいのでしょうか。
例えば、自動集計の間違いが増えていたら、確認や修正に時間がかかるかもしれません。
そこで、次のような項目を確認しましょう。
① 作業時間
実際にどれだけ短縮できたか。
② 計算や処理の正確性
間違いが増えていないか。
③ 確認に必要な時間
結果をチェックする作業がどの程度必要か。
④ トラブルへの対応
エラーが起きたときに原因を調べられるか。
⑤ 継続して利用できるか
担当者が変わっても使える仕組みになっているか。
こうした項目を比較することで、自動化の効果をより具体的に考えられます。
17.今日のミニレッスン
今回は、実際にファイルを変更せずに、自動化の考え方を学びましょう。
ステップ① 繰り返し作業を探す
ChatGPTに次のように入力してください。
「日常の仕事から自動化できそうな作業を探したいです。作業内容、頻度、所要時間、判断が必要な部分について一つずつ質問してください」
ステップ② CSVの自動集計を試す
第4章の練習用CSVをChatGPTへアップロードします。
「商品別の数量と売上金額を集計してください。同じ商品名は合計し、計算結果を表にしてください」
と依頼します。
正しい売上合計は10,200円です。
ステップ③ ファイル名の変更予定を作る
次のように質問してください。
「photo1.jpgからphoto4.jpgまでの4つのファイルを、product_001.jpgからproduct_004.jpgへ変更したいです。Pythonで変更予定だけを表示するコードを作成してください。実際のファイル名は変更しないでください」
ステップ④ コードの意味を確認する
「作成したPythonコードを一行ずつ説明してください。実際のファイルを変更していないことを確認できるようにしてください」
と質問します。
ステップ⑤ 安全対策を考える
「このファイル名変更を本番環境で実行する場合、バックアップ、対象の確認、名前の重複、復旧方法についてチェックリストを作成してください」
と依頼します。
ステップ⑥ 定期タスクについて学ぶ
「ChatGPTのスケジュール済みタスクでできることと、できないことを、初心者向けに説明してください」
と質問します。
ステップ⑦ 自動化の効果を考える
最後に、
「毎日30分かかる仕事を10分に短縮できた場合、月20日では何時間節約できますか?確認作業やエラー対応も考慮して、効果を判断する方法を教えてください」
と依頼します。
これで、作業の洗い出しから、自動化の検討、安全確認、効果測定まで一通り学べます。
ソラ先生からひとこと
仕事の自動化というと、人間が行っている作業をすべてコンピューターに任せることだと思うかもしれません。
しかし、私はそれだけが自動化ではないと考えています。
例えば、毎日繰り返している集計作業の一部分だけを自動化する。
ファイル名の変更予定だけを作成して、人間が確認してから実行する。
決まった日時に、忘れないよう通知してもらう。
こうした小さな改善でも、実際の仕事に役立つ場合があります。
また、自動化した処理が間違っていれば、その間違いを繰り返してしまう可能性があります。
だからこそ、処理の内容を理解し、結果を確認し、問題があれば元へ戻せる仕組みが重要です。
自動化の目的は、人間が考えなくなることではありません。繰り返し作業の負担を減らし、より重要な仕事に時間を使えるようにすることです。
まずは、身近な小さな仕事から、自動化できる可能性を探してみましょう。
次回【第50回】は「ChatGPTのプロジェクト機能を使う方法|長期の仕事・資料・会話をまとめて管理しよう」です。
今度は、複数の会話や資料を整理し、長期間の仕事をChatGPTと一緒に進める方法を学びます。