【仕訳帳】【自作】【Excel】「総勘定元帳」Sheetの作成(2/3)
総勘定元帳 シート 作成の記事の続きです。
前の記事を読んでいない方はこちらからどうぞ。
自作するのはめんどうなので完成品がほしい、という方はこちらからどうぞ。
- 総勘定元帳 の明細行イメージ
- 「行番号」列
- 明細行の1行目(ヘッダ直下)
- 「仕訳番号」列
- 「取引日」列
- 「摘要」列
- 各列共通処理
- 「勘定科目」列
- 「補助科目」列
- 「相手勘定科目」列
- 「相手補助科目」列
- 「借方金額」/「貸方金額」列
総勘定元帳 の明細行イメージ
いよいよ実際に作成しましょう。
明細行イメージです。
「行番号」列
イメージの一番左 'min(row)' と記載しているところです。名称は変えても問題ありません。
単に、行番号をセットします。
= ROW()
この列は印刷範囲外にしてください。非表示設定で結構です。
明細行の1行目(ヘッダ直下)
変則ですが、ここで各列の説明の前に、ヘッダ直下の明細行1行目を説明します。
前の記事で述べたように、この行は奇数行にセットすることを前提とします。
この行は、「行番号」列を除き、数式をセットしません。
左から2列目の '(選択)' と記載されている「勘定科目」列のセルに '(未選択)' とセットします。
左から4列目の 'No.' と記載されている「仕訳番号」列のセルに '0' をセットしますが、何も値をセットしなくても問題ありません。
その他は何も値をセットしません。
以降、「INDIRECT関数」が出てきますが、この関数をよく知らない方は次の記事で確認してください。
account-it-dentist.hatenablog.com
「仕訳番号」列
またまた、変則ですが、比較的簡単な「仕訳番号」から説明します。
左から4列目の 'No.' と記載されている列です。
数式をセットするのは、明細行2行目(偶数行)からです。
= INDIRECT ( "'仕訳帳'!A" & QUOTIENT( [行番号] - [調整数], 2 ) )
式中の [調整数] については前回記事で確認してください。
この式は、仕訳番号が 仕訳帳 シート の A列 にあることを前提にしていますので適宜修正ください。
また、 仕訳帳 シート に範囲名(名前の定義)を指定していれば、次のような設定も可能です。
= INDEX ( [仕訳帳の範囲], QUOTIENT( [行番号] - [調整数], 2 ) - [仕訳帳のヘッダ行番号], MATCH ( "No.", [仕訳帳のヘッダの範囲], 0 ) )
「INDEX関数」はここで触れています。
account-it-dentist.hatenablog.com
「取引日」列
左から5列目です。
日付形式の書式設定をしておきましょう。
数式をセットするのは、明細行2行目(偶数行)からです。
= INDIRECT ( "'仕訳帳'!B" & QUOTIENT( [行番号] - [調整数], 2 ) )
この式は、仕訳番号が 仕訳帳 シート の B列 にあることを前提にしていますので適宜修正ください。
INDEX関数による設定のケースは省略しますので、「仕訳番号」列の説明を参考にセットしてください。
「摘要」列
とんで、左から10列目です。
数式をセットするのは、明細行2行目(偶数行)からです。
= INDIRECT ( "'仕訳帳'!C" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
この式は、摘要が 仕訳帳 シート の C列 にあることを前提にしていますので適宜修正ください。
INDEX関数による設定のケースは省略しますので、「仕訳番号」列の説明を参考にセットしてください。
各列共通処理
ここから説明する各列では、共通する部分があるため、その部分を説明します。
前回記事で説明した通り、仕訳各行を借方情報と貸方情報の2行に分けてコピーする概念です。
そのため
- 偶数行: 借方情報をコピー
- 奇数行: 貸方情報をコピー
とするため、
= IF ( MOD ( [行番号], 2 ) = 0, [借方情報], [貸方情報] )
と設定します。
ISEVEN関数を使った方がスッキリするかもしれません。
「勘定科目」列
左に戻り、左から2列目の '(選択)' と記載されている列です。
数式をセットするのは、明細行2行目(偶数行)からです。
この列も印刷範囲外にしてください。
[借方情報] は
INDIRECT ( "'仕訳帳'!D" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
[貸方情報] は
INDIRECT ( "'仕訳帳'!G" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
です。
この式は、(借方)勘定科目が 仕訳帳 シート の D列 にあること、(貸方)勘定科目が 仕訳帳 シート の G列 にあることを前提にしていますので適宜修正ください。
INDEX関数による設定のケースは省略しますので、「仕訳番号」列の説明を参考にセットしてください。
「補助科目」列
左から3列目ですが、この列は不要という方も多いと思います。
数式をセットするのは、明細行2行目(偶数行)からです。
この列も印刷範囲外にしてください。
[借方情報] は
INDIRECT ( "'仕訳帳'!E" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
[貸方情報] は
INDIRECT ( "'仕訳帳'!H" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
です。
この式は、(借方)補助科目が 仕訳帳 シート の E列 にあること、(貸方)補助科目が 仕訳帳 シート の H列 にあることを前提にしていますので適宜修正ください。
INDEX関数による設定のケースは省略しますので、「仕訳番号」列の説明を参考にセットしてください。
「相手勘定科目」列
数式をセットするのは、明細行2行目(偶数行)からです。
[借方情報] (借方の相手勘定なので、貸方勘定科目ですが)は
INDIRECT ( "'仕訳帳'!G" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
[貸方情報] (貸方の相手勘定なので、借方勘定科目ですが)は
INDIRECT ( "'仕訳帳'!D" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
です。
以下同文で省略します。
「相手補助科目」列
数式をセットするのは、明細行2行目(偶数行)からです。
[借方情報] (借方の相手勘定なので、貸方補助科目ですが)は
INDIRECT ( "'仕訳帳'!H" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
[貸方情報] (貸方の相手勘定なので、借方補助科目ですが)は
INDIRECT ( "'仕訳帳'!E" & QUOTIENT ( [行番号] - [調整数], 2 ) ) & ""
です。
以下同文で省略します。
「借方金額」/「貸方金額」列
数式をセットするのは、明細行2行目(偶数行)からです。
借方情報の貸方金額と貸方情報の借方金額には、それぞれ '0' をセットするだけです。
[借方情報] の 借方金額 は
IF ( INDIRECT ( "'仕訳帳'!F" & QUOTIENT ( [行番号] - [調整数], 2 ) ) = "", 0, INDIRECT ( "'仕訳帳'!F" & QUOTIENT ( [行番号] - [調整数], 2 ) ) )
[貸方情報] の 貸方金額 は
IF ( INDIRECT ( "'仕訳帳'!I" & QUOTIENT ( [行番号] - [調整数], 2 ) ) = "", 0, INDIRECT ( "'仕訳帳'!I" & QUOTIENT ( [行番号] - [調整数], 2 ) ) )
以下同文で省略します。
上記では ISBLANK関数 を使っていますが、実はあまりおすすめできる関数ではありません。
理由はこちらをご覧ください。
account-it-dentist.hatenablog.com
今回は 総勘定元帳 シート の明細行を作成しました。
ここまでの説明で 総勘定元帳 シート の山場はこえました。
次回は 総勘定元帳 シート のヘッダ部とフッタ部を作成して行きます。
自作するのはめんどうなので完成品がほしい、という方はこちらからどうぞ。
ご質問は下の コメントを書く からお願いします。