当サイトではアフィリエイトプログラムを利用して商品を紹介しています。掲載リンクからご購入いただいた場合、当サイトに報酬が発生することがあります。

スプレッドシートの集計をAIに任せる|副業の売上・作業時間を毎朝自動でまとめる手順

ノートパソコンの画面に表計算のシートが開かれている机の上

副業を始めると、記録するものが一気に増えます。売上、かかった時間、経費、納品した日、次の締切。最初はメモでなんとかなりますが、3か月もすると「先月いくらだったか」を出すのに30分かかる、という状態になります。

この記事では、その集計を毎朝勝手に終わっている状態にするまでの手順を書きます。使うのはGoogleスプレッドシートとAIだけで、有料のツールは使いません。プログラミングの知識も要りません。

ポイントは2つです。ひとつは関数を自分で覚えずにAIに書かせること。もうひとつは「毎朝動く」を人の手から外すことです。後者を入れないと、結局「集計ボタンを押し忘れる」で止まります。

※本記事の各サービスの仕様は公式ドキュメントで確認したものです。


何を自動化して、何を自動化しないか

先に線を引きます。ここを混ぜると、作ったあとで直す時間のほうが大きくなります。

作業 扱い 理由
実績を1行入力する 人がやる 入力そのものは30秒。自動化しようとすると連携が増えて壊れやすい
集計する(合計・平均・件数) 自動 毎回同じ計算。関数を1回書けば終わる
今月と先月を比べる 自動 同じ計算の繰り返し
結果を見て何をするか決める 人がやる 毎回違う判断。自動化する対象ではない
毎朝まとめを出す 自動 時間で動かせる。押し忘れがなくなる

この記事で作るのは、真ん中の3つです。入力と判断は人の手元に残します。

手順1:記録する表を作る(列は7つで足りる)

凝った表は要りません。あとから列を足すのは簡単ですが、最初から多いと入力が続きません。

この7列だけ作る

列 入れるもの 入力のしかた
A 日付 作業した日 Ctrl+;(Macは⌘+;)で今日の日付が入る
B 案件名 どの仕事か 短くてよい。あとで絞り込みに使う
C 種類 記事/動画/画像 など プルダウンにする(後述)
D 工程 調べる/書く/確認 など プルダウンにする
E 分 かかった時間(分) 5分刻みでよい
F 売上 入金予定の金額 案件1件につき1行だけ入れる。工程ごとには入れない
G メモ 気づいたこと 1行でいい。ここが後で効く

C列とD列は、毎回手で打つと表記がぶれます。「動画」「ムービー」「動画編集」が混ざると、集計したときに別物として数えられてしまう。プルダウンにしておけば、この事故が起きません。

設定は、列を選んで データ → データの入力規則 → プルダウン から項目を並べるだけです。1分で終わります。

G列「メモ」を必ず作る理由

数字だけ並べても、あとで見返したときに理由が思い出せません。「この日だけ確認に45分かかっている。なぜだろう」となって、そこで止まります。

「数字を1つずつ当たり直した」と1行あれば、次に打つ手が決まります。集計には使わない列ですが、この列があるかないかで、記録が使えるものになるかどうかが変わります。

手順2:集計の関数をAIに書かせる

ここが本題です。関数を覚える必要はありません。やりたいことを日本語で説明して、書いてもらいます。

うまくいく頼み方

ただ「集計して」と言うと、使えない式が返ってきます。次の4つを必ず入れてください。

  1. どのソフトか(Googleスプレッドシート。ExcelとGoogleでは使える関数が違います)
  2. 列の構成(A列が日付、B列が案件名……と、そのまま書く)
  3. ほしい結果(何を、どの単位で)
  4. どこに置くか(別シートのこのセル、など)

実際に送る文面は、こんな形です。

Googleスプレッドシートの関数を書いてください。
「記録」シートは A列が日付、B列が案件名、C列が種類、D列が工程、E列がかかった分、F列が売上、G列がメモです。1行目は見出しです。
別シートの B2 に、今月の合計作業時間(分)を出したいです。
関数だけを返してください。説明は不要です。

「関数だけを返してください」を入れておくと、コピペしやすい形で返ってきます。長い解説が付いてくると、どこをコピーすればいいのか探す時間が発生します。

返ってきた式は、必ず小さく試す

ここを飛ばさないでください。AIが書いた式は、動くけれど意図と違うことがあります。

確かめ方は単純です。

  1. 手で数えられる小さい範囲(5行くらい)に同じ式を当ててみる
  2. 電卓で計算した値と合っているか見る
  3. 合っていたら、本番の範囲に広げる

特に間違いが起きやすいのが、期間の区切りです。「今月」と書いたつもりが、月末の1日が入っていない、去年の同じ月も足されている、といったことが起きます。5行で試せば、その場でわかります。

よく使う集計と、頼み方の例

出したいもの 頼み方の例
今月の合計作業時間 「A列の日付が今月のものについて、E列を合計して」
種類ごとの作業時間 「C列の値ごとに、E列の合計を出して。種類の一覧も自動で出るようにして」
工程ごとの平均 「D列ごとに、E列の平均を出して。小数第1位まで」
1件あたりの時間 「B列の案件名ごとに、E列の合計を出して」
先月との差 「今月の合計と先月の合計を並べて、差と増減率も出して」
時間あたりの売上 「F列の合計をE列の合計で割って、60を掛けて。1時間あたりの金額にして」

最後の「時間あたりの売上」は、出しておく価値があります。売上の金額だけ見ていると、時間を大量に使った案件が良く見えてしまうからです。

行が増えても壊れない書き方にする

記録は毎日増えます。ところが最初に書いた式が「A2からA100まで」のような固定範囲だと、101行目から集計に入りません。しかもエラーにならず、静かに数字が合わなくなります。これがいちばん厄介です。

これを防ぐには、頼むときに1行足します。

行が増えても自動で範囲が広がるようにしてください。行数を固定しないでください。

この一文があるだけで、列全体を対象にした書き方で返ってきます。あとから行を足しても数字がずれません。

手順3:毎朝まとめが出るようにする

ここまでで集計はできました。ただ、このままだと自分でシートを開いたときしか見ません。そして開かなくなります。

そこで、時間で動く仕組みを入れます。Googleスプレッドシートには、決まった時間に処理を走らせる機能があります。

時間で動くトリガーの設定

Google Apps Scriptというツールを使いますが、画面から設定するだけです。公式ドキュメントに手順が書かれています。

  1. スプレッドシートの 拡張機能 → Apps Script を開く
  2. 左側のトリガー(時計のアイコン)をクリック
  3. 右下のトリガーを追加をクリック
  4. イベントのソースを「時間主導型」、種類を「日付ベースのタイマー」、時刻を朝の時間帯にする
  5. 保存をクリックする

初回は、Googleアカウントへのアクセス許可を求められます。これは自分のシートを自分のスクリプトが触るための承認なので、画面の指示どおりに進めて問題ありません。

肝心の「何をするスクリプトか」も、AIに書いてもらえます。頼み方はこうです。

Google Apps Scriptのコードを書いてください。
「集計」シートの B2 に今月の合計作業時間、B3 に今月の売上が入っています。
この2つを本文に入れて、自分宛にメールを送る関数を作ってください。
件名は「今日の集計」と日付にしてください。

返ってきたコードをエディタに貼り付けて保存し、上のトリガーで毎朝呼び出すように設定すれば終わりです。

知っておくべき制限

公式ドキュメントに書かれている注意点のうち、実務で効いてくるものを挙げます。

  • 「インストール可能なトリガーは、常に作成者のアカウントで実行されます」 — 自分のアカウントの権限で動きます。他人と共有しているシートでも、動かすのは自分の権限です
  • 「ファイルが読み取り専用モードで開かれている場合、トリガーは実行されません」 — 閲覧権限しかないシートでは動きません
  • 「割り当て上限が適用されます」 — 1日に送れるメールの数などに上限があります。個人の副業の集計で超えることはまずありませんが、1分ごとに動かすような設定にすると別です

最後の点に関連して、実行の間隔は1日1回で十分です。「なるべく細かく」と設定したくなりますが、集計を1分ごとに見ても判断は変わりません。上限を消費するだけです。

止まったことに気づく仕組みを入れる

自動化で本当に困るのは、壊れることではありません。壊れたのに気づかないことです。

毎朝メールが届く形にしておくと、これが自然に解決します。届かなければ止まっているとわかるからです。逆に、シート上の数字が更新されるだけの形にすると、止まっても気づきません。

もう1つ、入れておくと安全なのが「最終更新日時」です。集計シートのどこかに、処理が走った日時を書き込むようにしておきます。数字を見たときに、それがいつ計算されたものかがわかります。

副業の記録を3つの層に分ける 人が触るのは上と下だけ。真ん中は自動にする ① 記録する(人) 7列の表に1行足すだけ。日付・案件・種類・工程・分・売上・メモ 種類と工程はプルダウンにして、表記のぶれを止める 30秒/日 ② 集計する(自動) 関数はAIに書かせる。行が増えても範囲が広がる書き方にする 合計・種類別・工程別・先月との差・1時間あたりの売上 0秒 ③ 受け取って決める(人) 毎朝メールで届く。届かなければ、止まっていると気づける 次にどの工程を削るかを決めるのは、ここ。自動化しない 1分/日

見るのは、この5つだけでいい

集計は増やそうと思えばいくらでも増やせます。ただ、増やすほど見なくなります。毎朝のまとめに入れるのは、次の5つで足ります。

項目 何がわかるか 見る頻度
今月の合計作業時間 使った時間の総量。増えすぎていないか 毎朝
工程別の作業時間 どこが長いか。次に削る場所 毎朝
先月の同じ日までとの差 速くなっているか、遅くなっているか 毎朝
1件あたりの平均時間 慣れてきたかどうか 週1回
1時間あたりの売上 時間に見合っているか 月1回

3つめの「先月の同じ日までとの差」は、入れておくと効きます。月の合計どうしを比べると、月末にならないと判断できません。同じ日数どうしで比べると、途中でも比較できます。

頼み方はこうです。

今月1日から今日までのE列の合計と、先月1日から先月の同じ日付までのE列の合計を、それぞれ出してください。月末で日数が足りない場合は、ある分までで計算してください。

最後の一文を入れないと、31日がない月でエラーになります。これは実際に3月末で引っかかりました。

逆に、入れてやめたもの

最初は入れていたが、見なくなったので外したものもあります。

  • グラフ — 毎朝メールで見るので、数字だけで足りました。作るのに時間がかかるわりに、判断が変わりません
  • 案件ごとの利益率 — 副業の規模だと経費の配分が曖昧で、数字が安定しませんでした。月1回、まとめて見るほうが実態に合います
  • 時間あたりの単価ランキング — 件数が少ないうちは順位が毎週入れ替わって、意味を読み取れませんでした

集計は「作れるから作る」と増えていきます。2週間見なかったものは外す、と決めておくと軽いまま保てます。

つまずきやすいところ

日付が文字列として入っている

いちばん多いのがこれです。「2026/9/27」と打ったつもりが、シートには文字として入っていて、日付として計算されない。合計がゼロになったり、期間の絞り込みが効かなかったりします。

見分け方は簡単です。セルの中で右寄せになっていれば日付、左寄せなら文字列です。左寄せになっていたら、その列を選んで 表示形式 → 日付 を当て直してください。

そもそも手で打たないのがいちばん確実です。冒頭に書いたショートカットを使えば、必ず日付として入ります。

種類の表記がぶれている

プルダウンにする前に入力した行は、表記がぶれたまま残っています。集計すると「動画」と「動画編集」が別々に出てきて、合計が合いません。

直すときもAIに頼めます。「C列の表記ゆれを一覧にして。似ているものをまとめて」と投げると、ぶれている組み合わせが出てきます。あとは置換するだけです。

関数は合っているのに、数字が合わない

この場合、だいたい原因は行の追加位置です。表の最終行の下に足したつもりが、集計範囲の外になっていることがあります。

前述の「行数を固定しないでください」を入れて書き直してもらえば解決します。すでに動いている式でも、投げ直せばすぐ直ります。

スクリプトが動かなくなった

ある日を境にメールが来なくなったら、まずApps Scriptの画面で実行数(左側のメニュー)を見てください。エラーで止まっている場合は、そこに記録が残っています。

よくある原因は、シート名を変えたこと、列を挿入して位置がずれたこと、の2つです。どちらも「シートの構造を変えたとき」に起きます。シート名と列の順番は、いったん決めたら変えないようにしておくと、この事故が減ります。

ここまでにかかる時間

やること 初回 2回目以降
表を作る(7列+プルダウン) 10分 —
集計の関数を書かせて確かめる 20〜30分 1つ足すのに3分
スクリプトとトリガーの設定 20分 —
毎日の入力 — 30秒
毎朝のメールを見る — 1分

初回に1時間ほど。そのあとは1日1分半です。手で集計していたときの「月末に30分」がなくなり、しかも毎日見えるようになります。

同じ考え方で、問い合わせの返信も短くできます。手順はメール返信をAIに下書きさせるに分けて書きました。

ここで作った記録は、あとで別の用途にも使えます。経費の説明に使う場合はAI副業の確定申告と経費、30日の進め方に当てる場合はAI副業は何から始めるかを見てください。無料の範囲で回るかどうかはAIの無料枠でどこまで副業できるかで扱っています。

まとめ

副業の記録を自動化するときの要点は3つです。

  1. 入力と判断は人の手元に残す。自動にするのは集計だけ。ここを混ぜると、直す時間のほうが大きくなります
  2. 関数は覚えずにAIに書かせる。ソフト名・列の構成・ほしい結果・置き場所の4つを伝える。返ってきた式は5行で試してから広げる。「行数を固定しないでください」を必ず足す
  3. 毎朝メールで届く形にする。これが「止まったことに気づく仕組み」を兼ねます。シートの数字が更新されるだけの形だと、止まっても気づけません

作業時間を記録すること自体の考え方は、生成AI副業が「稼げない」と言われる理由に書きました。何を自動化するか迷ったときは、Claude Codeで副業を自動化するの「任せる・自分でやる・やめる」の分け方も参考になると思います。

よくある質問

Excelでも同じことができますか?

集計の部分はできます。ただし、関数の書き方がGoogleスプレッドシートとは違うので、AIに頼むときは「Excelの関数で」と必ず指定してください。指定しないと、Excelでは使えない関数が返ってくることがあります。毎朝自動で動かす部分は、Excelだと別の仕組みが必要になるので、この記事の手順そのままではできません。無料で完結させたいなら、Googleスプレッドシートのほうが早いです。

関数を自分で理解できていなくても大丈夫ですか?

使うだけなら問題ありません。ただし、結果が正しいかどうかは自分で確かめてください。5行くらいの小さい範囲で、電卓の答えと合っているかを見る。これだけで十分です。理解していなくても、合っているかどうかは確かめられます。逆に、確かめずに使うと、間違った数字をもとに判断することになります。

売上の管理までスプレッドシートでやっていいですか?

記録として持つ分には問題ありません。ただ、確定申告が必要な規模になったら、会計ソフトに移したほうが早いです。スプレッドシートの集計は「いま何が起きているか」を見るためのもので、申告用の帳簿とは別物と考えてください。この記事の表は、金額よりも作業時間を見るためのものです。

AIに自分の売上データを渡して大丈夫ですか?

関数を書いてもらうだけなら、データそのものを渡す必要はありません。列の構成だけを伝えれば式は書けます。「A列が日付、B列が案件名……」と説明するだけで十分です。実際の金額や取引先名を入力欄に貼る必要はありません。本業のデータや、クライアントの情報が入っている場合は特に、渡さずに済む形を選んでください。

毎朝のメールが多くて見なくなりそうです

それなら週1回に変えてかまいません。トリガーの設定で「週ベースのタイマー」を選ぶだけです。大事なのは頻度ではなく、届かなかったときに気づけることです。ただ、毎日入力する習慣をつけたい最初の1か月だけは、毎朝のほうが効きます。慣れたら週1回に落としてください。

スクリプトのコードが読めなくても平気ですか?

動かすだけなら平気です。ただし、知らないコードをそのまま動かす前に、何をするコードなのかをAIに日本語で説明させてください。「このコードが何をするか、3行で説明して」と聞けば返ってきます。自分のスプレッドシートとメールを触るものなので、意図しない動作をしないかだけは確認しておくと安心です。

まずは7列の表を作って、今日の1行を入れる

トリガーの種類と制限は公式ドキュメントに一覧があります。設定の前に一度目を通しておくと、動かないときの切り分けが早くなります。

Apps Scriptのトリガー公式ドキュメント

上部へスクロール