
Google Apps Script
イベント

マガジン
該当するコンテンツが見つかりませんでした
技術ブログ
こんにちは。ニフティの基幹システムグループ インフラシステムチームに所属している轟木です。 担当業務はオフィス及びデータセンターのネットワーク設計・構築・運用です。 今回は、育休中に感じた家事分担のモヤモヤをきっかけに作った「家事トラッキングシステム」について紹介します。 家事はお互いにやっているはずなのに、なぜか「自分の方が多くやっている気がする」。この感覚を減らすために、Slack、Google Apps Script、Google スプレッドシート、Looker Studioを組み合わせて、家事を記録・可視化する仕組みを作りました。 背景:既存アプリが我が家に合わなかった 夫妻で同時期に育休を取ったことで、家にいる時間が増えました。すると、これまで見えにくかった家事の分担が気になるようになりました。 お互いに家事も育児もしているのに、 自分の方が家事を多くやっている気がする 相手がいつ何をしてくれたのか分かりにくい 「やった」「やっていない」が感覚ベースになり、話し合いづらい という状態になっていました。 最初は家事分担アプリも試しましたが、用意されたテンプレートが我が家の家事の粒度や負担感と合わず、記録のためだけに新しいアプリを開く習慣も定着しませんでした。 そこで、普段から使っているSlackとスプレッドシートを中心に、自分たちの生活に合わせた仕組みを作ることにしました。 Claudeに要件定義から相談した 最初にClaudeへ、改善したい点と使いたいサービス名を伝えました。 入力はできるだけ簡単にしたい 夫妻それぞれの家事をポイント化したい Slack、Google スプレッドシート、Looker Studioを使いたい 将来的にはAlexaから音声入力したい するとClaudeは、目的、スコープ、システム構成、データ設計、運用ルールまで含めた要件定義書を作ってくれました。 育児中でまとまった時間を取りづらい中でも、普段の業務ではあまり触らないSlack AppやGASまわりの設計・実装を短時間で進められました。 作ったもの 今回作った構成は次の通りです。 流れはシンプルです。Slackで家事ボタンを押すと、GASがイベントを受け取り、Google スプレッドシートにログを書き込みます。そのログをLooker Studioで集計・可視化します。 ポイントは、入力導線を「普段から開いているSlack」に寄せたことです。よく使う家事はボタンとして常に表示し、頻度が低い家事はプルダウンから選べるようにしました。 実際のSlack画面は以下のような形です。 家事をしたら、該当するボタンを押すだけで記録完了です。できるだけ考えずに入力できるようにしたことで、記録のハードルを下げられました。 工夫したところ 家事マスタをスプレッドシートで管理する 家事マスタはコードに埋め込まず、Google スプレッドシートで管理しました。 家事マスタ内の家事項目やポイントを変えたい時は、スプレッドシートを編集するだけで済みます。運用しながら家庭内ルールを調整しやすいようにしました。 ポイントは1〜5点で、作業時間だけでなく、頻度・負担感・心理的ハードルも考慮して夫妻で決めています。 ログを集計しやすい形にする 家事を記録するたびに、ログシートへ1行追加する形にしました。 ログには、日時、記録者、家事ID、家事名、ポイント、カテゴリ、入力経路を保存します。後からLooker Studioで集計しやすいように、1回の家事を1行として扱うシンプルな形にしています。 Slackボタン方式にした Slack入力は、スラッシュコマンドではなくボタン方式にしました。 スラッシュコマンドは3秒以内にレスポンスを返す必要があります。一方、GASのWebアプリはコールドスタート時に数秒かかることがあり、タイムアウトする可能性があります。 そのため、ボタン付きメッセージからGASのエンドポイントを呼び出す方式にしました。ボタン選択にすることで、家事名の表記ゆれも避けられます。 Looker Studioで可視化する 記録したログは、Looker Studioで可視化しました。 主に見ているのは、今週の家事ポイントと、どのジャンルの家事が多いかです。 ポイントで家事の大変さを完全に表せるわけではありませんが、偏りや貢献が数字で見えるだけで、感覚だけで話すより冷静に振り返れるようになりました。 導入して変わったこと 導入して一番変わったのは、「自分ばかり家事をしている」という感覚が減ったことです。 数字として見えるようになると、相手がやってくれていた家事にも気づきやすくなります。また、自分のポイントが増えると少しうれしく、家事に対するモチベーションも上がりました。 誤タップをきっかけに「押したならやるか」と実際に家事をすることもあり、記録の仕組みが行動にも少し影響するのは想定外でした。 苦労しているところ:Alexa連携 次の改善として、Alexaからの音声入力にも挑戦しています。当初はAlexaをメイン入力、Slackボタンを補助入力にする想定でしたが、現在はDeveloper Consoleのシミュレータでは動く一方で、実機ではLambdaまでリクエストが届かない状態です。 今回は完成しているSlack入力を中心に紹介しましたが、音声入力までできると、さらに記録のハードルを下げられそうです。 まとめ Claudeに要件定義から相談し、Slack、GAS、Google スプレッドシート、Looker Studioを組み合わせて、家庭内の家事トラッキングシステムを作りました。 使っている技術はどれも一般的なものです。それでも、普段の生活に合う入力導線を作り、家事を自分たちの基準で定義し、リアルタイムに可視化することで、家事分担のモヤモヤを減らすことができました。 今回の一番の学びは、AIを使うことで、既存アプリでは合わせきれなかった家庭ごとの事情を要件として整理し、自分たち用の小さな仕組みに落とし込めることです。 同じように、家庭内のタスク管理や家事分担にモヤモヤを感じている方の参考になればうれしいです。
G-gen の荒井です。当記事は Google Cloud Next '26 in Las Vegas の1日目に行われたブレイクアウトセッション「 Fast-track to Google Workspace: Smooth migration, adoption, and interoperability 」の速報レポートをお届けします。 G-gen Tech Blog では、現地でイベントに参加したメンバーや、日本から情報をウォッチするメンバーが、Google Cloud Next '26 に関連する記事を発信します。 blog.g-gen.co.jp セッションの概要 データ移行の課題と新しいアプローチ 従来のデータ移行における課題と役割分担 Data Import の概要と利点 今後のロードマップ ロードマップの概要 Office 編集モード Google ドキュメント Google スプレッドシート Google スライド Google Apps Script(GAS) ドライブと SharePoint Chat、Meet、Teams 戦略の転換 パワーユーザー層へのアプローチと5つのユーザー層 Foundational(一般ユーザー) Analyst(分析者) Executive(経営層) Legal(法務) Ecosystems(エコシステム) セッションの概要 当セッションでは Google Workspace へスムーズに移行するための新しいアプローチとツールが紹介されました。具体的には、インフラストラクチャを必要としない新しいデータ移行ツール「 Data Import 」や、Gemini を活用した Microsoft Office ファイルの 相互運用性の向上 、そしてレガシーな マクロの変換機能 について解説されました。 これらの機能により、移行にかかるコストと時間を大幅に削減し、ユーザーの生産性を早期に高めることが期待できます。 参考 : データ インポート ツールについて | Data migration | Google Workspace Help データ移行の課題と新しいアプローチ 従来のデータ移行における課題と役割分担 従来のシステムから Google Workspace へ移行する際、移行作業は大きな障壁となります。従来のデータ移行プロセスにおいて直面しやすい主な課題は以下の通りです。 課題 詳細 時間とコスト 従来のオンプレミス型データ移行ツールでは移行ツールのライセンス費用や移行ツールを稼働させるインフラ基盤の費用が発生し、データ移行が高額になる傾向があります。 移行速度の遅延 移行は数ヶ月に及ぶプロセスとなることが多く、そのタイムラインからビジネスオペレーションに支障をきたす可能性があります。 エラーデータ 完璧な移行ツールは存在しないため、データ損失のリスクも発生します。また不完全なデータが存在する場合、パートナーや顧客が独自のスクリプトを作成したり手動で対応したりしなければならないケースもあります。 また移行プロジェクトを進めるにあたり、以下関係者による協力が不可欠です。 関係者 役割 お客様 プロジェクトの監督およびデータ移行作業だけでなく、新しいツール導入に関する運用ルールの策定やユーザー教育を主導。 パートナー 導入計画の策定やシステム設計などプロジェクトの管理。 Google 移行を容易にするガイダンス、テクニカルサポート、および包括的なデータ移行ツールの提供。大規模で複雑な移行には、Google のプロフェッショナルサービス組織が技術的監督やアーキテクチャ支援でパートナーをサポート。 Data Import の概要と利点 Google は、クラウドネイティブな新しいデータ移行システム「 Data Import 」を発表しました。仮想マシンやクラウドインフラの構築、インストールが不要なため、従来のデータ移行に比べコスト負荷が低減されます。 特徴 詳細 ゼロコスト クラウドネイティブツールであり、仮想マシンなど追加インフラコストなしで利用可能です。 包括的なデータ移行 メール、カレンダー、連絡先などのコアデータに加え、Outlook のルール、カレンダー設定、暗号化されたコンテンツ、Microsoft Teams などの多様なデータソースやメタデータも単一のツールで移行可能です。 管理性 管理コンソールに組み込まれ、シームレスにデータ移行を実行できます。 高速な移行 特に Exchange Online からの移行において、従来のデータ移行ツールの5倍の速度を実現します。 移行計画 ソースデータ(アカウント)のスキャンからデータに基づいた正確な予測に置き換えることが可能です。また移行完了までに必要な時間の見積り(タイムライン)を算出できます。 高いスケーラビリティ 1バッチあたり最大5,000ユーザー、最大10バッチを並行して実行でき、計50,000ユーザーの同時移行が可能です。 参考 : Google Workspace Updates: Introducing data import: An easier, faster, and higher-fidelity migration to Google Workspace at no additional tool cost 今後のロードマップ ロードマップの概要 Data Import は2026年4月現在、Exchange Online からの移行において一般提供されています。今後はさらにサポート対象を拡大し、より包括的なデータ移行を実現する予定です。 今後のロードマップは以下の通り計画されています。 Q2 (4月〜6月) Exchange Online への機能追加(In-place archives、グループメールボックス、タスク、暗号化 E メール等) OneDrive と Microsoft Teams がベータ版公開 Q3 (7月〜9月) OneDrive と Microsoft Teams が一般公開 SharePoint Online のベータ版および一般公開 GCC High 環境への対応 Office 編集モード Gmail での Office 編集 (Q2 にベータ版公開予定) Gmail 上で直接 Office ファイルを編集・返信できます。 Google ドキュメント 法務向けなどの機能強化 キャプション、相互参照、行番号、スモールキャップスなどをネイティブにサポートします。 Google スプレッドシート パフォーマンスとスケール向上 セルの制限数が従来の2倍(2,000万セル)に拡張されます。 高度な分析機能 ピボットテーブルやチャート機能が強化されます。 Google スライド 埋め込みメディアサポート (2026年6月頃にベータ版公開予定) PowerPoint からインポートした際の埋め込みオーディオやビデオをサポートします。 パフォーマンス向上 (2026年6月頃にベータ版公開予定) スライドの容量制限が従来の5倍に拡張されます。 Google Apps Script(GAS) 自然言語による VBA 変換 (2026年6月頃にアルファ版公開予定) 自然言語の指示でレガシーな Excel マクロを Google Apps Script(GAS)に変換し、Google スプレッドシートで使用できるようにします。 GAS のコアサービス化 (2026年6月頃に一般公開予定) GAS が Google Workspace のコアサービスに認定され、エンタープライズグレードの信頼性、セキュリティ、コンプライアンスを満たせるようになります。 自然言語でのデバッグ (2026年6月頃にアルファ版公開予定) GAS のエラー修正が、自然言語による対話形式で可能になります。 ドライブと SharePoint 承認機能 (2026年6月頃に一般公開予定) アプリを横断したワークフローを可能にする、軽量な承認機能が搭載されます。API も実装される予定です。 Workspace Studio (一般公開済み) AI ネイティブな自動化やエージェント作成が可能であり、Microsoft Power Automate の代替手段となり得ます。 Chat、Meet、Teams Meet ハードウェア相互運用性 (一般公開済み) 1タッチで Microsoft Teams や Zoom の会議に直接参加できます。 Chat のゲストアカウント (一般公開済み) 外部ユーザーをフル機能で Chat に招待しつつガバナンスを維持できます。 戦略の転換 パワーユーザー層へのアプローチと5つのユーザー層 これまで Google は「大多数のユーザーが使いやすいこと」を重視し、一部の高度な機能を使う「パワーユーザー」は Microsoft Office などの他社製品を利用し続ける傾向にあると分析していました。 しかし、Gemini の登場によって、この考えは大きく変わりました。パワーユーザー向けの機能開発において、Google は投資をこれまでの5倍に増やし、パワーユーザーが必要とするすべての機能を Google Workspace で提供する方針へと転換しました。 単に Microsoft の機能をそのまま真似るのではなく、 変更履歴 や グラフ作成 といった基本機能から根本的に作り直しています。具体的には、以下の5つのユーザー層に向けて機能を強化していく想定が述べられました。 Foundational(一般ユーザー) Analyst(分析者) Executive(経営層) Legal(法務) Ecosystems(エコシステム) Foundational(一般ユーザー) メールで Office ファイルを共同編集するにあたり「Outlook と Word」よりも「Gmail と Google ドキュメント」の組み合わせが一番使いやすい状態を目指します。 Analyst(分析者) Google スプレッドシートのパフォーマンスを向上させ、分析者や財務部門が求める高度なデータ分析を可能にします。 パフォーマンスとスケール セルの制限数を従来の2倍(2,000万セル)に拡張(2026年4月現在、ベータ版公開済み)。さらに将来的に再度2倍にする計画があります。 高度な分析機能 ピボットテーブルやチャート機能を強化します。 Executive(経営層) Google スライドを強化し、経営層が求めるレベルの高いプレゼンテーション資料の作成に対応します。 スライドの容量制限の拡張 スライドの容量制限を従来の5倍に拡張します。 埋め込みメディアサポート Microsoft PowerPoint からインポートした際の埋め込みオーディオやビデオをシームレスにサポートします。 Legal(法務) Google ドキュメントで、法務部門に必須の厳格な文書フォーマットを完全に再現できるようにします。 法務向けフォーマット キャプション、相互参照、行番号、スモールキャップスなどをネイティブにサポートし、Word ファイルとの完璧なラウンドトリップ(Google ドキュメントで編集したデータを Microsoft Word で開いても、データやレイアウトが損なわれないことを指す)を保証します。 変更履歴の再設 2026年末までに、Microsoft Word との相互運用性を損なうことなく、変更履歴機能を根本的に再設計します。 Ecosystems(エコシステム) 外部システムと直接連携できるようにし、Microsoft 365 から Google Workspace に移行しても、これまでの業務フローを変えずに作業できるようにします。 SAP、Oracle、Litera、ServiceNow、Workday などのサードパーティ製エコシステムに、Google ドキュメント、スプレッドシート、スライドを直接組み込みます。 これらの進化により、組織の Google Workspace への移行と定着、そして新しい働き方へのトランスフォーメーションがこれまで以上に加速することが強調されました。 荒井 雄基 (記事一覧) クラウドソリューション部 クラウドサポート課 オンプレ環境のネットワーク・サーバーシステムを主戦場としていたが、クラウド領域にシフト。現在は Google Workspace を中心に企業の DX 推進をサポート。 ・ Google Cloud Partner Top Engineer 2025 / 2026 ・Google Cloud 認定資格 7冠 ・Jagu'e'r エバンジェリスト Follow @arapote_tweet
本記事は 春のスキルアップ応援フェア2026 4/23付の記事です 。 皆さんこんにちは! 気づいたらToDoの数がとんでもなく増えていきがち。 どうも、いとさんです。 実は、人間は「完了したこと」よりも「やり残していること」の方を強く覚えてしまう ゼイガルニク効果 という性質があるそうです。 リストが増えれば増えるほど、脳が勝手に「あれもやってない、これもやってない」と通知を出し続けている状態なんですね。バックグラウンドで常にタスクが動いているようなもので、これでは脳が休まる暇もありません。 参考・引用: 「中途半端に終わっているものほどよく覚えている『ゼイガルニク効果』とは」 引用: リクナビNEXTジャーナル この「脳内のバックグラウンドプロセス」を終了させてスッキリさせるためには、まずは情報を頭の外に追い出すことが不可欠です。 さて今回は、 「飲みの場で決まった予定」や「やるべきこと」 を、スマホからサッと入力して自分に通知したい。そんな願いを、GoogleフォームとGoogle Apps Script(GAS)だけで叶える個人開発に挑戦しました。 🛠 実装ステップ:自分専用ToDo通知Botの作り方 今回の開発は、大きく分けて 3つのフェーズ で進めます。 入力インターフェース(Googleフォーム)の作成 プログラム(GAS)の実装 自動実行(トリガー)と権限の承認 ステップ1:入力インターフェース(Googleフォーム)の作成 まずはToDoを入力するための窓口を作ります。 Googleフォーム を新規作成します。 以下の2つの質問を用意します。 タイトル: ToDoの内容 (記述式) タイトル: 期限 (日付) 「回答」タブを開き、「スプレッドシートに表示」をクリックして、回答保存用のシートを新規作成します。 ステップ2:プログラム(GAS)の実装 次に、データをメールに変換して飛ばす機能を実装します。 スプレッドシートを新規作成します。 スプレッドシートのメニューから 「拡張機能」 > 「Apps Script」 を開きます。 表示されたエディタ(コード.gs)の中身を一度空にして、以下のコードを貼り付けます。 /** * フォーム送信時に実行されるメイン関数 */ function onFormSubmit ( e ) { // 1. フォームの入力内容を受け取る // 質問タイトルと一文字も違わないように注意! const item = e.namedValues[ 'ToDoの内容' ] ? e.namedValues[ 'ToDoの内容' ][ 0 ] : "項目なし" ; // 2. 期限のデータを取得し、文字化けを防ぐ処理 let deadline = "期限なし" ; if (e.namedValues[ '期限' ] && e.namedValues[ '期限' ][ 0 ]) { try { // 日付を「yyyy/MM/dd」の形式に整形 const dateObj = new Date (e.namedValues[ '期限' ][ 0 ]); deadline = Utilities.formatDate(dateObj, "JST" , "yyyy/MM/dd" ); } catch (err) { // 変換失敗時はそのままの文字を使用 deadline = String (e.namedValues[ '期限' ][ 0 ]); } } // 3. 送信先(自分のGmail)を設定 // ※ ここを自分のアドレスに書き換え const recipient = 'your-email@gmail.com' ; // 4. メールの内容を組み立てる const subject = "✅【ToDo通知】" + item; const body = ` ━━━━━━━━━━━━━━━━━━ ✅ 内容: ${item} ✅ 期限: ${deadline} ━━━━━━━━━━━━━━━━━━ ※このメールはGoogle Apps Scriptから自動送信されています。 ` ; // 5. GmailAppを使って送信 try { GmailApp.sendEmail(recipient, subject, body); console .log( "送信成功!" ); } catch (error) { console .error( "送信に失敗しました: " + error.toString()); } } ステップ3:自動実行(トリガー)と権限の承認 ここが一番の難所でした。 GASエディタ左側の 「時計アイコン(トリガー)」 をクリックします。 右下の 「トリガーを追加」 を選択。 実行する関数: onFormSubmit イベントのソース: 「スプレッドシートから」 イベントの種類: 「フォーム送信時」 「保存」を押すと、Googleアカウントの承認画面が出ます。 自分のアカウントを選択 > 「詳細」 > 「(プロジェクト名)に移動(安全ではない)」 > 「許可」 をクリック。 これの意味が分からず永遠と安全なページに戻る(BACK TO SAFETY)を押し続けていました…。 1. なぜこの画面が出るのか? セキュリティ上の保護 Google Apps Scriptは、スプレッドシートの読み書きやメールの送信など、強力な操作が可能です。悪意のあるプログラムが勝手にデータを操作しないよう、Googleは「公式に審査・承認されたアプリ」以外が動こうとすると、ユーザーに注意を促す仕組みになっています。 「未承認」の状態だから あなたが自分で作ったスクリプトや、社内で共有されたばかりのスクリプトは、Googleによる個別の安全審査(認証)を受けていません。そのため、「どこの誰が作ったかわからない(Googleが保証していない)アプリが動こうとしていますよ」という警告が出ます。 自分で作成したスクリプトであれば、安全だとわかっているため、上記の手順で進めることができます。 ⚠️注意 信頼できるか確認する: 自分が書いたコードや会社から受け取ったものであれば問題ありません。 知らない人からのリンクは避ける: 全く知らない人が作ったスクリプトでこの画面が出た場合は、安易に許可しないよう注意してください。ドライブ内のファイルが盗まれたり、勝手にメールを送られたりするリスクがあります。 無事承認が完了するとトリガーが作成されます。 🧪 動作確認:いざ、テスト送信 設定が終わったら、エディタの「実行」ボタンは押さず、 実際のGoogleフォーム からデータを送ります。 フォームのプレビュー画面から「お昼は友達とランチ」と入力して送信。(日付はデフォルトから変更しないと期限なしで送信されました) 自分のメールフォルダを開き、数秒後に「 ✅ 【ToDo通知】」という件名のメールが届いていれば……完成です! テストも含めた実行ログは先ほど作成したスプレッドシートにきちんと保存されていました。(テスト中の眠気の凄さがうかがえますね) 💡実装で学んだエラーが出たらここを確認 「undefined」と出る: フォームの質問タイトルと、コード内の ['ToDoの内容'] が完全に一致しているか確認する。 メールが届かない: トリガーが正しく設定されているか、メールアドレスが正しく入力されているか見直しする。 ✨ まとめ 今回の開発を通じて、「エラーメッセージをよく読むこと」と「一つずつ権限を確認すること」の大切さを学びました。 「今日は推し活なので早く寝る」といった些細なToDoも、自作ツールから届くと少し特別な気分になりますね。 次は、期限の前日に自動でリマインドを送る「定期実行機能」や自動でカレンダーに予定を追加してくれる機能を追加して、さらに便利にしていきたいと思います! ありがとうございました!
動画
該当するコンテンツが見つかりませんでした











