「来月は入金が多いから大丈夫」と思っていたら、外注先への支払いが2件重なって口座が一気に薄くなった。受託の資金繰りが苦しくなるのは、売上が足りないときよりも、入金と支払の時期がずれているときのほうが多いです。

資金繰り表は、そのずれを月ごとに並べて、先に手元が薄くなる月を見つけるための表です。スプレッドシートなら、シート3枚と EOMONTH / SUMIFS / IF / 条件付き書式の4つだけで作れます。手で入れるのは請求日・検収日・金額・支払サイトの4つで、入金予定日も月次の集計も月末残高も数式で出ます。

この記事では、コピーしてそのまま使える列設計と数式を載せます。Googleスプレッドシートで書いていますが、数式はエクセルでもそのまま動きます。

この記事の要点

  • 1枚にまとめず「入金予定」「支払予定」「月次サマリー」の3枚に分ける。1枚にすると月次集計が作れない
  • 入金予定日は =EOMONTH(請求日, サイトの月数)。月次集計は SUMIFS で日付の範囲を挟んで拾う
  • 見るのは当月の収支ではなく月末残高。マイナスになる月を条件付き書式で赤くして、3ヶ月前に気づく
資金繰り表のデータの流れを示した図。入金予定シートと支払予定シートと固定費が月次サマリーにSUMIFSで集計され、前月残高に当月収支を足した月末残高になり、マイナスの月が条件付き書式で赤くなることが確認できる

資金繰り表とは何を並べる表か

資金繰り表とは、これから入ってくるお金と出ていくお金を、売上が立った日ではなく実際に口座が動く日で並べて、月末に手元がいくら残るかを見る表です。

粗利表とは別物です。粗利は案件ごとに「売上−外注費」を見る表で、いつ入金されるかは見ません。資金繰り表は案件を分解せず、月ごとの入出金だけを見ます。粗利が出ている案件だけを受けていても、入金が3ヶ月先で外注費の支払いが来月なら、その間の残高は減ります。粗利の側は エクセルで粗利管理表を作る にまとめているので、2つを別の表として持つのがおすすめです。

資金繰りの考え方そのもの(何ヶ月先まで見るか、どこで手を打つか)は 受託・フリーランスの資金繰り管理 に書きました。この記事はその表を実際に作る手順です。

シートは「入金予定」「支払予定」「月次サマリー」の3枚に分ける

入金と支払を同じシートに混ぜると、月ごとの集計ができなくなります。行の種類(入金か支払か)を判定する列が増え、数式が読めなくなるためです。最初から3枚に分けます。

1枚目「入金予定」

列見出し入れ方
A案件名手入力
B取引先手入力
C請求額(税込)手入力
D請求日手入力
Eサイト(月)手入力。1=翌月末、2=翌々月末
F入金予定日数式
G入金実績日入金されたら手入力
H状態数式

F2 と H2 に入れる数式は次の2本だけです。下の行へコピーします。

F2: =IF($D2="","",EOMONTH($D2,$E2))
H2: =IF($D2="","",IF($G2<>"","入金済",IF($F2<TODAY(),"遅延","予定")))

EOMONTH(日付, n) は「nヶ月後の月末日」を返します。月末締め翌月末払いなら E列は 1、翌々月末払いなら 2 です。支払サイトが日数指定(例: 請求日から45日)の取引先だけは、F列の数式を =$D2+45 のように上書きしてかまいません。

2枚目「支払予定」

列の作りは入金予定とほぼ同じで、請求日が検収日に、取引先が外注先に変わります。

列見出し入れ方
A案件名手入力
B外注先手入力
C発注額(税込)手入力
D検収日手入力。未確定なら予定日を入れる
Eサイト(月)手入力
F支払予定日数式
G支払実績日支払ったら手入力
H状態数式
F2: =IF($D2="","",EOMONTH($D2,$E2))
H2: =IF($D2="","",IF($G2<>"","支払済",IF($F2<TODAY(),"期日超過","予定")))

外注先への支払いは、こちらの入金より先に来ることがほとんどです。検収日が未確定でも、予定日を入れて行を先に作っておきます。空欄のまま置くと、その支払いは月次サマリーのどの月にも乗らず、残高が実際より多く見えます。

3枚目「月次サマリー」

12ヶ月分の行を作ります。1行目は見出し、2行目が当月です。

列見出し入れ方
A月(1日)数式
B入金数式
C支払(外注)数式
D固定費手入力
E当月収支数式
F月末残高数式

別枠として H1に期首残高(今日時点の口座残高の合計)を入れておきます。

コピーして使える数式

月次サマリーに入れる数式です。A2から順に、13行目(12ヶ月先)までコピーします。

A2: =EOMONTH(TODAY(),-1)+1
A3: =EOMONTH(A2,0)+1

B2: =SUMIFS(入金予定!$C:$C,入金予定!$F:$F,">="&$A2,入金予定!$F:$F,"<="&EOMONTH($A2,0))
C2: =SUMIFS(支払予定!$C:$C,支払予定!$F:$F,">="&$A2,支払予定!$F:$F,"<="&EOMONTH($A2,0))

E2: =B2-C2-D2
F2: =$H$1+E2
F3: =F2+E3

A2 は当月1日を返すので、日付を手で直す必要がありません。翌月になればA列全体が自動でずれます。

SUMIFS の条件は「A2の1日以上、その月の月末日以下」で範囲を挟んでいます。日付の比較演算子は ">="&$A2 のように文字列とセル参照を & でつなぐ書き方が必要です。ここを ">=$A2" と書くと0円になります。

F列(月末残高)だけは、2行目と3行目で数式が違います。2行目は期首残高に当月収支を足し、3行目からは前の行の残高に足していきます。

D列の固定費には、家賃・通信費・サブスク・自分の役員報酬や生活費・税金の積立など、案件に関係なく毎月出ていくお金をまとめて入れます。細かく分けなくてかまいません。この表の目的は原価の分析ではなく、残高が足りる月と足りない月を分けることだからです。

危ない月を色で出す

数字を読む代わりに、色で気づける状態にします。条件付き書式の「カスタム数式」に次を入れます。

シート範囲カスタム数式色
月次サマリーF2:F13=$F2<0赤
月次サマリーF2:F13=AND($F2>=0,$F2<$D2)黄
入金予定A2:H=$H2="遅延"赤
支払予定A2:H=$H2="期日超過"赤

2つ目の黄色は「残高は残っているが、その月の固定費1ヶ月分を切っている」状態です。赤になってから動くと手が足りないので、実務ではこの黄色が出た時点で動きます。

遅れている入金の合計は、次の1行でどこかのセルに出しておくと毎月見る手間が減ります。

=SUMIFS(入金予定!$C:$C,入金予定!$H:$H,"遅延")

入力でつまずきやすい3つのポイント

  1. 金額は税込でそろえる。消費税も実際に口座を出入りするお金です。粗利表は税抜、資金繰り表は税込、と分けて考えます
  2. 締め日のある取引先は請求日をそのまま使えない。20日締め翌月末払いの相手に21日に請求すると、支払いは翌々月末になります。この場合のF列は =EOMONTH(IF(DAY($D2)>20,EOMONTH($D2,0)+1,$D2),$E2) のように締め日をまたぐ判定を入れます
  3. 源泉徴収がある場合は入金額が請求額と一致しない。源泉徴収が必要な報酬・料金の範囲は受け取る側が個人か法人かで異なり、法人が受け取る報酬で対象になるのは馬主である法人への競馬の賞金だけです(出典:国税庁「No.2792 源泉徴収が必要な報酬・料金等とは」、2026年10月1日確認)。個人で受けていて報酬から源泉徴収される取引先があるなら、C列とは別に「入金見込額」の列を作り、月次サマリーのSUMIFSはそちらを参照します

2番目の締め日のずれは、支払サイトそのものの影響額と合わせて理解しておくと判断が速くなります。30日と60日で手元がいくら変わるかは 支払サイトが資金繰りに与える影響 に数字で出しています。

毎月の回し方は15分で終わらせる

作ったあとに続かない表は、入力の手順が決まっていない表です。月初に次の順でやります。

  1. 前月に確定した請求を「入金予定」に追加する(請求書を出したら、その場で1行足すのがいちばん早い)
  2. 入金があった行のG列に日付を入れる(ネットバンクの明細を上から順に消し込む)
  3. 新しく出した発注を「支払予定」に追加する。検収日が未確定でも予定日で入れる
  4. 月次サマリーのD列(固定費)を、金額が変わった月だけ直す
  5. F列に赤と黄色がないかを見る

赤や黄色が出たときの打ち手は、実質3つしかありません。請求を前倒す(着手金・中間金を分ける、月末締めを待たずに納品分だけ請求する)、支払を後ろに寄せる(外注先と支払サイトを相談する)、その月の着手を減らす(外注費の発生を翌月に寄せる)。3ヶ月先に赤が見えていれば、このどれもが間に合います。前月に気づくと、選べる手が一気に減ります。

請求漏れそのものを防ぐ手順は 請求・入金管理のやり方 に、新規取引先の支払い遅延リスクの見方は 受託の与信管理のやり方 にまとめています。

スプレッドシートで回らなくなるサイン

この表は、案件が同時に10本前後までなら十分に機能します。次のどれかが起き始めたら、表そのものではなく入力の経路を見直す時期です。

  • 発注管理の表と「支払予定」に同じ発注を二重入力していて、片方だけ直した
  • 行を足し忘れた支払いがあり、残高が実際より多く見えていた
  • 複数人で同時に触ってF列の数式が上書きされた
  • 案件が増えて、どの入金がどの案件のものか分からなくなった

ここからは自社製品の紹介です。私たちが作っている Pipelia は受託事業者向けのSFA/CRMで、営業リストから商談・受注・案件・外注・粗利までが1本につながっています。請求と発注を別々に入力する必要がないので、資金繰りの画面は追加入力なしで出ます。入金予定と支払予定を月次で12ヶ月先まで突き合わせ、回収遅延・支払遅延を警告します。

Pipeliaの資金繰り画面。入金予定と支払予定が12ヶ月先まで月次で並び、遅延が警告として表示されていることが確認できる

登録もメールアドレスも要らないデモ(demo.pipelia.com)で、同じ画面をそのまま触れます。まずはスプレッドシートで作ってみて、二重入力が面倒になってから見てもらえれば十分です。

よくある質問

資金繰り表と損益計算書(P/L)は何が違いますか?

損益計算書は「売上が立った月」「費用が発生した月」で利益を計算する表で、実際にお金が動いた日は見ません。資金繰り表は逆に、利益を見ずに入出金の日だけを並べます。受託は入金が納品の1〜3ヶ月後になることが多いため、損益計算書が黒字でも資金繰り表の残高が薄くなる月が生まれます。両方を別々に持つ必要があるのはこのためです。

資金繰り表はどのくらい先まで作ればいいですか?

12ヶ月先までを1枚に置き、実際に判断に使うのは直近3〜6ヶ月分、という持ち方が現実的です。6ヶ月より先は受注が確定していない案件が多く、入金の予定はほとんど埋まりません。それでも支払い(固定費・確定している外注費・税金や社会保険の納付月)は先まで埋まるので、作っておくと「入金が見えていない月」がそのまま可視化されます。

受注が確定していない案件も資金繰り表に入れるべきですか?

入れる場合は、確定した行と混ぜずに分けます。おすすめは「入金予定」シートに確度の列を足し、SUMIFSの条件に「確度=確定」を加えた集計を基本の残高にして、見込みを含めた場合の残高を別列に並べる方法です。2本並べると、受注が1本ずれたときに残高がどう変わるかがそのまま見えます。見込みを最初から混ぜると、赤が出ない表になって表の意味がなくなります。