この記事は、あがぺいさんのブログ『ミールキットとExcel家計簿のあがぺいブログ』内で紹介されている「本気の家計簿」を参考に、Excelを使った複式家計簿を事業用に応用する帳簿「Excelの複式事業簿」を作るまでを撰述したものである。
あがぺいさんのブログ『ミールキットとExcel家計簿のあがぺいブログ』で紹介されている「本気の家計簿」を応用して個人事業用の帳簿をつけたい、と思い立ったことから、完全無料で「Excelの複式事業簿」を作っていく連載。
今章では補助簿シートの作り方を撰述している。
今回は現金出納帳。補助簿の中でも一番最初に挙がるであろう現金出納帳を、二番目に紹介。
なお「本気の家計簿」の作り方・記帳の仕方はここでは解説しないので、ぜひあがぺいさんのブログ『ミールキットとExcel家計簿のあがぺいブログ』をご参照いただきたい。

現金出納帳の役割とは
「Excelの複式事業簿」で補助簿のひとつとして現金出納帳を作成するにあたって、今回もはじめにその役割を簡単に振り返っておく。
例によって記事を参照している方には既知の内容となるかもしれないが、要点を押さえつつざっくりと撰述する。
現金の過不足は意外と起こりやすい

紙で帳簿をつけていた頃は、仕訳帳から現金だけを抜き出すのが大変だったため、現金出納帳は実務的にも必須の帳簿だった。
デジタルの現代ではExcelや会計ソフトで現金勘定を絞り込んだり、残高を自動計算することもできるため「もういらないのでは?」と思われがちだが、実はその逆である。
キャッシュレスが当たり前になった今、たまにしか現金を使わないからこそ、記録漏れの温床になりやすい。
- 仕訳のし忘れをしていた
- 端数を現金で補ったが、元の金額しか記帳していない
- 現金で払ったのに、他の決済方法と勘違いして仕訳を入れていない
こうした小さなミスが積み重なり、帳簿と手元の現金残高が合わなくなることは意外と多いのである。
帳簿保存の義務あり
固定資産台帳と同様に、現金出納帳にも帳簿の保存義務がある。
青色申告では7年間、白色申告では5年間の保存が必要とされている。

提出を求められない限りは提出不要だが、税務調査では、帳簿上の現金残高と実際の残高が一致しているかどうかが確認される。
そのため、現金出納帳は“信頼性の高い補助簿”として重視される存在となっている。
「Excelの複式事業簿」で現金出納帳シートを作る
それではここから「Excelの複式事業簿」の現金出納帳を作成していく。
- 「Excelの複式事業簿」を開いて下の[+]から新シートを開く
- 各列の一行目に以下の見出しを入力していく
- A列:年
- B列:日付
- C列:取引No
- D列:摘要
- E列:インボイス番号
- F列:入金額
- G列:出金額
- H列:残高
- I列:相手科目
- J列:備考
- Z1セル:評価対象年
- H1からJ1までを範囲選択してテーブル化
- Z1セルを見やすくするためにデザイン変更がおすすめ
- A2セルに以下の数式を入力する
- 仕訳帳シートから現金に関する仕訳を自動抽出
- =IF(Z1="", "", IFERROR(LET(現金科目,"現金",年列,1,日付列,2,取引No列,9,摘要列,7,請求列,22,区分列,8,金額列,6,指定年,Z1,現金行,FILTER(shiwake,(shiwake[勘定科目]=現金科目)*(shiwake[年]=指定年)),CHOOSE({1,2,3,4,5,6,7},INDEX(現金行,,年列),INDEX(現金行,,日付列),INDEX(現金行,,取引No列),IF(INDEX(現金行,,摘要列)="","",INDEX(現金行,,摘要列)),IF(INDEX(現金行,,請求列)="","",INDEX(現金行,,請求列)),IF(INDEX(現金行,,区分列)="借方",ABS(INDEX(現金行,,金額列)),""),IF(INDEX(現金行,,区分列)="貸方",ABS(INDEX(現金行,,金額列)),""))),""))
- 仕訳帳シートから現金に関する仕訳を自動抽出
- 日付の表記を正しいものに変更する
- 各セルに以下の数式を入力する
- H2セル:現金の残高を自動計算・表示するための数式
=IF(A2="", "", IF(ROW()=2, N(F2)-N(G2), H1 + N(F2) - N(G2)))
- I2セル:仕訳時の相手科目を仕訳帳シートから自動的に抽出
=IF(A2="", "", LET(thisNo,C2,現金行番号,XMATCH(1,(shiwake[取引No]=thisNo)(shiwake[勘定科目]="現金")),thisDK,INDEX(shiwake[貸借区分],現金行番号),相手候補,FILTER(shiwake[勘定科目],(shiwake[取引No]=thisNo)(shiwake[勘定科目]<>"現金")*(shiwake[貸借区分]<>thisDK)),IF(COUNTA(相手候補)=0,"",TEXTJOIN(" / ",TRUE,相手候補))))
- H2セル:現金の残高を自動計算・表示するための数式
- 「現金出納帳シート」の原型が完成
「Excelの複式事業簿」の「現金出納帳シート」の使い方
ここからは先ほどのセクションで作成した「現金出納帳シート」の使い方を撰述する。
残高や相手科目を反映させる
この「現金出納帳シート」では、A列からG列までの取引記録は、仕訳帳から自動で反映・表示される設計になっている。
一方で、[残高][相手科目][備考]の各列は自動では反映されない。
そのため、取引が増えた際には、これらの列を手動でテーブル範囲の拡張をする必要がある。
- ①テーブル右下にある小さい[◢]をクリックしたまま拡張させる
- ②拡張した分までの[残高]などかちゃんと表示される
評価対象年から表示する年を絞り込むことができる
作成した「現金出納帳シート」では、Z1セルに表示したい年を入力することで、その年の現金取引のみを自動的に抽出・表示できるようになっている。
ただし、たとえば2025年を表示中に手動で拡張したH列〜J列のテーブル範囲は、年を切り替えても自動的には元に戻らず、そのまま残る仕様となっている。
この挙動はシートの設計上正常なものであり、仕訳や集計、他の台帳への影響もない。

J列の備考はメモ代わりに使い、摘要は必ず仕訳帳シートに
この「現金出納帳シート」に表示されているJ列の[備考]項目は、Z1セルの評価対象年を切り替えても内容がそのまま維持される。
そのため、取引の詳細などを恒久的に残したい場合は、ここではなく必ず「仕訳帳シート」の[摘要]項目に記載すること。
仕訳帳の[摘要]に入力された内容は、「現金出納帳シート」の[摘要]欄にも自動で反映される。

