Slide 1

Slide 1 text

その集計、GASに任せましょう @自動化大好きエンジニアLT会 – vol.6 2022/2/2 株式会社ラクス 吉田 均

Slide 2

Slide 2 text

自己紹介 吉田 均 ( よしだ ひとし ) SIer を経て 2020 年 11 月にラクス入社 楽楽精算モバイルアプリ開発チームのリー ダーを担当 趣味: TV ゲーム ( 今更 Overcooked2 にハマる ) Android 開発 (JetpackCompose 楽しい )

Slide 3

Slide 3 text

個人開発的なもの ゲームダメージチェッカー ・ Kotlin ・ JetpackComponent パスワード生成器 ・ JetpackCompose ・ Firebase Hosting コマンド式ゲーム ・ JetpackCompose+Hilt ・ Firebase RDB 野球ゲーム的な何か … ・ Compose?Flutter? 頓挫

Slide 4

Slide 4 text

これはGASによって定型作業の 時間を半減したお話です 本日の要旨

Slide 5

Slide 5 text

存在していた課題 ● 管理業務の一環としてメンバーの日々の作業内容と実働を週一でチェックし ている ( どんな作業にどれだけ時間使ったか ) ● Redash から Excel にエクスポートして手作業 ● 少ない時はよかったがメンバーも増えてきて地味にコストがかさみ始める ○ 多い時で週 2h ほどこの作業に使用

Slide 6

Slide 6 text

どうしたものか ん?表計算?定型作業?

Slide 7

Slide 7 text

そうだ、GASを使おう

Slide 8

Slide 8 text

GASとはなにか ● 正式名称 GoogleAppScript で Google の提供するプログラミング言語 ● Google アカウントさえあれば無償利用可能 ( 無償の場合一部制限あり ) ● ブラウザ上で直接コーディングできるのでエディタも不要 ● ベースは JavaScript なので軽量で簡易な内容であれば習熟も容易 ● 各 Google サービスと親和性が高い ( 連携が容易 ) ● API さえあれば Google 以外のサービスとも連携可能 (Slack 、 Teams 等 ) 自動化入門としてはうってつけの手軽さ、汎用性の高さがウリ ( 特に自社が GoogleWorkspace を採用している場合、相性抜群 )

Slide 9

Slide 9 text

GASでできること ● Gmail × SpreadSheet → 問い合わせメールを動的に作成し自動返信 ● Calendar × Slack → その日の予定をチャットで通知 ● Document × SpreadSheet → 断片的なメモから議事録を自動作成 ● SpreadSheet × LINE → チャットボットを作成 ● SpreadSheet → API 化して簡易 DB として利用 ● SpreadSheet → 計算処理を自動化 ★今回やったこと

Slide 10

Slide 10 text

STEP1

Slide 11

Slide 11 text

GASでバリデートを自動化 人がやる場合 1. 表を一行ずつ目視 2. 該当セルの入力内容がルールを満たしてい るか突き合わせて確認 3. 満たしていない場合、コメントを記入 GAS に任せる場合 1. 表を 1 行ずつループ 2. 該当セルの入力内容がルールを満たしてい るか判定 3. 満たしていない場合、同行右端列にコメント を記入 BEFORE AFTER

Slide 12

Slide 12 text

セル内容を取得する場合 セルに書き込む場合

Slide 13

Slide 13 text

STEP2

Slide 14

Slide 14 text

GASで担当者別稼働集計を自動化 人がやる場合 1. 表を担当者別でフィルタリング 2. 稼働行の値を加算 3. 合計時間を記載 GAS に任せる場合 1. 表を担当者別でフィルタリング 2. 稼働行の値を取得し加算 3. 合計時間を出力 BEFORE AFTER フィルタリングとか簡単にできるんだろうか … ?

Slide 15

Slide 15 text

できます

Slide 16

Slide 16 text

フィルタリングには FilterCriteria を使用 フィルター条件を準備 フィルターを適用 終わったフィルターをリセット 指定できるトリガー ( フィルタリング条件 ) 例 ● setHiddenValues … 指定した値に一致しないセルのみ表示 ● whenCellEmpty … 空のセルのみ表示 ● whenTextEqualTo … 引数で指定した文字列に一致するセルのみ表示

Slide 17

Slide 17 text

GASによって定型作業時間の半 減に成功 結果

Slide 18

Slide 18 text

おすすめポイント ❖ Google アカウントさえあれば無償利用可能 ( 無償の場合一部制限あり ) ❖ ブラウザ上で直接コーディングできるのでエディタも不要 ➢ 手軽に始められ敷居が低い ❖ 各 Google サービスと親和性が高い ( 連携が容易 ) ❖ API さえあれば Google 以外のサービスとも連携可能 (Slack 、 Teams 等 ) ➢ 拡張性が高く自分達の環境にカスタマイズしやすい ❖ ベースは JavaScript なので軽量で簡易な内容であれば習熟も容易 ❖ 目に見えて結果が分かるので楽しい ➢ エンジニアでない方に特にオススメ

Slide 19

Slide 19 text

GASすごい Thank you for listening !! 結論