odake's web page | パソコンで楽しむ | ゆっくり育てる会計簿 |

Excelでゆっくり育てる会計簿

 2003/10/15作成  2006/7/9 htmlファイルUP

Excelを勉強しながら簡単な会計簿を試行錯誤を繰り返しながら作っていこうと言う独習用のテキストです。Excelの機能の勉強だけでは、面白くないし力がつきません。

こんな学び方をしていきます。途中で道草を食ったり、遠回りをしたり、無駄骨を折ったり、一直線ではありませんが、その間にいろいろな機能やExcel利用の考え方を習得できます。
私は情報処理・会計事務の専門家ではありませんし、文章を書くのも素人です。間違いがあるかも知れませんし、記述で判りにくいところや操作の理解できないところがありましたら、教えてください。

(1) 出納簿の残額の数式

紙に書く現金出納簿は普通 日付、項目、入金、出金、残額、備考 という項目があります。これをExcelのワークシートで作ると

図(1) 紙に書く会計簿
ABCDEF
1日付項目入金出金残額備考
2 5月8日 会費3000 3000継続
35月8日事務費 702930振替手数料
4      

というようになりますが、残額欄のE列(E2,E3,〜)にどういう数式を入れたらよいか。

E列の数式

○ 単純に演算する。

 手書きの現金出納簿はこういう計算をします。

判りやすいのですが、途中に空白行があったり、どこかの行に間違った数値を入力したりするとそれ以降の数式が表示する数字が誤ったものになります。

○ SUM 関数を使う。

 C 列の合計からD 列の合計を引き算をします。少し Excel らしくなりました。

C2とD2の中に「$」が入っているのは、セルの絶対参照です。セルE2に数式を入力したら、E3以下はE2の数式をコピーするために、合計を出す範囲の最初のセルを絶対参照で固定します。

上の2例とも4行以下のC 列、D 列に値が入力されてない時も、前の行の数字が表示されます。

C 列と D 列にデータが入力されていない状態(Null)の時には E 列を空白にしたいものです。

オートフィルで下の方向にコピーしたときにデータのない行にも数字が表示されないようにするには、データを入力した行のみ数式をコピーする方法がありますが、少し手数がかかります。少し工夫してオートフィルでコピーできるようにします。

Topへ

○ IF 関数を使い入金・出金がない行には残額を表示しないようにします。

「""」はセルに何も入力されていない状態です。

書式 IF(論理式,真の場合実行する内容,偽の場合実行する内容)

これで実用上問題はないのですが、論理式に少し問題があります。出金欄に入金額と同じ数字でマイナスの値が入力された時にも表示しないことになります。

○ AND 関数を使って論理式を作ります。

書式 AND ( a , b , c … ) a , b , c … はそれぞれ論理式 
論理式のすべての条件を満たすときに真の値(True)を返します。
a,b,c… のいずれか一つでも条件を満たさないときは偽の値(False)を返します。

まだ問題があります。この方法はC列とD列のセルに数値でないもの(例えばスペース)が入力されているときにも、残額に数字が表示されます。

次ぎの項でやりますが入力規則でC列とD列のセルに整数だけ入力するように制限することが出来ます。

○ OR関数とISNUMBER関数を使います。

C列とD列のセルどれか1つでも数値が入力されているときに、E列に計算した値を入力し、そうでないとき(数値が入力されていないとき)は空白にする数式です。

 書式 OR ( a , b , c … )  a , b , c … はそれぞれ論理式
論理式のどれかが条件を満たすときに真の値(True)を返します。
a,b,c… のすべてが条件を満たさないときは偽の値(False)を返します。
 書式 ISNUMBER ( 調査対象 ) 調査対象はセルの参照を指定する
引数の調査対象は単一のセルを指定します。コロン(「:」)で結んだ範囲や範囲名で指定することも出来ます。
調査対象のセルに数値が入力されているときに真の値(True)を返します。入力した数値に対して文字列の表示形式を設定したセルもTrueを返します。文字列扱いの数字(先頭にシングル・クォート「'」をつけた数値)は文字列として扱いFALSEを返します。

数値データのないところを空白にするだけですが、3つの関数を使い数式が少し複雑になりました。セルE2に入力してオートフィルで下の方にコピーします。この程度の数式の演算速度は気にするほどでは無いと思います。可能性は低いのですが、例えばC列に「5/24」と日付を入力すると数値として扱い計算して数字が表示されます。やはり入力規則で制限を設ける必要があるようです。

Topへ

(2) 表示・入力規則の設定

E 列の数式が出来上がったら次のテーマは、タイトルを入力し、 A 列 〜 F 列に入力しやすいように入力規則の設定と、B 列の項目は決められた文字列を入力するようにするにはどうしたらよいか。

B 列の項目は、NET・陽だまり総会の会計報告の収入・支出の項目にしましょう。

○ 表の見栄えを整えます。

表の上部に2行新しい行を挿入し、1行のA〜F列のセルを結合し文字の横配置を中央揃えに書式を設定します。フォントサイズを14ポイント、フォント種類をMSゴシックとして、「現金出納簿」と入力します。

3行目の項目の文字列を中央揃えに設定します。

データ部分の最初の行に「繰越金」の行を作るために、1行挿入し日付(セルA4)に「4/1」(4月1日)、項目(セルB4)に「繰越金」と入力し、入金(C4)に「20000」と入力します。

表の罫線はすぐ引きたくなりますがワークシートが完成する段階で入れる方が良いと思います。

図(2) 見栄えを整える
ABCDEF
1現金出納簿
2
3日付項目入金出金残額備考
44月1日繰越金20,000
5 5月8日 会費3,000 3,000継続
65月8日事務費 702,930振替手数料
7      

C列、D列、E列は金額が表示されますから、3桁目にコンマ「,」を表示するようにします。

○ E列の数式の修正。

行が挿入されましたが数式中の絶対セル参照の部分も行の移動に対応して変化しています。

セルE4には数式が入っていません。次のどちらかの数式を入力します。

キーで入力しても良いのですが、セルE5に数式が入っていますのでE5からE4にコピーして絶対セル参照の部分を修正する方が楽です。

○ 各列に入力規則を設定します。

A列には「5/8」と入力すれば、自動的に「5月8日」と日付の表示になりますから、表示の設定はする必要がありません。

B列には決められた項目を入力するようにします。

C列,とD列は数値を入力するようにします。

F列は全角文字を入力できるようにします。

B列に決められた項目を入力する方法

* 決められた項目のメモを見ながら入力します。

この方法はExcelとして最も低いレベルと考えられますが、捨てたものではありません。

文字列を入力する場合、オートコンプリートという機能で、既に同じ列に入力してある文字列が入力の途中で候補として現れてきます。例えば既にセルB5に「会費」という文字列が入力してあるときに、B8に「か」と入力すると「か会費」と(会費が反転された状態で)表示され、このときにEnterキーを押せば「会費」が確定されます。しかし、同じ列に「会費」「会議費」が入力してあると「かい」まで入力しても「会費」は出てこないで、「かいひ」で「会費」、「かいぎ」まで入力したときに「会議費」が現れます。

この機能を有効にするには、メニューの[ツール][オプション]の「編集」タブで、「オートコンプリートを使用する」チェックボックスにチェックを入れておかなければなりません。(列に空白のセルがあるとそのセルより上の文字列は候補として現れません。)

もう一つ、入力規則を設定しなくても、同じ列に既に文字列が入力してある文字列をリストから選択する方法があります。上の例と同じに既にセルB5〜B7に文字列が入力してあるときに、B8で右クリックして出るショートカットメニューで「リストから選択(K)」をクリックすると、今まで入力してある文字列がリストに現れ選択すればセルに入力できます。

* ワークシートの例えばH列かI列に決められた項目を入力しておいて、

それを見ながら入力するか、そこからコピー貼り付けをします

* VLOOKUP関数を使い数字を入力したら対応する文字列を入力できるようにします。
* 入力規則でリストから選択して入力します。

H列に決められた項目を入力しておきます。

B列を選択してメニューの[データ][入力規則]の[設定]タブをクリックし、「入力値の種類」のリストボックスから「リスト」を選択します。

「空白を無視する」「ドロップダウンリストから選択する」にチェックが入っていることを確認して、「元の値」にH列の決められた項目入力してある範囲を設定し「OK」ボタンをクリックする。

これでB列のセルを選択するとリストの矢印が表示されるから、項目を選択して入力できます。

必要により「入力時メッセージ」と「エラーメッセージ」タブで設定をします。

C列とD列に整数の数値を入力するように設定する

C列とD列を選択してメニューの[データ][入力規則]の[設定]タブをクリックし、「入力値の種類」のリストボックスから「整数」を選択する。「空白を無視する」にチェックが入っていることを確認して、「データ」は「次の値より大きい」を選択、「最小値」は「0」として「OK」ボタンをクリックします。

必要により「入力時メッセージ」と「エラーメッセージ」タブで設定をします。

F列に全角文字を入力

F列を選択してメニューの[データ][入力規則]の[日本語入力]タブをクリックし、日本語入力のリストボックスから「オン」を選択して、「OK」ボタンをクリックします。

必要により「入力時メッセージ」と「エラーメッセージ」タブで設定をします。

一先ず現金出納簿の形が出来ました。

Topへ

(3)収入の項目別に整理された内訳表を作る。

現金出納簿が一応できましたら次のテーマは、元帳に相当する収入項目の表を作ります。収入ができれば支出も同じように作られます。現金出納簿と同じブックの中に収入内訳のワークシートを作ります。

「一度入力したデータは二度と入力しないようにする」のが間違いの少ない方法で手数もかからないので理想的です。そのためには

などが考えられいずれも一筋縄ではいきません。

ワンライティング方式はいずれ取り組むこととして、もう一度データ入力が必要ですが、会計報告を自動的に作るために、ワークシートを別に作ってみます。

会計報告書が自動的に作られるということは、年度の途中でも随時会計の現況がわかることになります。そのために収入全体の合計と項目ごとの合計が別のシートから参照できる(データの量によりデータの場所が動かない)一定の場所にあることが必要です。

この会計簿は出納のたびに入力するので、下の方に伸びていきます。列の合計を一定のセルに表示させるには、合計を一般の表のように表の下部ではなく上部の一定の場所に表示させる方が位置が固定されます。

項目ごとに予算があるときは予算との比較が自動的に表示できると良いので、現金出納簿の「残額」の数式を参考にして計算することが出来ますが、予算残額は過去の日ごとには必要なく「現在の残額がわかればよい」ということなら上部の合計のところに「予算額」と「予算残額」を設ければよいことになります。

こう考えると現金出納簿の「残額」(「行ごとの残額」)は手作業の出納簿では計算のために必要だったのですが、ExcelではSUM関数で簡単に合計が出せますから、「現在の残額」がわかればよいことになります。残額の数式で悩む必要がなかったことになります。

図(3) 収入内訳書
ABCDEFGHI
1収入内訳
2予算額164,000予算額0予算額0予算額164,000
3合計額160,000合計額35,000合計額28合計額195,028
4予算残額4,000予算残額-35,000予算残額-28予算残額-31,028
5日付会費寄付金雑収入合計
6入金額備考入金額備考入金額備考入金額備考
74月1日28預金利子28
8 4月5日 会費3,0003,000
84月8日会費3,0003,000
94月9日会費3,0003,000

表の上部の「予算額」は数値を入力します。

「合計額」は例えば セルC3 =SUM(C$7:C50) と数式が入ります。

  表が50行より多くなるときは修正しなければなりません。

「予算残額」は  セルC4 =C2-C3 と数式が入ります。

7行以下には、現金出納簿に入力したものをもう一度入力することになります。(実用にはここのところで間違いが発生します。)

Topへ

(4)支出の項目別に整理された内訳表を作る。

収入より項目が多いのですが(3)の収入の場合と同様にシートを作ります。

(5)模擬のデータを入力してみる。

実際に使用する時の使い勝手を試すためと、シートが正しく計算したり表示したりするか試すために模擬のデータを入力してみます。

各項目全部についてデータを入力します。

現金出納簿に入力したら、続いて同じデータについて項目を間違わないように収入・支出内訳書にも入力します。(2度同じデータを入力することは間違う確率を2倍にすることになります。)

(6)現金出納簿・収入内訳・支出内訳をまとめた現在額のシートを作る。

収入内訳・支出内訳の項目の合計を参照して、予算・現金残額と比較して現在の収支状況を把握できるようにする。

図(6)-1 収支現在額シート
ABCDEFGH
1収  入支  出
2項目予算額現在額対予算項目予算額現在額対予算
3繰越金事業費
4会費通信費
5寄付金会議費
6雑収入事務費
7消耗品費
8雑費
9合計合計

1つのブックの中に現金出納・収入内訳・支出内訳のシートを作り、さらに新しいシート「現在額」のシートを上の表のように作ります。予算額と現在額は収入内訳と支出内訳の対応するセルを参照する数式を入力します。

例えばセルC4には、収入内訳シートの会費の合計額のセルを参照します。

入力手順 セルC4を選択して「=」を入力し、シート収入内訳のタブをクリックして、会費の合計額のセル(例えばC3)を選択してEnterキーを押す。

現在額シートのセルC4には「=収入内訳!C3」と入力されています。

D列とH列の「対予算」には、現在額-予算額の数式を入力します。

現金の現在額と収支の関係・ブック全体の整合性をチェックする仕掛けを作ります。

E11〜H12に次の表を加えます。

図(6)-2 整合性チェック
ABCDEFGH
9合計(収入合計)合計(支出合計)
10現金残額(現金残額)照合
11合計(G9+G10)(C9−G11)

セルC9には収入の合計、セルG9には支出の合計の数式が入っています。

それぞれのセルに数式を入力します。

実際には現在額のシートのタイトルを表示したり空白行を作ったりすると行番号が変わってきます。

以上で同じデータを2箇所に入力する手間がかかりますが、どこかに間違った入力や入力漏れがあるとH11に不符合の金額が表示されます。【図(6)-2

Topへ

(7)オートフィルタで内訳を作る

今回からデータ入力は現金出納簿だけで、内訳簿と現在額のシートが出来る方法を考えます。

図(7)-1 現金出納簿
ABCDEFGH
1現 金 出 納 簿
2
3合計318,069136,616残額181,453
4
5日付項目入金出金備考1備考2
62002/4/1繰越金123,041項目
72002/4/1雑収入28利子会費
82002/4/4通信費3,840郵便料金第5回総会案内48通寄付金
92002/4/5会費15,000継続5振替通知票1雑収入
102002/4/5事務費350振替手数料振替通知票1事業費
112002/4/8会費35,000新規1継続10振替通知票2通信費
122002/4/8事務費770振替手数料振替通知票2会議費

今まで作ってきたようにタイトル(現金出納簿)を入力し3行目に合計欄を作ります。

例えば  セルC3 =SUM(C6:C100)   100行まで計算する
       セルD3 =SUM(D6:D100)
       セルF3 =C3-D3

H列に項目を入力するリストを入力しておき、B列「項目」を入力しやすくします。

A列からF列の入力規則を設定します。

これでシートの見出しを「出納簿」とシート名を変更して現金出納簿は出来ました。【図(7)-1】

フィルタで内訳のシートを作る場合は、例えば「会費内訳」「寄付金内訳」と項目ごとに作ります。

現金出納簿と同じシートを項目の数作り、項目ごとのフィルタをかけます。

内訳を作る手順

  1. 現金出納簿のシート(シート名「出納簿」)でメニューの[編集][シートの移動またはコピー]で「シートの移動またはコピー」ダイアログボックスで「移動先」は同じブックとし、「挿入先」は「末尾へ移動」とし、「コピーを作製する」のチェックボックスにチェックを入れて「OK」ボタンをクリックする。
  2. 新しく出来たシートに「会費」とシートに名前をつける。(見出しを右クリックして「名前の変更」)
  3. 6行以下を選択して「Delete」キーを押してデータを削除する。
  4. セルA6に「=出納簿!A6」と入力して出納簿のセルを参照する。(セルA6を選択して「=」を入力してシート出納簿のA6をクリックして選択し、Enterキーを押す。)
  5. セルA6をB6〜F6へコピーする。(A6を選択してオートフィルをF6までドラッグする。)
    「=出納簿!B6」「=出納簿!C6」「=出納簿!B6」と数式だけコピーされればよいのですが、A6の日付データの表示形式までコピーされC6〜F6の表示が変な日付が表示されます。B6〜F6を選択した状態でメニューバーの[書式][セル]の[表示形式]タブで[分類]の[標準]を選んで[OK]ボタンをクリックします。
    別の方法では、セルA6を選択コピーし、貼り付ける時はB6〜F6を選択した状態でメニューバーの[編集][形式を選択して貼り付け]をクリック、ダイアログボックスで[数式]を選択して[OK]ボタンをクリックします。
  6. A6〜F6の範囲を選択してコピーし、行100まで貼り付ける。(これでシート出納簿に入力すると、同じデータがシート会費に表示される。)
  7. 出納簿シートにデータの無いセルに対応した会費シートのセルは、数式の値が無いため[0]が表示されるので、表示しないようにします。
    メニューバーの[ツール][オプション]の[表示]タブで、[ウインドウオプション]の[ゼロ値]チェックボックスのチェックを外し、[OK]ボタンをクリックします。
  8. 行3の合計の欄を変更する。
    行2に予算額、入金(出金)合計額、予算残額とそれぞれ入力し、行3に金額を表示するように欄を作る。予算額は項目ごとにキー入力するので空白のままにしておく。入金額・出金額は項目の合計額が表示されるよう数式を入力する。予算残額は数式を入力する。
    入力規則が入力を妨げる時は、[データ][入力規則]の[すべてクリア]ボタンで入力規則を削除します。
    図(7)-2 合計の欄を変更
    ABCDEFGH
    1(会費)内訳書
    2予算額入金合計額予算残高
    3164,000160,0004,000
    4
    5日付項目入金出金備考1備考2
    B1 項目名を入力  C3 予算額を入力
    D3 =SUBTOTAL(9,C6:C100) 関数については後で説明します。
       出金の場合は D3 =SUBTOTAL(9,D6:D100)
    E3 =C3-D3 【図(7)-2】

    D3の数式 SUBTOTAL関数の書式 SUBTOTAL(集計方法,範囲)
    計算方法を指定して集計する関数です。集計方法「9」は「合計」です。他に平均・数値の個数・最大値・標準偏差などがあります。
    範囲「C6:C100」はC列の100行までの範囲です。ここでSUM( )関数を使うとフィルタのかからない元のデータの合計が表示されます。

  9.  1行の「現金出納簿」を「内訳書」に変更して、このシートを項目の数(この例では9枚)コピーして項目ごとのシートを作る。(入金と出金はD3の数式が異なるので別にコピーする。)
  10.  それぞれのシートに1行の「内訳書」の前とシート見出しに「項目名」(「会費」など)を入力する。
  11. それぞれのシートについて次のようにフィルタをかけます。
    6行以下の表のどれかのセルを選択してメニューの[データ][フィルタ][オートフィルタ] をクリックする。B列「項目」の下向き三角をクリックしてリストを表示させ、そのシートの項目を選択する。
  12.  内訳書では予算額以外は入力する必要がないのでシートに保護を設定する。(セルC3を選択してメニューの[書式][セル]の「保護」タブの「ロック」チェックボックスのチェックをはずしてOKボタンをクリック。メニューの[ツール][保護][シートの保護]をクリックし、保護対象のデータにチェックがついていることを確認してOKボタンをクリックする。)
  13.  現在額のシートの作成は、(6)現金出納簿・収入内訳・支出内訳をまとめた現在額のシートを作る。と同じ方法で作り、シートに保護をかける。

これで予算額をあらかじめ内訳に入力しておけば、現金出納簿のシートだけに入力すれば内訳と現在額まで表示されます。入力しないシートには保護をかけてありますから誤って変更することはありません。

現金出納簿と同じシートを項目の数作っているので、ファイルサイズが大きくなっているのが欠点です。

(8)ピボットテーブルで内訳を作る

オートフィルタでは現金出納簿と同じシートを項目の数作りますので、ブックのファイルサイズが大きくなりますが、項目ごとに1つのシートで見ることが出来ます。

ピボットテーブルを使うと、(3)〜(6)で作ったような入金と出金の2つの内訳書に纏めることが出来ます。

○ 現金出納簿を入金と出金に分けて作ります。

今までの現金出納簿の列は入金と出金の金額だけ分けてありましたが、ピボットテーブルを使うときには日付以外を分けておいた方がよいようです。

日付   入金項目 入金額 入金備考   出金項目 出金額 出金備考

「備考」はピボットテーブルでどう扱ってよいか判りません。現金出納簿には書いておき、詳細を知りたいときはそちらを見る事にして、内訳書には載せてないことにする方法があります。

項目の先頭に表示する順に数字をつけておくと、内訳書を作るときに数字の順に並びます。

○ 現金出納簿の上部に合計と残額の欄を作ります。

200行まで使うとして次ページの図の例で

収入合計 セルC3 =SUM(C6:C200)  支出合計 セルE3 =SUM(F6:F200)

残額   セル G3 =C3-E3

図(8)-1 現金出納簿を入金と出金に分ける
ABCDEFG
1現 金 出 納 簿
2
3収入合計138,069 支出合計4,190 残額133,879 4
4収      入支      出
5日付入金項目入金額入金備考1出金項目出金額出金備考1
6 4月1日繰越金123,041
74月1日3雑収入28利子
84月4日1通信費3,840 郵便料金
94月5日1会費15,000 継続5
104月5日3事務費350振替手数料
Topへ

○ 収入内訳をピボットテーブルで作ります。

手順

  1. 現金出納簿のシートで例えばセルA5「日付」を選択して、データメニューで[ピボットテーブルとピボットグラフレポート]をクリックすると「ピボットテーブル/ピボットグラフウイザード」が表示されます。
  2. 「分析するデータのある場所を選択してください。」で[Excelのリスト/データベース]を選択し、「作成するレポートの種類を指定してください。」で[ピボットテーブル]を指定して「次へ」ボタンをクリック。
  3. 「使用するデータの範囲を指定してください。」の[範囲]のボックスの中が多分「$B$3:$I$93」などになっていると思います。3行目に合計欄を作りセルA3に何も入力していなかったからです。ここは内訳にする範囲を選びますから、「$A$5:$I$200」としておきます。こういうところはマウスで入力するよりもキーで入力した方が簡単です。5行目はフィールド名の入っている行で、セルA5は「日付」でした。「I200」は200行まで現金出納簿を使うだろうと予測しての「200」です。実情に合わせます。(この行を超えたデータは内訳に反映しません。)
  4. 「次へ」ボタンをクリックするとこのウイザードの最後の表示です。「ピボットテーブルの作成先を指定してください。」で[新規ワークシート]を指定して「完了」ボタンをクリックします。
  5. 青い枠のある新しいシートが作られ、「ピボットテーブル」というフィールド名が記載されたウインドウが表示されます。ウインドウの中の「日付」を[ここに行のフィールドをドラッグします]と書かれた青い枠へドラッグ&ドロップします。同様に「入金項目」を[ここに列のフィールドをドラッグします]へ、「入金額」を[ここにデータ アイテムをドラッグします]へそれぞれドラッグします。
  6. 入金額が表示されないで「1」とデータの個数が表示されています。入金額を表示させる範囲(この場合B5〜F62位の範囲)のセルを選択して、右クリックメニューの「フィールドの設定」をクリック(ピボットテーブルウインドウのツールバーの「フィールドの設定」でもよい)して、[集計の方法]で「合計」を選択しい「OK」ボタンをクリックします。金額が表示されます。
  7. このままでは空白の行と列が表示されていますので、表示しないように設定します。[入金項目]の右にある下向き三角をクリックすると項目にチェックの入ったリストが現れます。「空白」についているチェックをはずして「OK」ボタンをクリックします。同様に[日付]についても一番下に「空白」欄がありますので、チェックをはずして表示しないようにします。
  8. 「備考」を表示させると表が複雑になって見にくくなります。今回は表示させないで次へ進みます。
    シートの見出しのところで右クリックして[名前の変更](またはシートの見出しをダブルクリックして)で「入金内訳」と入力して、見出しをドラッグしてこのシートを「現金出納」の後ろに移動させます。
  9. 図(8)-2 収入内訳書ピボットテーブル
    ABCDEF
    1入金内訳
    2合計額160,00035,00028123,041318,069
    3合計 : 入金額入金項目
    4日付1会費2寄付金3雑収入繰越金総計
    54月1日28123,041123,069
    64月5日15,00015,000
    74月8日35,00035,000
    84月9日18,00018,000
    94月10日20,00020,000
    104月11日12,0005,00017,000
  10. ピボットテーブルでは列の合計を最終行に表示しますが、データの量により位置が移動しますので、上部の固定した位置に合計額欄を作ります。
    セルA2に「合計額」と入力し、セルB2へ次の数式を入力します。     =GETPIVOTDATA(B5,B4)
関数の書式 GETPIVOTDATA(ピボットテーブル,名前)
引数: 「ピボットテーブル」合計を出すピボットテーブルの任意のセル番地
引数: 「名前」合計を取り出す項目の名前またはセル参照 (ここでは " 1会費" か B4)

○ 出金内訳のシートを同様にして作ります。

○ 現在額のシートも(6)現金出納簿・収入内訳・支出内訳をまとめた現在額のシートを作る。と同じ方法で作り、シートに保護をかけます。

Topへ

(9)現金以外の勘定がある場合

普通の会計では現金の出入りだけでなく、預金通帳や別会計の出入りがあります。これをExcelで扱うにはどうしたらよいかという問題があります。

紙の上での手作業の会計簿では、預金通帳のページを作って出入りを記入して、収支の内訳書にも記入することになります。

Excelの場合は、現金出納簿に入力したものを収支内訳にもう一度入力している場合は、預金通帳の出納簿に入力したデータを収支内訳にそれぞれ入力すればよいことになります。(1)〜(6)参照。現金出納簿と預貯金出納簿などの出納簿と、科目ごとに分けた内訳簿に入力することになります。複雑になり入力の間違いを探すのが難しくなります。

(7)オートフィルタや(8)ピボットテーブルのように1回の入力で済ませる方法となると、次に試してみるVBAを使うことになりますが、ここでは今まで作ってきた方法を使って出来ることを考えて見ます。

  1. 現金出納簿と同じように、預金通帳の出納簿を作ります。
  2. 収支内訳も預金通帳だけの内訳を作ります。
  3. 現在額の収入・支出の各項目の金額欄に、現金の内訳と預金通帳の内訳の合計額を表示するように参照する式を入力します。
       例えば  =:事務費!D3 + 預金事務費!C3

この方法の問題点は、現在額では2つの勘定を統合できますが、収入内訳・支出内訳では1本になっていない点です。

現金出納簿  ⇒ 収入・支出内訳書(現金)  ⇒
預貯金出納簿 ⇒ 収入・支出内訳書(預貯金)  ⇒

現在額

決算で会計関係書類をきちんと整備しなければならないときは、一つの項目があちこちのシートに分かれているのは変ですから、一つに纏める必要があります。

その方法は、それぞれの内訳を同じ構造に作っておき、コピー貼り付けで一つの表にしてから日付を基準にして並び替えれば出来ます。

2つの内訳を1つに纏める手順

例えば(7)オートフィルタで内訳を作る の現金出納簿の例で、会費は郵便振替で入ってきます。振り込まれると振替手数料が同時に支払われます。現金が動いていないで振替口座の中で出入りがあるのですから、現金出納簿には載せないで、別の振替口座の出納簿に載るのが自然です。振替口座の内訳も別にすると構造を同じにして内訳は次のようになります。

図(9)-1 現金出納簿の収入内訳
ABCDEFGHI
1収入内訳
5日付会費寄付金雑収入合計
6入金額備考入金額備考入金額備考入金額備考
74月1日28預金利子28
84月11日5,000寄付金5,000
Topへ
図(9)-2 振替口座の収入内訳
ABCDEFGHI
1収入内訳
5日付会費寄付金雑収入合計
6入金額備考入金額備考入金額備考入金額備考
74月5日15,000会費15,000
84月8日35,000会費35,000
94月9日18,000会費18,000
104月8日20,000会費20,000
114月11日12,000会費12,000
124月12日9,000会費9,000

これを決算時に一つの内訳書に纏めるには、次のようにコピー貼り付けと並べ替えを行います。

  1. シート振替口座の収入内訳の範囲 A7〜H12(最後の行)を選択しコピーして、シート現金出納簿の収入内訳のA9(最終行の次の行)をクリックして貼り付けます。
  2. 並べ替えでは、1行から4行までの間に合計などの別のデータがありますから、並べ替えるデータの範囲(この場合7行以下)を選択して、メニューバーの[データ][並べ替え]のダイアログボックスで、「最優先されるキー」として「日付」「昇順」を選択、「範囲の先頭行」として「データ」を選択して「OK」ボタンをクリックします。

それぞれの内訳に誤りが無いことを確認してからシートの統合をすることになりますが、余りスマートな方法とはいえません。そこで少し敷居が高いのですが、次はマクロを使った方法を考えて見ます。

(10)入力は入力シートだけにして、自動的に会計簿を作るには・・

出納簿と内訳、現在額の3つの構成で現金と預金通帳(振替口座)を統合した会計簿を作るために、それぞれのシートに数字を入力するのは必ず間違いや入力漏れが出ます。入力は入力シートだけに絞り、そこに入力したデータを必要なシートに漏れなく配置することが出来れば効率的です。

このテキストの「(6)現金出納簿・収入内訳・支出内訳をまとめた現在額のシートを作る。」までの4つのシート(基本会計簿という)に振替口座の出納簿を加えたものを作ります。

現金出納簿・収入内訳書・支出内訳書・現在額内訳書・郵便振替口座出納簿の数式の入ったサンプルブックを参考にしてください。sampl.xls 31.0KB  圧縮ファイル sampl.lzh 7.0KB

5つのシートに入力するデータは、「日付、収入項目・支出項目、金額(収入・支出)、備考」などですが、振替口座に関連して「振替通知票番号」と「振替口座 ←→ 現金出納簿」間の金額の移動も入力できるようにしておかないといけません。

入力シートでは現金出納と振替口座を分けて表を作り、1件ごとにデータを入力し終わったらボタンをクリックしてデータを必要なシートへ配置する仕組みを作ります。この仕組みのところをマクロ(VBA)で作ります。

マクロは特定のアプリケーション(この場合はExcel)の中で動くプログラムのようなものですから、敷居が高いです。Excelには「キー記録」という他のOfficeソフトにない機能があって、キー操作を自動的にマクロに記録してしまう機能があります。マクロとはどんなものか試し簡単なマクロを作って見ます。

Topへ
  1. Excel を起動します。(セルA1 がアクティブセルになっています。)
  2. メニューバーの[ツール]⇒[マクロ]をポイントして[新しいマクロの記録]をクリックします。(マクロの記録ダイアログボックスが表示されます。)
  3. [ショートカットキー]の「Ctrl+」とあるテキストボックスに「m」と入力します。
    (マクロ名、マクロの保存先、説明はそのままにしておきます。)
  4. [OK]ボタンをクリックします。(マクロの記録ダイアログボックスが消えて、小さいマクロ記録を終了するウインドウが表示されているかもしれません。出ていなくても構いません。)
  5. ここからの操作がマクロに記録されます。セルA1にキーボードから「abc」と入力して[Enter]キーを押します。
  6. マクロ記録を終了します。メニューバーの[ツール][マクロ]をポイントして[記録終了]をクリックします。
  7. シートの任意のセルを選択して[ Ctrl + m ](Ctrlキーを押しながらmキーを押す)を実行すると、そのセルに「abc」と入力して,アクティブセルがA2に移ります。
  8. マクロの中身を見て見ます。
    メニューバーの[ツール]⇒[マクロ]をポイントして[マクロ]をクリックします。 (マクロダイアログボックスが表示されます。macro1が選択されています。)
  9. 右側の[編集]ボタンをクリックします。 (Visual Basic Editorが起動して、記録したマクロのコードが見えます。)
  10. Range("A2").Select があるので、「abc」と入力した後でアクティブセルがA2に移ったのです。この1行を削除して、ツールバー一番左のExcelのアイコンをクリックしてシートに戻ります。
  11. 任意のセルを選択して[ Ctri + m ]を実行して見ます。(今度は入力後セルが動きません。)
  12. メニューバーの[ツール]⇒[マクロ]をポイントして[マクロ]をクリック、右側の[削除]ボタンをクリックして、作ったマクロを削除します。

マクロは使い方によっては大変便利なものです。キーボードで操作できない操作をマクロで実現できますが、コード(Moduleと言います)を直接書かなければなりません。これが大変なんですが、上手く出来ると登山で頂上に到着した気分になれます。

こんなことに興味をもたれる方は、マクロを使って「入力は入力シートだけにして、自動的に会計簿を作る」別の「ゆっくり育てる会計簿(マクロ偏)」に進んでみませんか?


odake's web page | パソコンで楽しむ | ゆっくり育てる会計簿 | このページの最初へ
連絡:E-mail