ChatGPT

【関数苦手でもできた】実録!「会話しながら」スプレッドシート版タスク管理表を作成♪

こんにちは。

本日はこちらのWebサイトにお越しいただき、ありがとうございます。

この投稿では、ChatGPT(チャットGPT)にはまっている私が、ChatGPTを使った業務の効率化を考えてみました

ChatGPTは「関数も教えてくれる」とのこと!
そこで今回は『関数式の入ったタスク管理表、WBS(ダブルビーエス)&ガントチャート』を作ることに。

WBSって何?テレビ番組?
WBSとは「Work Breakdown Structure」の頭文字を取った略称で、プロジェクトにおけるタスクを細分化し、一覧表で示す手法のことを言うんだよ。

ある決まったゴールに向かって、どんなタスクがあって、誰がいつまでに完了させる必要があるかを、チームメンバーが共通意識として、わかりやすく見える化したもの。

スプレッドシートで管理することが多いよ。

共有のタスク管理シートってことだね。タスク漏れが無くなるのはいいね!
でも私、関数苦手なんだよね・・・
ChatGPTは、関数も考えてくれるらしいよ!会話だけで、どこまでできるのかを、実際に相談しながら作ってみたよ。
こんな人に読んでほしい記事です
  • ChatGPTを仕事の業務で活用してみたい人
  • 関数が苦手でも、関数を使ったスプレッドシートを作ってみたい人
  • ChatGPTを使った、スプレッドシートの関数の出力方法を知りたい人
ちなみに、ChatGPTは間違いを起こすということも知ってもらうために、今回の投稿はほぼ実録のまま記載していきます。うまくできたでしょうか?実際の会話の臨場感をお楽しみ下さい。

最初の質問:WBSを作る方法を質問する

作業を分解して構造化する手法であるWBSを簡単に作りたいです。

GPT:はい、WBS(Work Breakdown Structure)を作成する際にGPTを活用することが可能です。GPTを使って、プロジェクトの目標から始まり、それを達成するために必要なタスクや活動を細分化し、構造化する手助けをすることができます。以下に、GPTを使ってWBSを簡単に作成する方法を示します。

  1. プロジェクトの目的と範囲の定義:プロジェクトの主目的と達成すべき具体的な成果物を明確に定義します。
  2. 主要な成果物のリストアップ:プロジェクトを成功に導くために必要な主要な成果物をリストアップします。
  3. 成果物の分解:各成果物をさらに具体的なサブタスクに分解します。これは「分解の原則」に従い、管理可能かつ明確なタスクに細分化することが重要です。
  4. 依存関係の特定:タスク間の依存関係を特定し、適切な順序でタスクが実行されるようにします。
  5. リソースの割り当て:各タスクに必要なリソース(時間、人材、資金等)を割り当てます。

この手順をもとに、具体的なプロジェクトの情報を提供いただければ、それに基づいて具体的なWBSを生成するお手伝いをすることができます。プロジェクトの詳細を教えていただけますか

毎月2回メルマガを送信します。内容は毎月変わります。主にイベントの告知になります。メルマガを作成した後は、確認作業が必要です。確認作業には5名ほど対応します。
ChatGPTが下記のように、タスクを分解してくれました。

GPT:このプロジェクトのためのWBS(Work Breakdown Structure)を作成してみましょう。以下はメルマガの作成と送信プロセスを分解した例です:

  1. プロジェクトの定義: メルマガの目的を明確にし、毎月の内容を計画する。
    • 1.1. イベントのスケジュール確認
    • 1.2. メルマガのテーマ決定
  2. コンテンツの作成:
    • 2.1. テキストの作成
    • 2.2. 画像やグラフィックの選定
    • 2.3. レイアウトのデザイン(以下略)

このWBSを使用することで、メルマガの作成から送信までのプロセスが明確になり、各ステップに対して責任者や期限を設定することができます。さらに詳しい調整や追加が必要な場合は教えてください。

本来であれば、実際に運用に従ってここで微調整が必要ですが、今回はこのまま進めます。
実際に例として作ってもらえますか?

GPT:もちろんです。ここでは、月2回のメルマガ作成プロセスを具体的な例としてWBSを作成します。以下のWBSは、タスク、サブタスク、およびそれに対する責任者と期限を含んでいます。

メルマガ作成プロジェクトWBS

1. プロジェクトの定義
 1.1. イベントのスケジュール確認

  • 責任者: 広報担当
  • 期限: 毎月の第1日曜日

1.2. メルマガのテーマ決定

  • 責任者: マーケティングマネージャー
  • 期限: 毎月の第1火曜日

2. コンテンツの作成
 2.1. テキストの作成

  • 責任者: コンテンツライター
  • 期限: 毎月の第2月曜日(以下略)

2つ目の質問:スプレッドシートの作成方法を質問する

内容はOKです。例えば、配信日を入れたら、計算式にて全体の期限が決まるようなスプレッドシートを作ることは可能ですか?

GPT:はい、可能です。Google スプレッドシートなどの表計算ソフトを使用して、配信日を基にして全体のスケジュールを計算する自動化されたWBSを作成することができます。以下は、配信日から逆算して各タスクの期限を設定する方法です

  1. 配信日の設定:ユーザーが配信日を入力するセルを設定します。
  2. 期限の計算:配信日から逆算して、各タスクの期限を自動的に計算する式を設定します。たとえば、「配信日の2日前」という条件を設定します。
  3. 期限の自動更新:配信日が更新されると、それに基づいて各タスクの期限が自動で更新されるようにします。

スプレッドシートの例

以下はスプレッドシートの列の設定例です:

A列: タスク
B列: 責任者
C列: 配信日からの日数(逆算)
D列: 期限(計算式を使用)

たとえば、配信日が 2024年5月30日 と仮定して、各タスクの期限を逆算する場合の計算式は次のようになります:

配信日のセルを E1 とする(ここにユーザーが配信日を入力)
各タスクの期限のセル(例:D列)には次のような式を設定します:=E1 - C2 (ここで C2 は配信日からの日数を示す)

このスプレッドシートを設計し、配信日を変更するだけで全体のスケジュールが自動的に更新されるようにすることが可能です。これを実装するためには、具体的なタスクとそれに対応する日数を設定し、適切な計算式を各セルに入力する必要があります。スプレッドシートを作成してみましょうか?

ここまで、全て自動で考えてくれました。このまま進めます。
お願いします!

GPT:以下は、メルマガプロジェクトのためのWBSを表形式でまとめたものです。各タスクには責任者と配信日からの逆算日数が指定されています。この表を基に、スプレッドシートに計算式を適用して期限日を自動計算できます。

# タスク 責任者 配信日からの逆算日数
1 プロジェクト定義 – イベントスケジュール確認 広報担当 30日前
2 プロジェクト定義 – メルマガのテーマ決定 マーケティングマネージャー 28日前
3 コンテンツ作成 – テキスト作成 コンテンツライター 18日前
4 コンテンツ作成 – 画像やグラフィックの選定 デザイナー 16日前
5 コンテンツ作成 – レイアウトデザイン デザイナー 14日前
6 レビューと修正 – 初回レビュー 編集チーム 10日前
7 レビューと修正 – フィードバックに基づく修正 コンテンツライター、デザイナー 8日前
8 レビューと修正 – 最終確認 編集長 5日前
9 配信準備 – 配信リストの更新と確認 データベース管理者 4日前
10 配信準備 – テスト送信 ITサポート 3日前
11 メルマガ送信 – 送信 ITサポート 1日前
12 送信後 – 確認とレポート 広報担当 配信日
13 フィードバック収集 – フィードバックの収集 カスタマーサービス 配信日の翌日
14 フィードバック収集 – 次回の改善点の検討 マーケティングマネージャー 配信日の3日後

この情報を基に、Google スプレッドシートで配信日を設定するセルを用意し、それぞれのタスクの期限を自動的に計算する式を設定します。実際にスプレッドシートを作成し、共有する準備ができていますか?

やり方を教えて
実際にスプレッドシートの作成方法も丁寧に教えてくれました。

GPT:ステップ 1: スプレッドシートを作成

  1. Google スプレッドシートを開き、「新しいスプレッドシート」を作成します。
  2. 列のタイトルとして「タスク」、「責任者」、「配信日からの逆算日数」、「期限」をA列からD列にそれぞれ入力します。

ステップ 2: データの入力

  • 上記の表を参考にして、各タスクとそれに対応する責任者、配信日からの逆算日数をA列からC列に入力

ステップ 3: 配信日の入力

  • E1セルに「配信日」というタイトルを入力し、F1セルに具体的な配信日を入力します。例えば「2024/05/30」と入力します。

ステップ 4: 期限の計算式の設定

  • D列の各セルに、配信日から逆算して期限を計算する式を入力します。例えば、D2セルには次のように入力します。※
  • これをD列の各セルに適用します。C2, C3, C4,… はそれぞれのタスクの「配信日からの逆算日数」を示すセルです。※計算式はコピーができます
C列は文字列なのですが?=F1 – C2だと計算できませんよね?
ChatGPTはこんな感じで間違いますが、下記のように、しれっと修正してきます

GPT:おっしゃる通りです。申し訳ありません、その点を考慮し忘れていました。C列が整数(日数)として認識されるように設定する必要があります。C列の値が文字列として入力されている場合、それを数値に変換してから計算を行う必要があります。

割と初歩的なことも間違えます。なので、変だなと思ったら、遠慮なく聞くのが大事です。

GPT:スプレッドシートでの数値変換の調整

以下は、配信日から逆算して期限を計算する際に、日数(逆算日数)が文字列として入力されている場合の修正方法です。

数値への変換:
C列に入力されている日数が「30日前」のような形式である場合、これを「30」という数値だけを抽出する必要があります。これを行うには、セルの内容から数値部分だけを抽出する式を使用します。Google スプレッドシートでは、VALUE 関数や正規表現を使う方法があります。

でも、30日前も30で、3日後も3だと計算おかしくないですか?
また間違えてました。苦笑

GPT:ご指摘の通りですね。前回の説明では、逆算と加算の区別について明確に説明が足りませんでした。正確な表現を行うためには、逆算(過去に向かって日数を数える)の場合は負の値を使用し、未来(後日)の日数計算の場合は正の値を使用する必要があります。(以下略)

だんだん面倒になってきたので、そのままコピペできるように考えてもらいました。(全部丸投げです笑)

C列に打ち込む数字をコピペできるようにしてください。

GPT:こちらがC列に入力する日数のリストです。直接スプレッドシートの適切なセルにコピペしてご使用いただけます:
-30, -28, -18, -16, -14, -10, -8, -5, -4, -3, -1, 0, 1, 3

このままでは、縦には貼れないので、再度質問
C列なので、縦に貼れるようにしてください。

GPT:もちろんです。スプレッドシートで縦に並べて貼り付けるために、こちらは各行に1つの数字が来るようにリストを整形します。以下がその形式です:(以下略)

回答が違っていたら、何度でも質問繰り返すのがコツです。(怒らないので!)

 

3つ目の質問:土日祝日を反映した表に変更する

計算式を少し変更したいです。日本の祝日に合わせて、土日祝日を抜いた日を営業日として計算式を作ってください

GPT:Google スプレッドシートで土日祝日を除外する営業日の計算を行う場合、WORKDAY関数を使用することが一般的です。この関数は指定された開始日から特定の日数を足し(または引き)、週末や指定された祝日をスキップして営業日だけをカウントします。

ステップ バイ ステップでの設定方法

祝日リストの準備:
別のシートに日本の祝日のリストを作成します。これは WORKDAY 関数で参照するものです。例えば、A列に「2024年の祝日」として日付を列挙します。

計算式の設定:
配信日がF1に設定されていると仮定し、各タスクの期限を計算するセル(例:D列)に次のような式を入力します。
=WORKDAY(F1, C2, 祝日リストの範囲)

ここで C2は加算または減算する営業日の数(逆算日数)を示し、「祝日リストの範囲」は先ほど別シートで準備した祝日のリストのセル範囲を指します。

(例)
祝日リストの設定:
祝日リストを含むシートが「Holidays」という名前で、A列に祝日が入力されている場合、祝日リストの範囲は Holidays!A:A と指定できます。(以下略)

祝日リストを貼れるように準備して下さい
WORKDAY関数のステップも細かく説明してくれました。この関数は祝日リストを準備する必要があります。今までは、holidayシート作るのは少し面倒だったのでChatGPT便利〜!

GPT:

このリストをスプレッドシートにコピペする際は、以下の手順に従ってください:

  1. 新しいスプレッドシートを開きます。
  2. 上記リストをテキストエディタにコピーし、スプレッドシートに貼り付けます。
  3. スプレッドシートの「データ」メニューから「区切り文字位置を指定して分割」を選択し、カンマ(,)を区切り文字として選びます。これにより、日付がA列に、祝日名がB列に自動的に分けられます。

ここまで教えてもらえたら、スプレッドシートに慣れていない人にもできそうです!

祝日が反映された表に変更されました(オレンジの部分)

WBSとガントチャートの違い

WBS(Work Breakdown Structure)とガントチャートはプロジェクト管理のツールとしてよく使用されますが、役割と目的が異なります。

WBSは「何を」行うかを定義し、ガントチャートは「いつ」それを行うかをスケジュールするために使います。この二つを組み合わせることで、プロジェクトを効率的に管理し、成功に導くことが可能です。

4つ目の質問:ガントチャートを追加する

先ほど作ったスプレッドシートにガントチャートを加えたいのですが

配信日に対して、作業日数を反映して、開始日と終了日を自動的に計算するスプレッドシートに変更し、その上で、カレンダーの作業対象日に色を塗っていくようにするという作業手順を下記のように説明してくれました。

GPT:スプレッドシートにガントチャートを追加するのは、プロジェクトの視覚的管理にとても役立ちます。Google スプレッドシートを使用している場合、以下のステップでガントチャートを作成する方法を説明します。

具体的な手順

データの準備:スプレッドシートに以下の列を用意します:
A列: タスク名
B列: 開始日
C列: 終了日

データの選択:
A列のタスク名、B列の開始日、C列の終了日を含む範囲をマウスで選択します。具体的には、A1セルからC1セルまで(列のタイトルを含む)をドラッグし、さらにそれらの列に含まれるデータの最終行まで拡張します。(以下略)

本来であれば、タスクの作業日数は自分で考えた方が良いのですが、ChatGPTにおおまかに考えてもらいました。無茶振りでしたが、答えてくれました!

以下のタスクのおおよその目安の日数を考えてください。(A列をコピペ)
プロジェクト定義 – イベントスケジュール確認
プロジェクト定義 – メルマガのテーマ決定
コンテンツ作成 – テキスト作成・・・

GPT:プロジェクトのタスクに必要な日数を設定する際には、各タスクの内容や複雑さ、チームのリソース、以前の経験などを考慮する必要があります。以下は、メルマガプロジェクトに関連する各タスクに対するおおよその目安の日数です:

  1. プロジェクト定義 – イベントスケジュール確認: 1日
    • イベントカレンダーを確認し、メルマガのスケジュールとの整合性をチェック。
  2. プロジェクト定義 – メルマガのテーマ決定: 1日
    • 主要なテーマやメッセージを決定し、関連するコンテンツのアイデアを生成。(以下略)

A列: タスク名 B列: 責任者 C列: 配信日からの逆算日数 D列:稼働予定日数 E列: 開始日 F列: 終了日 G1: 配信日(例: 「2024/05/30」)

として、先ほど考えてくれた日数でコピペだけの表を作ってくれますか?

ガントチャート部分(稼働日を色がつく仕様にする)ところに関して、ChatGPTが持っている知識と2024.4時点での仕様が違っていました。

ChatGPTによると、
スプレッドシートの上部にあるツールバーで、「挿入」をクリックしま。「挿入」メニューが開いたら、「チャート」を探します。
とのことで、いろいろ調べましたが、挿入に「チャート」はありませんでした。

ChatGPTが出してくれたアイデアの実行が難しかったので、私が考えた方法でChatGPTに方法を再度考えてもらいました。

例えば、GからAAに向かって、1行目に日付が自動的に入り、タスク部分に自動で色がつくような仕様を考えてみたのですが、いかがでしょうか
ここでまた、少し間違いがあったので、調整が入ったのですが、最終的な条件付き書式設定により以下のようにシートが完成しました。
GPT:正しい条件付き書式の設定
  1. 条件付き書式の範囲:
    • まず、適用する範囲を正確に設定する必要があります。例えば、G2:AA100 といった具体的な範囲を指定します。
  2. 数式の修正:
    • 数式中のセル参照を適切に調整して、タスクごとに条件が適用されるようにします。
    • =AND(G$1 >= $E2, G$1 <= $F2) の数式で、$E2$F2 は絶対参照にしておくことで、同じ行の開始日と終了日を参照し続けるように設定します。(以下略)

これで、各タスクの期間内であるセルにのみ色が付くようになります。数式のセル参照の問題が原因で期待通りに動作していなかった場合は、上記の手順で修正できるはずです。それでも問題が解決しない場合は、さらに詳しく見ていきましょう。

まとめ

々、計算式を間違ったり、そのままじゃ貼れない形式が出たりしましたが、最終的にWBSとしての形は完成できました。

ChatGPTができること

最終的な目的とおおまかな内容を伝えると、WBSの仕組みに則って、以下を考えることができる。
  • ツリー構造のタスク分解
  • 責任者
  • 作業にかかる日数
配信日から、作業開始日と終了日を計算できるスプレッドシートの作成ができる。
  • 作業にかかる日数をもとに配信日からの逆算日数を自動で考えてくれる
  • スプレッドシートへそのまま貼れる形(表)にまとめてくれる
  • 必要な関数(計算式)も考えてくれる
後からの微調整も可能:日本の祝日に合わせた表に書き換える
  • ステップ バイ ステップでの設定方法を教えてくれる

間違った時の指摘方法

「明らかに計算式が間違っている。」「貼れない形式で指定してくる。」などの問題はありますが、その時は、以下の方法を試してみて下さい。

  1. 間違っていることを指摘する。
  2. 合わない箇所をそのまま、チャット欄にコピペすることで、内容を読み解いて、ここが間違っていましたねと修正案を出してくれます。
なんかうまくいかない、ChatGPTが言っていることがわからない??と思ったら、何度でも聞いてください。嫌がらず根気よく教えてくれますよ笑

実際に作業してみての感想

このシートはChatGPTと格闘しながら、約1.5時間くらいで完成しました。(しかも深夜、私自身の頭があまり働いてない状態でです。)

ChatGPTは完璧ではないですが、明らかな間違いを指摘してあげたり、わかりにくい場合は、もっと詳細に教えてと伝えることで、ステップの数を増やして教えてくれます。

ChatGPTは繰り返しの作業を効率化するのが大得意。

まずは「こんなことできるかな?と思ったら、気軽に聞いてみるのがおすすめ。

その際も、一回で答えが出なくても、粒度を細かくしたり、別の角度から質問しなおしたり、他のネット情報をもとに、こんなやり方だったらできる?と聞いてみたりすることで、解決することも。

今までだったら、一人で、「あーでもない、こーでもない」と考えていたことを、一緒に考えてくれる仲間ができた気分でした。

なので、完成した時は、思わず

ありがとう!完璧だよ!

と伝えてしまいました。
ChatGPTからも返信が届きました。

GPT:どういたしまして!いつでもお気軽にご相談くださいね。またお話できるのを楽しみにしています!

ぜひChatGPTと一緒に、効率化考えてみてください!