|
この問題って、よく聞きますね。
例えば、税抜きで93円の物と税抜きで189円の物をそれぞれ1個ずつ買うとします。
端数は四捨五入されるものとします。
2つの物を一緒にレジを通すと、支払う合計は
(93+189)×1.08=304.56
となり、端数を四捨五入すると、支払額は305円となります。
他方、2つの物を別々にレジを通すと、支払額は、
93×1.08=100.44
189×1.08=204.12
となるので、
100+204=304円
となります。
2つの物を一緒にしてレジを通すか、別々にしてレジを通すかによって支払額に1円の差が出てくるわけです。
価格によっては、上例とは逆に、一緒にレジを通した方が安くなるという場合も出てきます。
これを利用して、日々の買い物において節約に励んでいる主婦がいるという話を聞いたことがあります。
で、質問に立ち返ります。
上例で見たとおり、
端数処理後に合計するか(上例では別々にレジを通す場合)、
合計後端数処理をするか(上例では一緒にレジを通す場合)
により最終的な額が変わってくることがあります。
これは、避けることができません。
結局、出したい価格が、端数処理後に合計なのか、合計後端数処理なのかに合わせて計算するしかありません。
本件において、税抜き価格を合計した後に税率をかけて、税込み合計額をアクセスで計算したいなら、
SELECT 注文CD, Sum(金額) AS 合計
FROM クエリA
GROUP BY 注文CD
というクエリBを作り、さらに
SELECT 注文CD, 合計額 * 1.08 AS 税込合計
FROM クエリB
GROUP BY 注文CD
というクエリCを作るということになります。
そして、出力先のエクセルに合うよう、
クエリCをうまく組み合わせて、さらにクエリをうまく組み立てる
ということになります。
|
|