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

預金出納帳の役割とは
預金出納帳とは、銀行口座の出入りを記録する補助簿のこと。
事業用の銀行口座では、振込・引落・報酬の入金など多岐にわたる取引が発生する。
そうした一つひとつの動きを仕訳帳の内容と紐づけて一覧表示できる「預金出納帳」は、実務でも税務でも重要な記録手段となっている。
通帳だけでは帳簿にならない
現在ではネットバンキングで明細がスマホなどからでも確認でき、口座の入出金管理はそれでよさそうに見えるかもしれないが、税務署的にはそれだけでは帳簿の保存義務を満たしていない。

所得税法施行規則などにより、事業者は「金銭の収支に関する帳簿」を自ら作成・保存することが義務づけられている。
ネットバンキングや通帳で確認できる取引明細は、これらの項目の一部しか満たしておらず、「摘要(取引の内容)」や「相手勘定科目」などが明確でないため、帳簿としては不十分とされる。
そのためExcel等で出納帳を整備して、仕訳帳と連動させる形で補助簿として保管することが、税務上の要件を満たす上でも重要だ。
「Excelの複式事業簿」で預金出納帳のシートを作成する
ではこのセクションから「Excelの複式事業簿」での「預金出納帳シート」の作成手順を撰述していく。
基本構造は、すでに作成済みの「現金出納帳シート」とほとんど同じ。ただし、取り扱う勘定科目が異なるため、記帳対象の抽出条件や表示項目の一部には調整が必要になる。
なお、複雑な数式を駆使すれば、現金・預金などの出納帳を一つのシートでまとめることも技術的には可能だが、以下のような理由で今回はその方法を採らない。
- 帳簿保存の観点から、現金と預金を明確に分けて記録しておいたほうが、後の確認・証明が容易になる
- 使用するExcel関数の一部が特定バージョン以降でしか対応しておらず、最大公約数的に多くの人の環境で安定稼働しないリスクがある
したがって、本稿では「預金出納帳シート」を現金用とは別に設け、構造を踏襲しつつ最適化を加えた形で構築していく。
「勘定科目シート」の銀行科目に必ず「銀行」の文字が入るよう編集
あがぺいさんのブログ『ミールキットとExcel家計簿のあがぺいブログ』での「本気の家計簿」を作成した際、個々人で「1_資産」グループに各預金口座名を追加したはず。
もしその口座名の中で「〇信SBI」などで入力し、「銀行」の文字が入っていない銀行科目があれば、「〇信SBI(銀行)」のように必ず「銀行」の文字が付いている状態に変更・編集する。

「三井〇友銀行」のように、すでに銀行科目に「銀行」の文字が入っていればそのままで大丈夫。
これにより、このあと作成する「預金出納帳シート」では「銀行」の文字が入る科目を抽出できるようになる。
「預金出納帳シート」を作成する
ここからは本体である「預金出納帳シート」の作成手順となる。
- 「Excelの複式事業簿」を開き、下の[+]をクリックして新シートを作成
- 一行目の各列に以下の見出しを入力する
- A列:年
- B列:日付
- C列:取引No
- D列:摘要
- E列:インボイス番号
- F列:入金額
- G列:出金額
- I列:相手科目
- J列:備考
- Y1セルに以下の数式を入力する
- 「勘定科目シート」から銀行科目だけを抽出し一覧に出すため
- =FILTER(kamoku[勘定科目], ISNUMBER(SEARCH("銀行", kamoku[勘定科目])))
- 「勘定科目シート」から銀行科目だけを抽出し一覧に出すため
- Z1セルに評価対象年を入力し、Z2セルにプルダウンリストを追加する
- [データ]タブ>[データの入力規則]>[データの入力規則]
- [入力値の種類:]を「リスト」に、[元の値:]に「=$Y$1#」を入力してOKをクリック
- 各セルに以下の数式を入力する
- A2セル:
- A列からG列までの項目が「勘定科目シート」から自動で抽出・表示される
- Z2セルのプルダウンで選んでいる銀行の取引が表示
- =IF(OR(Z1="",Z2=""),"",IFERROR(LET(年,Z1,科目,Z2,年列,1,日付列,2,取引No列,9,摘要列,7,請求列,22,区分列,8,金額列,6,該当行,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セル:
- F列の入金額とG列の出金額から自動で残高を計算してくれる
- =IF(A2="","",IF(ROW()=2,N(F2)-N(G2),H1+N(F2)-N(G2)))
- I2セル:
- その口座取引の相手科目が何かを自動で抽出・表示してくれる
- =IF(A2="","",LET(thisNo,C2,this科目,$Z$2,thisDK,INDEX(FILTER(shiwake[貸借区分],(shiwake[取引No]=thisNo)(shiwake[勘定科目]=this科目)),1),相手候補,FILTER(shiwake[勘定科目],(shiwake[取引No]=thisNo)(shiwake[勘定科目]<>this科目)*(shiwake[貸借区分]<>thisDK)),IF(COUNTA(相手候補)=0,"",TEXTJOIN(" / ",TRUE,相手候補))))
- A2セル:
- H列からJ列をテーブル化する
- 範囲指定して[挿入]タブの[テーブル]をクリック
- [先頭行をテーブルの見出しとして使用する]にチェックをつけてOKをクリック
- B列の日付の表記がおかしい場合は設定から正しく変更する
- B列を右クリックして[セルの書式設定]を開く
- [分類:]を「日付」に、[種類:]を「X月XX日」選択してOKをクリック
- ①「Excelの複式事業簿」を開き、下の[+]をクリックして新シートを作成
- ②一行目の各列に画像のように見出しを入力する
- ③Y1セルに手順③の数式を入力する
- ④Z1セルに評価対象年を入力し、Z2セルにプルダウンリストを追加する
[データ]タブ>[データの入力規則]>[データの入力規則]
[入力値の種類:]を「リスト」に、[元の値:]に「=$Y$1#」を入力してOKをクリック
- ⑤各セルに手順⑤の数式を入力する
- ⑥H列からJ列をテーブル化する
- ⑦B列の日付の表記がおかしい場合は設定から正しく変更する
「Excelの複式事業簿」の「預金出納帳シート」の使い方
「Excelの複式事業簿」での「預金出納帳シート」の使い方も、「現金出納帳シート」と大差はない。
違いといえば、Z2セルのプルダウンメニューから、取引履歴を表示したい銀行を選ぶ仕組みが追加されているぐらいだ。
残高や相手科目を反映させる
この「預金出納帳シート」も「現金出納帳シート」と同じく、A列からG列までの取引記録に関しては、仕訳帳から自動で反映・表示される設計になっている。
その一方で、[残高][相手科目][備考]の各列は自動では反映されない。
取引が増えた際には、これらの列を手動でテーブル範囲の拡張をする必要がある。

Z2セルにあるプルダウンメニューで取引履歴を表示したい口座に切り替えれば、自動的に反映・表示がされるようになっている。

Y列の銀行科目一覧は[非表示]にしてもOK
Y列に数式を入力したことによって表示されている銀行科目一覧は、普段は特に必要な場面はないため、不要と感じれば右クリックから列を[非表示]にしてしまってもOK。

