Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
その集計、GASに任せましょう / 20220202_automation
Search
Rakus_Dev
February 03, 2022
Technology
0
730
その集計、GASに任せましょう / 20220202_automation
Rakus_Dev
February 03, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
『楽楽電子保存』開発チームが挑む「AI駆動開発」の全貌 / rakustechcon2025-rakurakudenshihozon
rakus_dev
1
280
数字と感情で語るスクラム導入効果。『楽楽勤怠』開発チームの変革の軌跡 / rakustechcon2025-rakurakukintai
rakus_dev
0
280
分割と統合で学んだサイロ突破術—『楽楽販売』開発組織10年の軌跡と持続的成長の仕組み / rakustechcon2025-rakurakuhanbai
rakus_dev
0
260
『メールディーラー』へのAI機能実装─"20年"の歴史を持つ製品への導入プロセス / rakustechcon2025-maildealer
rakus_dev
0
260
新サービス『楽楽請求』!何を作るかより"なぜ作るか" 顧客価値から逆算する開発現場のリアル / rakustechcon2025-rakurakuseikyu
rakus_dev
0
260
なぜ、成熟市場で"売上120%成長"を続けられるのか?『配配メール』の顧客志向型プロダクト開発戦略 / rakustechcon2025-haihaimail
rakus_dev
0
250
『楽楽精算』15年の進化と未来への挑戦 〜経理の"楽"から、すべての働く人の"楽"へ〜 / rakustechcon2025-rakurakuseisan
rakus_dev
0
270
AI時代にプロダクトマネジメントは必要だけどプロダクトマネージャーは役割として必要なのだろうか? / Product Management in the Age of AI
rakus_dev
0
220
AIは精算業務をどう変える? 自律型エージェントが実現する未来のワークフロー / RAKUS AI Meetup-1
rakus_dev
0
690
Other Decks in Technology
See All in Technology
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
1
270
我々は雰囲気で仕事をしている / How can we do vibe coding as well
naospon
1
130
はじめての転職講座/The Guide of First Career Change
kwappa
5
4.5k
夢の印税生活 / Life on Royalties
tmtms
0
150
Amazon Inspector コードセキュリティで手軽に実現するシフトレフト
maimyyym
0
150
キャリアを支え組織力を高める「多層型ふりかえり」 / 20250821 Kazuki Mori
shift_evolve
PRO
2
170
Backboneとしてのtimm2025
yu4u
3
730
あとはAIに任せて人間は自由に生きる
kentaro
3
720
形式手法特論:位相空間としての並行プログラミング #kernelvm / Kernel VM Study Tokyo 18th
ytaka23
3
1.5k
PFEM Online Feature Flag @ newmo
shinyaishitobi
2
160
サイボウズフロントエンドの横断活動から考える AI時代にできること
mugi_uno
3
1.2k
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
0
1.3k
Featured
See All Featured
Code Review Best Practice
trishagee
69
19k
Gamification - CAS2011
davidbonilla
81
5.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Writing Fast Ruby
sferik
628
62k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Balancing Empowerment & Direction
lara
2
570
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
How to Ace a Technical Interview
jacobian
279
23k
GitHub's CSS Performance
jonrohan
1031
460k
Into the Great Unknown - MozCon
thekraken
40
2k
Transcript
その集計、GASに任せましょう @自動化大好きエンジニアLT会 – vol.6 2022/2/2 株式会社ラクス 吉田 均
自己紹介 吉田 均 ( よしだ ひとし ) SIer を経て 2020 年
11 月にラクス入社 楽楽精算モバイルアプリ開発チームのリー ダーを担当 趣味: TV ゲーム ( 今更 Overcooked2 にハマる ) Android 開発 (JetpackCompose 楽しい )
個人開発的なもの ゲームダメージチェッカー ・ Kotlin ・ JetpackComponent パスワード生成器 ・ JetpackCompose ・
Firebase Hosting コマンド式ゲーム ・ JetpackCompose+Hilt ・ Firebase RDB 野球ゲーム的な何か … ・ Compose?Flutter? 頓挫
これはGASによって定型作業の 時間を半減したお話です 本日の要旨
存在していた課題 • 管理業務の一環としてメンバーの日々の作業内容と実働を週一でチェックし ている ( どんな作業にどれだけ時間使ったか ) • Redash から
Excel にエクスポートして手作業 • 少ない時はよかったがメンバーも増えてきて地味にコストがかさみ始める ◦ 多い時で週 2h ほどこの作業に使用
どうしたものか ん?表計算?定型作業?
そうだ、GASを使おう
GASとはなにか • 正式名称 GoogleAppScript で Google の提供するプログラミング言語 • Google アカウントさえあれば無償利用可能
( 無償の場合一部制限あり ) • ブラウザ上で直接コーディングできるのでエディタも不要 • ベースは JavaScript なので軽量で簡易な内容であれば習熟も容易 • 各 Google サービスと親和性が高い ( 連携が容易 ) • API さえあれば Google 以外のサービスとも連携可能 (Slack 、 Teams 等 ) 自動化入門としてはうってつけの手軽さ、汎用性の高さがウリ ( 特に自社が GoogleWorkspace を採用している場合、相性抜群 )
GASでできること • Gmail × SpreadSheet → 問い合わせメールを動的に作成し自動返信 • Calendar ×
Slack → その日の予定をチャットで通知 • Document × SpreadSheet → 断片的なメモから議事録を自動作成 • SpreadSheet × LINE → チャットボットを作成 • SpreadSheet → API 化して簡易 DB として利用 • SpreadSheet → 計算処理を自動化 ★今回やったこと
STEP1
GASでバリデートを自動化 人がやる場合 1. 表を一行ずつ目視 2. 該当セルの入力内容がルールを満たしてい るか突き合わせて確認 3. 満たしていない場合、コメントを記入 GAS
に任せる場合 1. 表を 1 行ずつループ 2. 該当セルの入力内容がルールを満たしてい るか判定 3. 満たしていない場合、同行右端列にコメント を記入 BEFORE AFTER
セル内容を取得する場合 セルに書き込む場合
STEP2
GASで担当者別稼働集計を自動化 人がやる場合 1. 表を担当者別でフィルタリング 2. 稼働行の値を加算 3. 合計時間を記載 GAS に任せる場合
1. 表を担当者別でフィルタリング 2. 稼働行の値を取得し加算 3. 合計時間を出力 BEFORE AFTER フィルタリングとか簡単にできるんだろうか … ?
できます
フィルタリングには FilterCriteria を使用 フィルター条件を準備 フィルターを適用 終わったフィルターをリセット 指定できるトリガー ( フィルタリング条件 )
例 • setHiddenValues … 指定した値に一致しないセルのみ表示 • whenCellEmpty … 空のセルのみ表示 • whenTextEqualTo … 引数で指定した文字列に一致するセルのみ表示
GASによって定型作業時間の半 減に成功 結果
おすすめポイント ❖ Google アカウントさえあれば無償利用可能 ( 無償の場合一部制限あり ) ❖ ブラウザ上で直接コーディングできるのでエディタも不要 ➢
手軽に始められ敷居が低い ❖ 各 Google サービスと親和性が高い ( 連携が容易 ) ❖ API さえあれば Google 以外のサービスとも連携可能 (Slack 、 Teams 等 ) ➢ 拡張性が高く自分達の環境にカスタマイズしやすい ❖ ベースは JavaScript なので軽量で簡易な内容であれば習熟も容易 ❖ 目に見えて結果が分かるので楽しい ➢ エンジニアでない方に特にオススメ
GASすごい Thank you for listening !! 結論