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
600
その集計、GASに任せましょう / 20220202_automation
Rakus_Dev
February 03, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
ARR100億超SaaSをさらに成長させるPdM組織の立ち上げと今後について
rakus_dev
0
430
B2B SaaSでSpringSecurityによる Roleを用いたユーザー権限設定の 実装について
rakus_dev
1
300
22歳になる長寿サービスのUI刷新 ~密結合システムからViewを分離した苦労話
rakus_dev
1
2.8k
【ラクステックカンファレンス2023】オープニングセッション/20230208_kude
rakus_dev
1
780
短納期でも進化をあきらめなかった新規プロダクト開発/20230208_matsuura_kawakami
rakus_dev
0
760
フロントエンド横断組織のチームトポロジー/20230208_kunieda
rakus_dev
0
960
ベテラン社員が抜けても若手が成長できるエンジニア組織づくり/20230208_otsuka_aramaki_kuyama
rakus_dev
0
780
デザイン組織が社内下請けから脱却するためにやったこと/20230208_kobayashi
rakus_dev
1
830
ゼロから始めるクラウドネイティブ/20230208_mikata_matsumoto
rakus_dev
0
720
Other Decks in Technology
See All in Technology
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
300
web-application-security
matsuihidetoshi
0
170
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
780
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
310
VS CodeでAWSを操作しよう
smt7174
8
1.7k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
1
160
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
110
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
2
480
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
240
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
170
Janus
bkuhlmann
1
490
Featured
See All Featured
Building an army of robots
kneath
300
41k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Facilitating Awesome Meetings
lara
42
5.6k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
The Invisible Side of Design
smashingmag
294
49k
Atom: Resistance is Futile
akmur
259
25k
Practical Orchestrator
shlominoach
182
9.7k
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 !! 結論