Upgrade to Pro — share decks privately, control downloads, hide ads and more …

その集計、GASに任せましょう / 20220202_automation

Rakus_Dev
February 03, 2022

その集計、GASに任せましょう / 20220202_automation

Rakus_Dev

February 03, 2022
Tweet

More Decks by Rakus_Dev

Other Decks in Technology

Transcript

  1. 自己紹介 吉田 均 ( よしだ ひとし ) SIer を経て 2020 年

    11 月にラクス入社 楽楽精算モバイルアプリ開発チームのリー ダーを担当 趣味: TV ゲーム ( 今更 Overcooked2 にハマる ) Android 開発 (JetpackCompose 楽しい )
  2. 個人開発的なもの ゲームダメージチェッカー ・ Kotlin ・ JetpackComponent パスワード生成器 ・ JetpackCompose ・

    Firebase Hosting コマンド式ゲーム ・ JetpackCompose+Hilt ・ Firebase RDB 野球ゲーム的な何か … ・ Compose?Flutter? 頓挫
  3. 存在していた課題 • 管理業務の一環としてメンバーの日々の作業内容と実働を週一でチェックし ている ( どんな作業にどれだけ時間使ったか ) • Redash から

    Excel にエクスポートして手作業 • 少ない時はよかったがメンバーも増えてきて地味にコストがかさみ始める ◦ 多い時で週 2h ほどこの作業に使用
  4. GASとはなにか • 正式名称 GoogleAppScript で Google の提供するプログラミング言語 • Google アカウントさえあれば無償利用可能

    ( 無償の場合一部制限あり ) • ブラウザ上で直接コーディングできるのでエディタも不要 • ベースは JavaScript なので軽量で簡易な内容であれば習熟も容易 • 各 Google サービスと親和性が高い ( 連携が容易 ) • API さえあれば Google 以外のサービスとも連携可能 (Slack 、 Teams 等 ) 自動化入門としてはうってつけの手軽さ、汎用性の高さがウリ ( 特に自社が GoogleWorkspace を採用している場合、相性抜群 )
  5. GASでできること • Gmail × SpreadSheet → 問い合わせメールを動的に作成し自動返信 • Calendar ×

    Slack → その日の予定をチャットで通知 • Document × SpreadSheet → 断片的なメモから議事録を自動作成 • SpreadSheet × LINE → チャットボットを作成 • SpreadSheet → API 化して簡易 DB として利用 • SpreadSheet → 計算処理を自動化 ★今回やったこと
  6. GASでバリデートを自動化 人がやる場合 1. 表を一行ずつ目視 2. 該当セルの入力内容がルールを満たしてい るか突き合わせて確認 3. 満たしていない場合、コメントを記入 GAS

    に任せる場合 1. 表を 1 行ずつループ 2. 該当セルの入力内容がルールを満たしてい るか判定 3. 満たしていない場合、同行右端列にコメント を記入 BEFORE AFTER
  7. GASで担当者別稼働集計を自動化 人がやる場合 1. 表を担当者別でフィルタリング 2. 稼働行の値を加算 3. 合計時間を記載 GAS に任せる場合

    1. 表を担当者別でフィルタリング 2. 稼働行の値を取得し加算 3. 合計時間を出力 BEFORE AFTER フィルタリングとか簡単にできるんだろうか … ?
  8. フィルタリングには FilterCriteria を使用 フィルター条件を準備 フィルターを適用 終わったフィルターをリセット 指定できるトリガー ( フィルタリング条件 )

    例 • setHiddenValues … 指定した値に一致しないセルのみ表示 • whenCellEmpty … 空のセルのみ表示 • whenTextEqualTo … 引数で指定した文字列に一致するセルのみ表示
  9. おすすめポイント ❖ Google アカウントさえあれば無償利用可能 ( 無償の場合一部制限あり ) ❖ ブラウザ上で直接コーディングできるのでエディタも不要 ➢

    手軽に始められ敷居が低い ❖ 各 Google サービスと親和性が高い ( 連携が容易 ) ❖ API さえあれば Google 以外のサービスとも連携可能 (Slack 、 Teams 等 ) ➢ 拡張性が高く自分達の環境にカスタマイズしやすい ❖ ベースは JavaScript なので軽量で簡易な内容であれば習熟も容易 ❖ 目に見えて結果が分かるので楽しい ➢ エンジニアでない方に特にオススメ