「毎月のタイムカードの集計作業に追われている」「外出先やリモートワーク中のスタッフの出退勤を、正確かつ手軽に記録したい」 そう考えたとき、真っ先に思い浮かぶのが市販の勤怠管理システムです。しかし、企業の規模や現場の勤務形態によっては、「機能が多すぎて使いこなせない」「毎月のランニングコストが高すぎる」と導入を躊躇してしまうケースが少なくありません。
そこでおすすめなのが、Googleが提供するノーコード開発プラットフォーム「Google AppSheet(アップシート)」を使って、自社専用の「出退勤簡易管理システム」を内製化することです。すでにGoogle Workspaceの「Business Starter」プランを契約している企業であれば、追加の月額費用を一切かけることなく、今日から開発をスタートできます。
しかし、「プログラミングなんて一度もやったことがない」「AppSheetというボタンがどこにあるのかすら分からない」という方も多いはずです。
結論から言うと、AppSheetは普段使っているGoogleスプレッドシートの画面から、わずか3クリックで起動してアプリの原型を自動生成できます。ただし、起動する前に「Googleアカウントのログイン状態」を正しく整えておかないと、せっかく作ったアプリが社内で共有できなくなる致命的な『落とし穴』があります。
本連載(全5回)では、AppSheetを触ったことがない超初心者の方を対象に、スマートフォンでワンタップ打刻ができる「出退勤簡易管理システム」をゼロから構築し、社内の別プラン(Standard)のユーザーや、個人Gmailアドレスを持つスタッフへ安全に共有するまでの全手順を、一つ一つ細かく徹底解説します。
第1回となる今回は、アプリの土台となるデータベースの作成から、AppSheetの正しい起動手順、そしてAIによる自動生成までをステップ・バイ・ステップで進めていきましょう。
目次
なぜAppSheetで「出退勤管理」なのか?Starterプランで始めるべき3つの理由
AppSheetの有料プラン(AppSheet Core)は、通常単体で契約すると1ユーザーあたり月額$10かかります。しかし、Google WorkspaceのBusiness Starterプランには、この「AppSheet Core」ライセンスが標準で一括付帯しています。つまり、社内メンバー全員が追加コストゼロでアプリを利用・共有できる環境がすでに整っているのです。
数ある業務改善の中で、なぜ最初に「出退勤簡易管理システム」を作るのがベストなのでしょうか。理由は以下の3点にあります。
- データ構造が非常にシンプルであるため:「誰が」「いつ」「出勤した(または退勤した)」という最小限のデータで成り立つため、ノーコード開発の基本を学ぶのに最適です。
- スマホの端末機能と相性が良いため:カメラを使ったバーコード読み取りや、GPSによる位置情報の取得など、AppSheetが最も得意とする機能を体験しやすいテーマです。
- 導入効果がすぐに現れるため:手書きの出勤簿からデジタル打刻に切り替わるだけで、毎月末の転記や集計の手間が劇的に削減されます。
ただし、連載の後半で詳しく解説しますが、Starterプランには「30GBのストレージ容量制限」という大きな壁があります。将来的に「打刻時に顔写真を撮影して保存する」といった重い運用を追加すると、社内のシステム全体がパンクするリスクを秘めています。そのため、まずは「テキストデータのみを記録する、超軽量でスマートな打刻アプリ」を作ることを本連載のゴールとします。
アプリの土台となる「打刻シート」をスプレッドシートに1つずつ作成する手順
AppSheetでアプリを作る際、最初に行うのは「アプリの画面を作る」ことではありません。「データを保存する場所(スプレッドシート)を綺麗に整える」ことから始まります。AppSheetのAIは、スプレッドシートの構造を読み取ってアプリの形を自動的に推測するため、この準備を丁寧に行うことが成功の絶対条件です。
それでは、PCでGoogle Chromeを開き、以下の手順通りに打刻シートを作成してください。
新しいGoogleスプレッドシートを開く
- 普段お使いの会社のGoogleアカウント(Business Starter)でGoogle Workspaceにログインします。
- 画面左上にある 九つの黒丸 ボタンをクリックし、メニューから [Google スプレッドシート] を選択します。
- 新しい空のスプレッドシートが開いたら、画面左最上部にある「無題のスプレッドシート」と書かれたテキストをクリックし、わかりやすいように 「出退勤打刻マスター」 という名前に書き換えます。
1行目に「項目名(ヘッダー)」を細かく入力する
スプレッドシートの 「1行目(A1セル〜E1セル)」 に、アプリの入力項目となる名前を左から順番に、1セルずつ正確に入力していきます。
- A1セル:打刻ID (※データが重複しないように、システムが裏側で割り振る管理番号の置き場です)
- B1セル:社員名 (※誰がボタンを押したかを記録する項目です)
- C1セル:日時 (※何月何日、何時何分にボタンが押されたかを記録する項目です)
- D1セル:打刻タイプ (※「出勤」なのか「退勤」なのかを区別するための項目です)
- E1セル:位置情報 (※スマートフォンで打刻した場所のGPSデータを記録する項目です。第2回で実装します)
2行目に「テスト用データ」を1件だけ手入力する
空っぽのシートのままAppSheetに読み込ませると、AIが「この列にはどんな性質のデータ(文字なのか、数字なのか、日付なのか)が入るのか」を判断できなくなります。そのため、必ず2行目に1件だけダミーのデータを入力しておきます。
- A2セル:1
- B2セル:テスト太郎
- C2セル:202X/XX/XX 09:00:00(XXではなくテスト用の数値を入力してみて下さい)
- D2セル:出勤
- E2セル:35.6812, 139.7671 (※東京駅の座標の例です。文字のままで構いません)
⚠️ ここで絶対に守るべきお約束ルール
スプレッドシートの1行目や2行目で、「セルの結合」は絶対にしないでください。 また、1行目を丸ごと空白にして、2行目から項目を書き始めるのも厳禁です。AppSheetが「どこがデータの区切りなのか」を見失い、この後の自動生成で100%エラーの原因になります。
迷子にならない!スプレッドシートからAppSheetを起動する全ステップ
スプレッドシートの準備が整ったら、いよいよAppSheetを起動してアプリを自動生成させます。ここからは画面の切り替わりが速いため、手順を一つずつ確認しながら進めてください。
拡張機能メニューからアプリ作成を指示する
- 先ほど作成した「出退勤打刻マスター」のスプレッドシートの画面のまま、上部メニューバーにある [拡張機能] をクリックします。
- 表示されたドロップダウンメニューの中から、[AppSheet] にマウスカーソルを合わせます。
- さらに右側に表示されるメニューから、[アプリを作成] をクリックします。
初期化とアカウント連携の承認(約30秒〜1分)
- 画面が自動的に切り替わり、中央に青いグラフィックとともに「Setting up your new app…(新しいアプリを設定中)」というメッセージが表示されます。ここでは何も触らずに待機してください。AppSheetのAIがスプレッドシートの構造を解析しています。
- 初めてAppSheetを起動する場合のみ、Googleから「AppSheetがGoogleアカウントへのアクセスを求めています」という英語または日本語の権限確認ポップアップ画面が表示されます。
- 画面下部にある青色の [Allow(許可する)] または [承認] ボタンをクリックします。これを許可しないと、アプリがスプレッドシートにデータを書き込むことができません。
開発画面(エディタ)の確認
承認が完了すると、英語の表記を中心としたAppSheetの本格的な開発画面(エディタ)が立ち上がります。「Welcome to your app!」というポップアップが表示された場合は、右上の「×」ボタンか、[Customize your app] というボタンを押して閉じてください。
画面の構成は大きく分けて以下の3つに分かれています。
- 左側のナビゲーションメニュー:データの設定や画面のデザインを切り替えるメニューが並んでいます。
- 中央の作業エリア:具体的な関数の設定やボタンの配置調整を行う場所です。
- 右側のプレビュー画面:現在のアプリがスマートフォンでどう見えているかがリアルタイムに表示されています。
プレビュー画面を見てみてください。先ほどスプレッドシートの2行目に入力した「テスト太郎」のデータが、すでに綺麗なマップ形式で画面に表示されているはずです。
【最大の落とし穴】起動直後に多発する「アカウント迷子エラー」とシークレットモードの活用
実は、上記のステップを正常に進めたつもりでも、多くの企業で「作成したアプリがどこかへ消えてしまった」「別のアカウントに紐づいてしまい、社内で共有できない」というトラブルが起動直後に多発しています。
これが、実務で誰もが一度はハマる「マルチアカウント(アカウント混在)の罠」です。
なぜアプリが迷子になるのか?
多くの人は、同じブラウザ(Google Chromeなど)の中で、会社用のWorkspaceアカウント(yamada@company.com)と、個人用のGmailアカウント(yamada@gmail.com)の両方にログインし、タブを切り替えて使っています。
この状態でスプレッドシートの「拡張機能」からアプリを作成すると、Googleのスプレッドシート自体は会社のアカウントで開いているにもかかわらず、AppSheet側がブラウザのログインセッションを誤認し、個人のGmailアカウントの所有物としてアプリを生成してしまうことが頻繁に起こります。
その結果、以下の重大な問題が発生します。
- 翌日になるとエディタが開けない:会社のアカウントでAppSheetにログインしても、アプリ一覧に存在しないため、「作ったはずのアプリが消えた」とパニックになります。
- 標準付帯ライセンスの対象外になる:個人のGmail側(無料枠)でアプリがデプロイされるため、社内の他のメンバーにアプリを共有しようとした瞬間、「外部ユーザー共有」とみなされて月額$10の追加課金を要求されるか、アクセスがブロックされます。
確実に罠を回避する「シークレットウィンドウ」の手順
このアカウント混在による悲劇を100%防ぐための、絶対ルールが「開発はシークレットウィンドウで行う」ことです。今後は以下の手順を徹底してください。
- Google Chromeを開いた状態で、キーボードの [Ctrl] + [Shift] + [N] (Macは [Command] + [Shift] + [N])を押して、真っ黒な画面の「シークレット ウィンドウ」を新しく立ち上げます。
- そのシークレットウィンドウ内で、会社用のGoogleアカウント1つだけにログインします。
- そこからスプレッドシートを開き、[拡張機能] > [AppSheet] > [アプリを作成] の手順を踏みます。
シークレットウィンドウ内には個人のアカウントのデータが一切存在しないため、AppSheetがアカウントを誤認する余地が完全にゼロになり、確実に会社のStarterプランの枠内に安全なアプリを構築できます。
【もっと学びたい人へ】編集部おすすめのAppSheet参考書
「WEB記事だけでなく、手元に体系的な教科書を置いて、AppSheetの基本を基礎からじっくり学びたい!」という社内開発者の方に向けて、G Cafe編集部が実務で本当に役に立ったおすすめの参考書をご紹介します。
📖 Google AppSheet ではじめるノーコードアプリ開発入門
【おすすめポイント】 AppSheetを初めて触る方を対象に、画面の実際のキャプチャ(画像)をふんだんに使って解説されている入門書です。「どこを開けばいいか分からない」という状態からでも、本を見ながら一歩ずつ操作を真似するだけで、業務アプリの基本がマスターできます。社内開発をスタートする担当者なら、デスクに1冊置いておきたい「最初のバイブル」です。
次回予告:第2回「GPS&自動時刻取得の実装」へ
お疲れ様でした!今回は連載の第1回として、出退勤簡易管理システムの第一歩を細かく進めてきました。
今回の手順を振り返ると、
- Googleドライブから「出退勤打刻マスター」シートを作成し、1行目のヘッダーと2行目のテストデータを綺麗に整えた
- スプレッドシートの「拡張機能」からAppSheetを起動し、権限を承認した
- マルチアカウントの落とし穴を回避するため、シークレットウィンドウでの開発の鉄則を学んだ
これで、あなたのスマートフォンの画面上に、スプレッドシートとリアルタイムで連動する「タイムカードの原型」が誕生しました。
しかし、現在のアプリのプレビュー画面で右下の「+」ボタンを押してみると分かりますが、「日時」や「位置情報」を、スタッフがキーボードで自分で手入力しなければいけない状態になっています。これでは、打刻時間をいくらでも誤魔化すことができてしまい、勤怠管理システムとしては使えません。
そこで次回の第2回は、「【AppSheetで出退勤管理・第2回】スマホのGPSと打刻時刻を自動取得!不正を防ぐスプレッドシート設計ルール」をお届けします。 スタッフが入力フォームを開いた瞬間に、「現在の正確なサーバー時間」と「スマホのGPS位置情報」を強制的に自動取得し、人の手による書き換えを一切禁止するための具体的な関数(NOW() や HERE())の設定手順を、どこよりも細かく解説します。これができれば、一気に実用的な打刻アプリへと進化します。次回も一歩ずつ進めていきましょう!