Excelで請求書を作る場合は、
・請求書をデータにする
・データを請求書にする
ことを考えると、効率的に処理できます。
追記:Misocaは弥生に買収され有料となり使いにくくなりました。
※ヴィーナスフォートにて iPhone 7 Plus
Excelで請求書を作るなら、データにすることを考える
Excelでこういった請求書を作ることもあります。
ただ、Excel請求書のままだと、不便です。
・今月の請求金額合計=売上合計が一目でわからない
という問題があります。
結局は、
・Excel請求書を見ながら、売上を入力する
・プリントアウトした請求書を見ながら売上を入力する
といったことをせざるを得ません。
請求した金額=売上は、入金されているどうかのチェックも必要です。
そのチェックも請求書のままだと手間がかかります。
また、会計ソフトへも入力しなければならず、請求書を見ながら会計ソフトに入力する二度手間も発生してしまうのです。
売上の分析、
・どんな商品が売れていて
・どんなお客様が買ってくれていて
・今後その売上に力を入れていくべきかどうか
などをやるひまなど到底ありません。
こういったデータの形式なら、合計を出すことも、入金管理することも、会計ソフトに取り込むことも、分析することもできます。
こういった請求書の形式では、ダメなのです。
紙の請求書、手書きの延長上でしかありません。
Excelで請求書を作るなら、データのことも考えましょう。
方法は2つあります。
1つは、Excelデータから請求書を作る方法
もう1つは、Excel請求書からExcelデータを作る方法
です。
Excelデータ→Excel請求書
ExcelデータからExcel請求書を作る方法。
Excelマクロを使います。
マクロを使わないと、コピー・貼り付けを請求書の数だけやらなければいけません。
こういったマクロを使います。
※実際には、
・別のファイルに請求書を作成
・選択した部分または指定した範囲、すべてのデータで請求書を作成
・請求書をPDFファイルで保存
・顧客データを作っておき、住所等はそこから読み込む
といった処理を追加することが多いです。
Sub makeinvoice() Dim i For i = 2 To 11 '2行目から11行目まで繰り返す '■ひな形のコピー Worksheets("master").Copy after:=Worksheets(Worksheets.Count) Range("e1").Value = Worksheets("data").Range("a" & i).Value '請求書NO Range("a5").Value = Worksheets("data").Range("b" & i).Value & " 御中" '会社名 Range("e6").Value = Worksheets("data").Range("c" & i).Value '請求日 Range("e13").Value = Worksheets("data").Range("d" & i).Value '支払期限 Range("b25", "e25").Value = Worksheets("data").Range("e" & i, "h" & i).Value '区分から金額 '■シート名の変更 ActiveSheet.Name = Worksheets("data").Range("b" & i).Value Next End Sub
ひな形である、シート「master」をコピーして、そのシートのセルE1に、データの2行目の請求書ナンバー(セルA2)を入れます。
これを2行目から11行目まで繰り返すという処理です。
サンプルで動きを確認してみていただければ。
■サンプルファイル
EX-ITサンプル 請求書作成マクロ.xlsm
2回目に実行しようとすると、請求書がすでに作られているためエラーが出ます。
同じ名前のシートは作れないからです。
再度実行するには、Excel請求書のシートを削除する必要があります。
マクロについてはこちらの記事も参考にしてください。
【関連記事】Excelマクロを実行する4つの方法。ショートカットキー・ボタン
リンク
【関連記事】ネット上のExcelマクロを自分のファイルに流用する方法
リンク
Excel請求書→Excelデータ
もう1つの方法は、Excel請求書を普通に作り、データを集約します。
注意すべきなのは、Excel請求書は同じ形式で作ることです。
あるシートは、セルE6に日付があり、あるシートは、セルF6に日付があると、正しく集約できません。
こういったフォーマットを整えることもExcelで効率化するには必須なのです。
次のようなマクロを使います。
Sub merge_invoicedata() '■データ読み取り位置を設定。2行目から Dim n n = 2 '■シート「data」以外のすべてのシートで実行 Dim w For Each w In Worksheets If w.Name <> "data" Then Worksheets("data").Range("a" & n).Value = w.Range("e1").Value '請求書NO Worksheets("data").Range("b" & n).Value = Replace(w.Range("a5").Value, "御中", "") '会社名 Worksheets("data").Range("c" & n).Value = w.Range("e6").Value '請求日 Worksheets("data").Range("d" & n).Value = w.Range("e13").Value '支払期限 Worksheets("data").Range("e" & n, "h" & n).Value = w.Range("b25", "e25").Value '区分 n = n + 1 End If Next End Sub
すべてのシートに対して、処理するのは、
Dim w For Each w In Worksheets Next
ただし、シート「data」は除きますので、
If w.Name <> "data" Then End if
というIFの処理を入れています。
あとは、転記する処理を繰り返すだけです。
nというのは、a2、a3、・・・・a11とデータを入れる場所を1つずつずらしていきたいので、n=n+1の部分で処理しています。
入力のしやすさ、処理のしやすさを考えると、Excelデータ→Excel請求書のほうがおすすめです。
EX-ITサンプル 請求書集約マクロ.xlsm
Excelマクロを使わないのであれば、Excel自体を捨てる手もあります。
クラウド、ネット上で請求書を作れるMisoca(みそか)
なら、請求書の形式で入力して、
データでダウンロードできるので便利です。
データを作るだけPDFで発行するだけなら無料、1通180円で郵送(印刷、封入、投函等)もやってくれます。
私も、愛用しているサービスです。
ただ、請求書の形式で入力するのはめんどくさいので、Excelでデータを作り、それを取り込んでいます。
2013年の記事
【関連記事】ネットで請求書を作成・郵送できるmisoca。8つのいい点・8つの気になる点
リンク
2014年の記事
【関連記事】クラウド請求書サービスを比較!Excel(CSV)一括取込、郵送するならMisoca
リンク
なんらかの方法でデータにする方法を考えてみましょう。
昨日は個別コンサルティングで、訪問。
大好物の経理効率化についてでした。
久々に晴れたので、自宅から10kmをクロスバイクで。
秋葉原UDX駐輪場(6時間150円)もはじめて利用してみました。
【昨日の1日1新】
※詳細は→「1日1新」
クロスバイクで秋葉原
秋葉原UDX駐輪場
煮干しラーメン凪→普通かなぁ・・
スタバ ヴィーナスフォートグランド店
■著書
『税理士のためのプログラミング -ChatGPTで知識ゼロから始める本-』
『すべてをがんばりすぎなくてもいい!顧問先の満足度を高める税理士業務の見極め方』
ひとり税理士のギモンに答える128問128答
【インボイス対応版】ひとり社長の経理の基本
「繁忙期」でもやりたいことを諦めない! 税理士のための業務効率化マニュアル
ひとり税理士の自宅仕事術
リモート経理完全マニュアル――小さな会社にお金を残す87のノウハウ
ひとり税理士のセーフティネットとリスクマネジメント
税理士のためのRPA入門~一歩踏み出せば変えられる!業務効率化の方法~
やってはいけないExcel――「やってはいけない」がわかると「Excelの正解」がわかる
AI時代のひとり税理士
新版 そのまま使える 経理&会計のためのExcel入門
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
【監修】十人十色の「ひとり税理士」という生き方