「RPA追加トレーニング(Lv.2 中級)」の課題を掲載します。本課題は「RPA土台強化トレーニング(Lv.1 初級)」の追加課題となります。主にプログラミングのスキルと思考力を鍛える内容となっています。課題で使用するRPAのソフトウェアの種類は特に問いません。
※【注意!!!】「ChatGPT」などの生成AIを使用する際は、機密情報や個人情報などを絶対に入力しないこと。
参考より深く学びたい方は、スクールでオンライン講義もやっていますので、下記の記事もご覧ください。
【初心者歓迎・RPA個人講座】RPAを一から学ぶITスクール
【課題1】Webデータ取得(テキスト編)
追加課題1-1
難易度 ★☆☆☆☆
「仕切り」や「コメント」を使用して、課題1のフローの可読性を向上させよ。
追加課題1-2
難易度 ★☆☆☆☆
イベント情報を下記のようにメッセージボックスに出力せよ。
Date: 2023/12/6
Title: Lv.0 入門講座「RPA1Dayスタート研修」
Place: オンライン
Title: Lv.0 入門講座「RPA1Dayスタート研修」
Place: オンライン
追加課題1-3
難易度 ★☆☆☆☆
検索結果が0件の場合は、下記のようにメッセージボックスに出力せよ。
検索結果が0件でした。
追加課題1-4
難易度 ★ ★☆☆☆
検索結果の一番下のイベント情報を取得してメッセージボックスに出力せよ。
※検索結果の件数をセレクタに使用すること
※検索結果の件数をセレクタに使用すること
追加課題1-5
難易度 ★☆☆☆☆
検索結果の一番下のイベント情報を取得してメッセージボックスに出力せよ。
※テーブルの配列データから抽出すること
※テーブルの配列データから抽出すること
追加課題1-6
難易度 ★ ★☆☆☆
取得するのが一番上か一番下かを、ユーザーの入力(入力ダイアログやカスタムフォームなど)で切り替えるように変更せよ。
追加課題1-7
難易度 ★ ★☆☆☆
検索条件の「都道府県」と「キーワード」を、下記のように外部の設定ファイル(Excelやスプレッドシートなど)から、オブジェクトデータや辞書配列などを介して読み取るように変更せよ。
| key | value |
|---|---|
| 都道府県 | オンライン |
| キーワード | RPA |
追加課題1-8
難易度 ★☆☆☆☆
アクセスするサイトのURLを外部の設定ファイルから読み取るように変更せよ。
追加課題1-9
難易度 ★ ★ ★☆☆
設定ファイル読込の機能をモジュール化(サブフローやカスタムアクションなど)せよ。
| 方向 | パラメータ | タイプ |
|---|---|---|
| 入力 | 設定ファイルのパス | 文字列 |
| 入力 | 設定ファイルのシート名 | 文字列 |
| 出力 | 設定値のデータ | オブジェクトデータや辞書配列など |
【課題2】Webデータ取得(テーブル編)
追加課題2-1
難易度 ★☆☆☆☆
「仕切り」や「コメント」を使用して、課題2のフローの可読性を向上させよ。
追加課題2-2
難易度 ★☆☆☆☆
定数や入力値などを外部の設定ファイル(Excelやスプレッドシートなど)から読み取るように変更せよ。
※「追加課題1-9」のモジュールを利用する
※「追加課題1-9」のモジュールを利用する
追加課題2-3
難易度 ★☆☆☆☆
出力するCSVのファイル名に、下記のようなタイムスタンプを付けよ。
[yyyymmdd_hhmmss]_イベント情報.csv
※例:20231206_112709_イベント情報.csv
※例:20231206_112709_イベント情報.csv
追加課題2-4
難易度 ★☆☆☆☆
取得したテーブルデータを下記の条件でフィルタリングしてから、CSVファイルに出力せよ。
※検索条件のモードを「詳細」に設定する
※検索条件のモードを「詳細」に設定する
「Level」列が初級である
追加課題2-5
難易度 ★☆☆☆☆
テーブルデータのフィルタリング結果が0件の場合は、下記のようにメッセージボックスに出力せよ。
フィルタリング結果が0件でした。
追加課題2-6
難易度 ★☆☆☆☆
取得したテーブルデータを下記の条件でフィルタリングしてから、CSVファイルに出力せよ。
※検索条件のモードを「詳細」に設定する
※検索条件のモードを「詳細」に設定する
「Capacity」列が40以下である
追加課題2-7
難易度 ★☆☆☆☆
取得したテーブルデータを下記の条件でフィルタリングしてから、CSVファイルに出力せよ。
※検索条件のモードを「詳細」に設定する
※検索条件のモードを「詳細」に設定する
「Level」列が中級である
「Capacity」列が20以上である
「Capacity」列が20以上である
追加課題2-8
難易度 ★ ★☆☆☆
取得したテーブルデータを下記の条件でフィルタリングしてから、CSVファイルに出力せよ。
「Date」列が1週間以内の日付である
追加課題2-9
難易度 ★ ★☆☆☆
取得したテーブルデータを下記の条件でフィルタリングしてから、CSVファイルに出力せよ。
「Date」列が今月の日付である
追加課題2-10
難易度 ★ ★☆☆☆
取得したテーブルデータを下記の条件でフィルタリングしてから、CSVファイルに出力せよ。
「Date」列が翌月の日付である
追加課題2-11
難易度 ★ ★☆☆☆
取得したテーブルデータから、下記の列のみを抽出してCSVファイルに出力せよ。
※検索条件のモードを「詳細」に設定する
※検索条件のモードを「詳細」に設定する
Date、Level、Title、Place
| Date | Level | Title | Place |
|---|---|---|---|
| 2023/12/6 | 初級 | Lv.0 入門講座「RPA1Dayスタート研修」 | オンライン |
| * | * | * | * |
追加課題2-12
難易度 ★ ★ ★☆☆
取得したテーブルデータに、下記の列(値は「ChatGPT」などの生成AIで生成する)を新規追加してから、CSVファイルに出力せよ。
「Title」列に関連する書籍情報
| Date | Title | Place | Recommendation |
|---|---|---|---|
| 2023/12/6 | Lv.0 入門講座「RPA1Dayスタート研修」 | オンライン | RPAを一から学ぼう(●●出版) |
| * | * | * | * |
【課題3】Webデータ取得(構造化編)
追加課題3-1
難易度 ★☆☆☆☆
「仕切り」や「コメント」を使用して、課題3のフローの可読性を向上させよ。
追加課題3-2
難易度 ★☆☆☆☆
取得するページやデータの最大数を、ユーザーの入力(入力ダイアログやカスタムフォームなど)から読み取るように変更せよ。
追加課題3-3
難易度 ★☆☆☆☆
「追加課題3-2」で、ユーザーが入力した値が正の整数ではない場合、下記のようにメッセージボックスに出力せよ。
入力された値が正の整数ではありません。
追加課題3-4
難易度 ★☆☆☆☆
取得したブログデータを下記の条件でフィルタリングしてから、CSVファイルに出力せよ。
「カテゴリ」列が「催し物」又は「読書のすゝめ」である
追加課題3-5
難易度 ★ ★ ★☆☆
取得したブログデータを下記の条件でフィルタリングしてから、CSVファイルに出力せよ。
「題名」列に特定のNGワード(複数設定可)が含まれない
※特定のNGワードは、外部のファイル(Excelやスプレッドシートなど)から読み取ること
※特定のNGワードは、外部のファイル(Excelやスプレッドシートなど)から読み取ること
| NGワード |
|---|
| 危険 |
| お金 |
| * |
追加課題3-6
難易度 ★ ★ ★ ★☆
取得したブログデータに、下記の列(値は「ChatGPT」などの生成AIで生成する)を新規追加してから、CSVファイルに出力せよ。
ブログ記事の要約文(300文字以内)
| 作成日 | カテゴリ | 題名 | 要約文 | URL |
|---|---|---|---|---|
| 2019/11/5 | 思考法 | 【仕事解説】常に10年後を考え、 仕事の幅を広げて行こう | どのような仕事を行う場合でも、働くことの本質を理解しておくことが大切です。 先ずは、あなた自身の仕事について、下記のことから考えてみましょう。… | https://coach-tomi.com/ 2019/11/05/increase-job-types/ |
| * | * | * | * | * |
追加課題3-7
難易度 ★ ★☆☆☆
「追加課題3-6」で、もし生成AIが生成したブログ記事の要約文が300文字を超えた場合は、最初の300文字のみを切り取って出力せよ。
追加課題3-8
難易度 ★ ★ ★ ★☆
データスクレイピングの「自動ページ送り機能」を使わずに、指定した件数またはページ数のブログデータを取得せよ。
追加課題3-9
難易度 ★ ★ ★ ★ ★
標準のデータスクレイピングを使わずに、指定した件数またはページ数のブログデータを取得せよ。
【課題4】Excelリストを用いた繰り返し処理
追加課題4-1
難易度 ★☆☆☆☆
「仕切り」や「コメント」を使用して、課題4のフローの可読性を向上させよ。
追加課題4-2
難易度 ★☆☆☆☆
取り違えを防ぐために、検索する度に検索条件(都道府県やキーワード)をリセットせよ。
追加課題4-3
難易度 ★☆☆☆☆
Excelリストの「イベント件数」列には数値だけ出力せよ。
| 都道府県 | キーワード | イベント件数 | サンプル |
|---|---|---|---|
| オンライン | RPA | 13 | Lv.0 入門講座「RPA1Dayスタート研修」 |
| * | * | * | * |
追加課題4-4
難易度 ★☆☆☆☆
検索結果が0件の場合は、Excelリストの「サンプル」列には「(該当データなし)」と出力せよ。
| 都道府県 | キーワード | イベント件数 | サンプル |
|---|---|---|---|
| オンライン | RPA | 0 | (該当データなし) |
| * | * | * | * |
追加課題4-5
難易度 ★ ★☆☆☆
各「都道府県」と「キーワード」の組の検索結果(テーブルデータ)を、下記のようなフォルダ構成で一つずつCSVファイルに出力せよ。
| 第1階層 | 第2階層 | 第3階層 |
|---|---|---|
| OUTフォルダ | ||
| ∟ | [yyyyMMdd_HHmmss] | |
| ∟ | [都道府県]_[キーワード].csv |
追加課題4-6
難易度 ★ ★☆☆☆
「追加課題4-5」で、検索結果が0件の場合は、下記のようなフォーマットでテキストファイルにログを出力せよ。
※ファイル名にタイムスタンプを付ける
※ファイル名にタイムスタンプを付ける
[2023/12/06 12:00:03] 検索結果0件(都道府県:オンライン、キーワード:RPA)
[2023/12/18 09:12:31] 検索結果0件(都道府県:東京都、キーワード:ChatGPT)
[2023/12/23 18:41:08] 検索結果0件(都道府県:大阪府、キーワード:プログラミング)
[2023/12/18 09:12:31] 検索結果0件(都道府県:東京都、キーワード:ChatGPT)
[2023/12/23 18:41:08] 検索結果0件(都道府県:大阪府、キーワード:プログラミング)
追加課題4-7
難易度 ★ ★☆☆☆
「追加課題4-6」のログ出力の機能をモジュール化(サブフローやカスタムアクションなど)せよ。
| 方向 | パラメータ | タイプ |
|---|---|---|
| 入力 | テキストファイルのパス | 文字列 |
| 入力 | ログのメッセージ | 文字列 |
追加課題4-8
難易度 ★ ★ ★☆☆
各「都道府県」と「キーワード」の組の検索結果(テーブルデータ)を、下記のようなフォーマットで一つのCSVファイルに出力せよ。
| 都道府県 | キーワード | Date | Title | Place |
|---|---|---|---|---|
| オンライン | RPA | 2023/12/6 | Lv.0 入門講座「RPA1Dayスタート研修」 | オンライン |
| オンライン | RPA | * | * | * |
| 東京都 | ChatGPT | * | * | * |
| 東京都 | ChatGPT | * | * | * |
| 大阪府 | プログラミング | * | * | * |
| * | * | * | * | * |
【課題5】Excelリストを用いたメール送信(条件分岐)
追加課題5-1
難易度 ★☆☆☆☆
「仕切り」や「コメント」を使用して、課題5のフローの可読性を向上させよ。
追加課題5-2
難易度 ★☆☆☆☆
メールを繰り返し送信していく間隔が短く、メールサーバーの処理が追い付かないかもしれないので、待ち時間を確保せよ。
追加課題5-3
難易度 ★ ★☆☆☆
仮に、メール送信時に何かしらのエラーが発生した場合、全体の処理が途中で止まってしまう。これを避けるための例外処理を実装せよ。
追加課題5-4
難易度 ★☆☆☆☆
「追加課題5-3」で、メール送信に失敗した場合は、下記のようなフォーマットでテキストファイルにログを出力せよ。
※ファイル名にタイムスタンプを付ける
※「追加課題4-7」のモジュールを利用する
※ファイル名にタイムスタンプを付ける
※「追加課題4-7」のモジュールを利用する
[2023/12/06 12:00:01] メール送信に失敗(企業:株式会社いぬ、担当者:犬)
[2023/12/06 12:01:03] メール送信に失敗(企業:株式会社おに、担当者:鬼)
[2023/12/06 12:01:03] メール送信に失敗(企業:株式会社おに、担当者:鬼)
追加課題5-5
難易度 ★ ★ ★☆☆
処理速度の向上およびエラー発生の減少のために、各プランのテンプレートファイルの参照を、オブジェクトデータや辞書配列などを介した方法に変更せよ。
【課題6】複数の受信メールからのデータ抽出(正規表現)
追加課題6-1
難易度 ★☆☆☆☆
「仕切り」や「コメント」を使用して、課題6のフローの可読性を向上させよ。
追加課題6-2
難易度 ★☆☆☆☆
受信メールを取得する際に、件名などで絞り込みせよ。
追加課題6-3
難易度 ★☆☆☆☆
正規表現でのデータ抽出に失敗した場合は、Excelリストの各列には「なし」と出力せよ。
| 予約番号 | 日付 | 開始時刻 | 終了時刻 | 利用料金 |
|---|---|---|---|---|
| なし | 2020/8/7 | 13:00 | 15:00 | 15,000 |
| 24351 | なし | なし | なし | 11,000 |
| 33358 | 2020/12/5 | 09:00 | 11:00 | なし |
| * | * | * | * | * |
追加課題6-4
難易度 ★☆☆☆☆
正規表現でのデータ抽出に失敗した場合は、下記のようなフォーマットでテキストファイルにログを出力せよ。
※ファイル名にタイムスタンプを付ける
※「追加課題4-7」のモジュールを利用する
※ファイル名にタイムスタンプを付ける
※「追加課題4-7」のモジュールを利用する
[2023/12/06 12:00:03] 予約番号のデータ抽出に失敗(メール受信日時:2023/11/12 11:32:09)
[2023/12/06 12:01:08] 日時のデータ抽出に失敗(メール受信日時:2023/11/13 18:21:20)
[2023/12/06 12:02:13] 利用料金のデータ抽出に失敗(メール受信日時:2023/11/13 09:51:11)
[2023/12/06 12:01:08] 日時のデータ抽出に失敗(メール受信日時:2023/11/13 18:21:20)
[2023/12/06 12:02:13] 利用料金のデータ抽出に失敗(メール受信日時:2023/11/13 09:51:11)
追加課題6-5
難易度 ★☆☆☆☆
課題で使用する各項目の正規表現を、「ChatGPT」などの生成AIで生成せよ。
追加課題6-6
難易度 ★ ★☆☆☆
メールの題名が下記のようになった場合に対応せよ。
[予約番号14321] 会議室の予約完了のお知らせ (2020/8/7)
追加課題6-7
難易度 ★ ★ ★☆☆
下記のデータも抽出してCSVファイルに出力せよ。
・会議室
・会議室の部屋番号(別表から会議室の名前で照合)
・会議室の部屋番号(別表から会議室の名前で照合)
[別表]
| 部屋番号 | 会議室 | 収容人数 | 内線番号 |
|---|---|---|---|
| 101 | 小会議室 | 5 | 1234 |
| 201 | 中会議室 | 10 | 5678 |
| 301 | 大会議室 | 20 | 9876 |
| 401 | セミナールーム | 30 | 4321 |
| * | * | * | * |
[出力表]
| 予約番号 | 日付 | 開始時刻 | 終了時刻 | 会議室 | 部屋番号 | 利用料金 |
|---|---|---|---|---|---|---|
| 14321 | 2020/8/7 | 13:00 | 15:00 | 大会議室 | 301 | 15,000 |
| * | * | * | * | * | * | * |
追加課題6-8
難易度 ★☆☆☆☆
「追加課題6-7」で、会議室の部屋番号の照合に失敗した場合は、「部屋番号」列には「なし」と出力せよ。
| 予約番号 | 日付 | 開始時刻 | 終了時刻 | 会議室 | 部屋番号 | 利用料金 |
|---|---|---|---|---|---|---|
| 14321 | 2020/8/7 | 13:00 | 15:00 | 大会議室 | なし | 15,000 |
| * | * | * | * | * | * | * |
追加課題6-9
難易度 ★☆☆☆☆
「追加課題6-7」で、会議室の部屋番号の照合に失敗した場合は、下記のようなフォーマットでテキストファイルにログを出力せよ。
※ファイル名にタイムスタンプを付ける
※「追加課題4-7」のモジュールを利用する
※ファイル名にタイムスタンプを付ける
※「追加課題4-7」のモジュールを利用する
[2023/12/06 12:00:03] 会議室の部屋番号の照合に失敗(メール受信日時:2023/11/12 11:32:09)
[2023/12/06 12:01:08] 会議室の部屋番号の照合に失敗(メール受信日時:2023/11/13 18:21:20)
[2023/12/06 12:01:08] 会議室の部屋番号の照合に失敗(メール受信日時:2023/11/13 18:21:20)
追加課題6-10
難易度 ★ ★ ★☆☆
正規表現ではなく生成AIを使って、受信メールからデータを抽出せよ。
チャレンジ課題A
課題A-1
難易度 ★ ★ ★☆☆
このページに掲載している追加課題の情報を、下記のようにCSVファイルに出力せよ。
| No | タグ | 難易度 |
|---|---|---|
| 1-2 | 例外処理 | 1 |
| 1-3 | セレクタ設定 テキスト処理 | 2 |
| * | * | * |
チャレンジ課題B
課題B-1
難易度 ★ ★☆☆☆
下記のイベントサーチAPIにリクエストして、レスポンス(JSON)をメッセージボックスに出力せよ。
[リクエストURL]
https://script.google.com/macros/s/AKfycbyZAqFQ8KumB_mPgeAdHmQQZN51oKWCS2_z9am_JmctW74Ii-PHHzMy8jH48ZklNEQqUQ/exec
[クエリパラメータ]
・pref(都道府県)
・keyword(キーワード)
https://script.google.com/macros/s/AKfycbyZAqFQ8KumB_mPgeAdHmQQZN51oKWCS2_z9am_JmctW74Ii-PHHzMy8jH48ZklNEQqUQ/exec
[クエリパラメータ]
・pref(都道府県)
・keyword(キーワード)
課題B-2
難易度 ★ ★☆☆☆
「課題B-1」で、レスポンス内のcountの値をメッセージボックスに出力せよ。
課題B-3
難易度 ★ ★ ★☆☆
「課題B-1」で、レスポンス内のevents(イベント情報)を、下記のようにCSVファイルに出力せよ。
| Date | Title | Place |
|---|---|---|
| 2023/12/6 | Lv.0 入門講座「RPA1Dayスタート研修」 | オンライン |
| * | * | * |
チャレンジ課題C
課題C-1
難易度 ★ ★ ★ ★☆
こちらのブログ情報を定期的(毎日または毎週)に収集する。前回実行した時から新着したブログ情報のみを、下記のようにCSVファイルやExcelファイルの一番下の行に追記せよ。
※APIを使用してブログ情報を取得すること
※APIを使用してブログ情報を取得すること
| 日付 | 題名 | カテゴリ | タグ | URL |
|---|---|---|---|---|
| * | * | * | * | * |
| * | * | * | * | * |
| 2020.05.10 | 【自助の精神】人々は今、どう生きるべきか? | 思考法 | 価値観,環境,生き方 | https://coach-tomi.com/2020/05/10/self-help-spirit/ |
| 2021.09.12 | 個人のリソース(時間やお金)の賢い「使い方」について考えてみた | 思考法 | お金,成長,時間,生き方 | https://coach-tomi.com/2021/09/12/use-of-resources/ |
課題C-2
難易度 ★ ★☆☆☆
「課題C-1」で、新着したブログの情報をメールで、下記のように通知せよ。
新着ブログ情報(2件)
--------------------
●2021.09.12
個人のリソース(時間やお金)の賢い「使い方」について考えてみた
https://coach-tomi.com/2021/09/12/use-of-resources/
●2020.05.10
【自助の精神】人々は今、どう生きるべきか?
https://coach-tomi.com/2020/05/10/self-help-spirit/
--------------------
--------------------
●2021.09.12
個人のリソース(時間やお金)の賢い「使い方」について考えてみた
https://coach-tomi.com/2021/09/12/use-of-resources/
●2020.05.10
【自助の精神】人々は今、どう生きるべきか?
https://coach-tomi.com/2020/05/10/self-help-spirit/
--------------------
課題C-3
難易度 ★ ★ ★☆☆
「課題C-2」で、メールを送信する代わりに、API連携を利用して任意のチャットアプリ(ChatworkやLINEなど)にメッセージを投稿せよ。
