0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「Geminiアプリ、ええやん」ってなった話。Claudeと二人三脚で作った集計アプリ

0
Last updated at Posted at 2026-08-01

Tips早見表

  • 集計を人力からアプリ化 → 時間短縮・ミス削減・期日遅れの解消を狙った
  • コードを考えて書くのはClaude、社内(Google Workspace)へ公開するのはGemini、という役割分担
  • 公開範囲は同じGoogle Workspaceのメンバー限定 → 手軽さと安全性を両立
  • 見た目は「開いた瞬間に難しそうと思わせない」を意識、迷いポイントは画面内の案内文に集約
  • 出力は画面表示・Excelダウンロード・スプレッドシート保存の3通り
  • GASあるある: コードを直しただけでは反映されない、再デプロイを忘れずに

はじめに

社内で起きていた課題

毎月おなじみの業務実績集計。集計自体は他のメンバーが担当しているのですが、この時期になると「報告遅れます」「ここの値、合っていますか」といった、お決まりのやりとりが目につくようになります。これまでは人の手で行っていて、そこには、こんな課題がありました。

課題 内容
時間がかかる 集計そのものに手間がかかり、担当者の負担が大きい
ミスが起きる 手作業が多いぶん、集計ミスも起きやすい
期日が厳しい 月末で〆て月初に報告というスケジュール自体がタイト

この3つを何とかしたくて、Excelアップロード型の集計Webアプリを作ることにしました。コード自体はすべてClaude Codeと一緒に書き、それをGeminiに渡してGoogle Apps Scriptのウェブアプリとしてデプロイ・公開してもらいました。この記事は、非エンジニアの自分がこの2段構えでアプリを2本(月次実績集計アプリ・半期実績集計アプリ)作った記録です。

なぜアプリの形にしたのか、なぜGeminiに公開を頼んだのか

社内ではGoogle Workspaceを使っていて、Claude Codeを使えるユーザーは一部に限られています。せっかく仕組みを作っても、自分だけが使えるものだと意味がありません。その点、Webアプリの形にしてしまえば、URLひとつ渡すだけで誰でも使えます。ログイン周りも新たに用意する必要がなく、社内の誰かに「これ使ってみて」と渡せる。この「URLで渡せる」という一点が、アプリ化を選んだ一番の理由でした。

もうひとつ気に入っているのは、安全面です。このアプリは同じGoogle Workspaceのメンバーしか開けないように公開していて、外部の人がURLを知ったとしても中身を見ることはできません。手軽に渡せる便利さと、社外に漏れない安心感を両立できているのは、地味に嬉しいポイントです。

ただ、最初から「アプリにしよう」と決めていたわけではありません。最初はいつも通りClaudeに集計の悩みを相談していて、その対話の中で「じゃあWebアプリにしてしまえば、社内の誰でも使えるようになりますね」という話になり、そこから方針が固まっていきました。目的が先にあって手段を選んだというより、相談しているうちに手段のほうが見えてきた、という順番です。

もうひとつの問題は、Claude Codeはローカルで動くツールなので、書いたコードをそのままGoogle Apps Scriptとして社内に公開する、というところまでは手が届かないことでした。そこで、コードが仕上がった後の「Google Workspace上に公開する」という工程だけをGeminiに引き継ぐ形にしました。Geminiとは仕様の相談はしておらず、役割は完全に分かれています。

担当 役割
Claude 仕様の相談・コードを書く
Gemini Google Workspace上へのデプロイ・公開

diagram-role-flow.png

作ったもの① 月次実績集計アプリ

コードを書き進める過程は、ずっと対話形式でした。こちらが「こういう集計をしたい」とざっくり投げると、「じゃあまずここから決めましょう」「次はこの項目です」というふうに、Claudeがどんどん選択肢を提示しながら一歩ずつ進めてくれます。

対話がとりわけ助かったのは、「見せ方」の部分でした。集計結果の表示方法について、Claudeから「タブ形式にして、切り口ごとに切り替えて見られるようにしましょう」と提案があり、それを採用しました。並び順についても、こちらが「店舗順でも見たいし、数量順でも見たい」と伝えると、そこから「ボタン一つで両方を切り替えられるようにしましょうか」という案が返ってきました。こちらが渡したのはほんの少しの要望なのに、そこを起点にいろんな案を広げて提案してくれるのがありがたかったです。

作ったところまでのアプリをその都度見せてくれるので、頭の中だけで完成形を想像する必要がなく、「あ、こういう画面になるのか」とイメージしながら次の指示を出せたのも助かりました。

そうやって組み上がったのが、社内システムから出力したExcelをアップロードすると、その場で商材ごとの実績10項目を、エリア別・店舗別・担当者別の3つの切り口で集計してくれるアプリです。集計はすべてブラウザの中で完結していて、アップロードしたExcelの中身が外部に送られることはありません。

diagram-app-flow.png

件数として数える項目は、行数をそのまま数えるのではなく伝票番号で重複を除いて数える、という仕様も入れています。同じ伝票の中に対象商品が複数行あっても、件数としては1件。逆に金額・数量として数える項目は重複排除せず、行の値をそのまま合算します。地味なようで、ここを取り違えると数字がまるっきり変わってしまうので、慎重に確認しながら詰めた部分です。

作ったもの② 半期実績集計アプリ

月次実績集計アプリと同じ考え方で、もう1本作ったのが半期実績集計アプリです。こちらは項目を主要な3項目に絞り込んだ代わりに、月次の実績表に加えて「過去◯年の同時期と比べてどうだったか」を対比する表を出せるのが特徴です。2本の違いをまとめると、こんな感じです。

月次実績集計アプリ 半期実績集計アプリ
項目数 10項目 3項目
見方 エリア別・店舗別・担当者別の月次実績 上記に加えて過去◯年との対比
特徴 幅広い商材を横断的に見る 過去との比較で傾向を見る

「今期の年」「開始月・終了月」「何年前まで遡るか」の4つを入力すると、指定した期間の実績と過去数年分の同時期を並べて比較してくれます。対比%(今期の実績 ÷ 過去平均 × 100)は色分けされていて、数字の変化がひと目でわかるようにしました。

対比% 意味
100%以上 過去平均以上
80〜100% ほぼ横ばい
80%未満 要注意

過去実績が0のケース(比較対象がまだ無い場合)は対比%が計算できないので「—」表示にする、といった細かい分岐も、Claudeと相談しながら一つずつ詰めていきました。

こだわったところ

見た目の拘り

一番意識したのは、開いた瞬間に「なんか難しそう」と思われないことでした。せっかく作っても、見た瞬間に敬遠されたら誰も使ってくれません。

集計アプリにありがちな「どこのデータを、どの指標で、どの期間分アップロードすればいいんだっけ」という迷いポイントも、極力画面の中に収めるようにしました。画面上部に「このデータを、いつ〆の分まで抽出して」という案内文を出すようにして、使う人が別途マニュアルを見返さなくても、画面を見れば次に何をすればいいか分かる状態を目指しました。

機能の拘り

出力もひとつに絞らず、用途に応じて選べるようにしています。集計結果はまずアプリの画面上でタブ切り替えしながら確認できて、そのままExcelとしてダウンロードすることも、Googleスプレッドシートとして保存することもできます。スプレッドシートの保存先も、あちこちに散らばらないよう固定のフォルダを指定していて、「あのシートどこいった?」とならないようにしました。

Geminiでの公開作業について

コードが書き上がってからのGeminiとのやり取りは、相談というよりは作業の引き継ぎに近いものでした。

それでも、何度か同じ失敗もしました。GASのコードを書き換えてもらった後、再デプロイを忘れるというやつです。公開中のURLを開いても、直したはずの表示や計算がそのまま古いバージョンで、修正前と見た目も動きも何も変わっていない。ブラウザをリロードしても、キャッシュを疑って何度も開き直しても変わらず、「あれ?直したはずなのに反映されてない、なんでー」と何度か首をかしげました。原因はシンプルで、コードを直しただけではウェブアプリ側には反映されず、あらためて「デプロイ」をしないと公開中のURLには反映されない、というGASの仕組みでした。これを身をもって覚えることになりました。

まとめ

今回わかったのは、要望がどれだけ複雑でも、一つずつひも解いて整理すれば形にできる、ということです。データの元は同じ業務実績のExcelなのに、「案件の件数で見たい」「個人ごとに見たい」「エリアごとに見たい」「過去と比較したい」「商材の個数を知りたい」「大枠の商材でまとめた売上値で知りたい」と、見たい切り口はかなりバラバラでした。最初は「え、これ全部同じアプリでやるの?」と少し面食らいましたが、Claudeと相談しながら「これは件数、これは金額」「これは月次、これは半期の対比」と一つずつ整理していくと、バラバラに見えた要望も、ちゃんと筋道立てて実装できるところまで持っていけました。

複雑さに気後れせず、まず分解してみる。それさえできれば、非エンジニアでもここまで作れるんだな、というのが今回の実感です。

もうひとつ、今回あらためて気づいたことがあります。「これは何件、これは金額でいくら」といった業務ロジックの判断は、事務職として過ごしてきた20年間で自然と身についていた感覚で、迷わず決められました。一方で、タブ表示や並び替えボタンのような「見せ方」の工夫は、こちらが言葉にできていなかった部分をClaudeの方から提案してもらうことが多く、ここは素直に助けられました。自分の経験だけでは辿り着けなかった形に、対話を通じて仕上がっていったんだな、と思います。

そして何より、自分ひとりでここまで形にできたことが、素直にめちゃくちゃ嬉しかったです。「これ、本当に自分が作ったんだ」という実感は、集計にかかる時間が減ったこと以上に、今回いちばんの収穫だったかもしれません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?