見積書や請求書を作るのにマイクロソフトのエクセルを利用しています。
前回も同じ書き出しで書きましたが、結果自動計算に挫折をしたのです。
消費税の自動計算。
先日、助成金の申請で見積書を出したところ、表紙の総工事金額の下に書いてある消費税金額と、各工事を合計して諸経費やら雑工事やらを合算して値引きを起こす内訳書の消費税額が違うと指摘されました。
差額は1円で、助成金の計算はどこかの段階で千円未満切り捨てにされる上、要求されているのは見積書の写しであり、この内容でお客様が納得していれば別に問題ないレベルと思うのですが、まあ、それはそれ。
いずれにしても、違っているのは気持ちが悪いという事で、対策に乗り出すことにしました。
明細の部分は、希望見積(請求)金額処理の関数から導き出せれた消費税額で、表紙の場合は単純に総工事金額(税込)から消費税を計算して得た消費税額でした。
計算方法が異なる為に、結果に違いが発生してしまったという事になります。
まず、単純に考えれば明細書の消費税額をから参照してあげれば、数値が違うという結果は回避できますが、電卓をはじいて消費税額を計算したところ、表紙の方が正解という事になりました(汗)
という事は、希望見積(請求)金額を計算する方法が悪いという事になります。
round、rounddown、roundup関数を試した結果、rounddown関数を採用した関数を埋め込んでありますが、金額によったは補正の「-1」を手入力しないと希望した金額にならないので、完ぺきではない事は分かっていました。
つまりは、この方法ではダメという事実を受け止めざる負えなくなりました。
そこで考えたのは、希望見積(請求)金額を入力した場合と、端数をそのまま残す場合はIF関数を利用し別の計算ルートを採用するという事です。
値引きなしの端数そのままの時は、工事金額に消費税率をかけて結果を得ます。
希望金額に丸める場合は、希望金額から希望金額の税抜きを金額小数点以下をきれいにして引いて、消費税を計算する形にしました。
逆算する形です。
エクセルの仕様上、小数点以下は丸めなくとも表示を整数部分に出来るので無理にround関数で丸めなくてもいいなと、問題なく計算されるのでこれでいいなと思っていたら、表紙から見積の消費税と、請求の消費税を合算して表示するとこの小数点以下が邪魔をして、1円違う額になることが起こるのです。
仕方がないので、消費税額の計算部分はround関数を使いました。
計算結果が両方ともに、**.5なんて事になるとまた1円変わるのですが、それは現状よりは稀でしょうから、この方法を採用しました。
とにかく、手動補正することはこれでなくなりましたので、シートの見た目もすっきりしました。
一つ問題が解決したので、役所の職員に感謝せねばなりません。