割り算の商を求める方法
明細行が12行ある印刷物のページ数を求めるために、割り算の商を求めたいのですがどのようにしたら良いでしょうか。
例
印刷した行が5行の時はページ数は1
印刷した行が12行の時はページ数は1
印刷した行が13行の時はページ数は2
MAGICのバージョン:Magic uniPaaS V1Plus 1.9g2 PT4
ご教授の程、宜しくお願い致します。
-
12行印字で改ページする帳票と決まっており、あらかじめ総ページ数を把握したいといった時
FIX( 明細行数 / 12行, 2, 0 ) + IF( 明細行数 MOD 12行 <> 0, 1, 0) を必要ページ数にしています。 -
ISHIJIMAさん ご返答頂き有難う御座います。
Fix関数を使うと、印刷した行が5行の時、5/12でFix関数で0になります。印刷した行が13行の時、13/12でFix関数で1になります。求めたい値と違います。
-
nkmtさん ご返答頂き有難うございます。
nkmtさんの方法だと求めたい値になりました。
ご教授頂き、有難う御座います。
-
FIX ( 明細行数 / 12行 + 0.999, 2, 0) でもいけるのかもしれません。
-
ISHIJIMAさん ご返答頂き有難う御座います。
ISHIJIMAさんから教えてもらった方法でも求めたい値になりました。
ご教授頂き、有難う御座います。
-
もっと簡単な式にするなら、次の式でも良さそうですね。
(明細行数)/ 12 + 0.49
-
tandaさんの式もいいですね。端数が自動四捨五入されるでしょうから。
ありがとうございます。
-
結局のところ切り上げになるので、+0.99の切り捨てが正解であろうと思いますが
最大ページ数をとるのが目的であれば
用紙サイズとプリンタによって最大行数が変わるのと、
フォームのページを先頭で出力したときの改ページが考慮されていないので
実際一度カウントしてから印刷するのがベターなのではないでしょうか
以前にホワイトペーパーのマスタリングunipaasか何かで見た覚えがあります
-
> tandaさんの式もいいですね。端数が自動四捨五入されるでしょうから。
はい、その通りです。自動四捨五入を使った、もっとも簡単な記述法です。
サインインしてコメントを残してください。
コメント
9件のコメント