見積書や請求書を作るのにエクセルを利用しています。
ver.8となり結構、便利なものになってますが、いかんせんVBAに挫折したのでダイアログが使えずに、所々、手動だったりしますが、まぁ、自分が使うには満足できるレベルですと、自画自賛w
しかしながら、ずっとうまく処理できずにいるのが消費税の計算です。
金額が大きな工事の場合、1円単位までは請求せずキリの良い金額で請求書を作ります。
工事金額が、1,500円の場合、課税後は1,620円です。
これを、値引きをかけて1,600円で請求します。
この場合、( 1,600 - 1,620 ) /1.08 = -18.5185円が値引き額となります。
小数点以下を切り捨て、18円を値引き額として試しに計算します。
( 1,500 - 18) x 1.08 = 1,600.56円
端数が出たので再び小数点以下を切り捨て、1,600円を得ることが出来ました。
これを単純にエクセルに関数で埋め込みますと、
=ROUNDDOWN((1500+ROUNDDOWN((1600-1620)/(1.08),0))*1.08,0)
とこんな形になるのです。
しかし、この数式は希望金額を1,525円にすると、得られる数値は1,526円となります。
=ROUNDDOWN((1500+ROUNDDOWN((1525-1620)/(1.08),0))*1.08,0)
どうやら小数点1位が9の場合に、誤差が出てしまうようです。
どうしたら良いのか考えていますが、なかなかうまく行かないのです。
少数点第1位が9の時に、切り上げてあげられたら良いのかも。
もしくは、小数点第1位が9の時に1を増やしたり減らしたりするのもいいかも。
と、考えて両方試し、複合技も試しましたが共に100%ではありませんでした。
もう、限界。
やっぱり手動で調整するのがよさそうです。
なにか100%な簡単な数式って、ないでしょうか。