過去の桐井戸端BBS (桐ver.8)
5710 #切り捨てについて 松井茂男 2000/04/24-20:45
こんばんは、みなさん!
また行き詰まりました。
よろしくご指導ください。

給料計算なんですが、

勤務台帳に、勤務時間・交通費・・・・・があります。
しかし、この交通費は勤務時間が8時間であれば、指定した交通費を社員台帳から
#表引きします。
しかし、勤務時間が8時間までなら、交通費÷勤務時間として、
この金額を#切り捨てしたいのですが、うまくいきません。

どなたかご指導ください。
5711 Re:#切り捨てについて 宮城 2000/04/24-21:00
記事番号5710へのコメント
松井茂男さん、こんにちは。

>しかし、この交通費は勤務時間が8時間であれば、指定した交通費を社員台帳から
>#表引きします。

どう指定するのか疑問ですが、定額の「交通費」が社員台帳から参照できる前提で考えます。
[表引き交通費]とかいう項目を追加してしまいます。

本命[交通費]ですが、こんな感じでしょうか。

#条件選択([勤務時間]="","",
      [勤務時間]>=8,[表引き交通費],
      [勤務時間]<8,#切り捨て([表引き交通費]/[勤務時間],9))

勤務時間が未入力だったら未定義のまま、8以上なら表引きしたものをそのまま、
8未満なら割り算して切り捨て。最初のを最後に書くと、割り算する条件式をゼロ
より大きくかつ8未満と書かなくちゃならなくなります。

5712 Re:#切り捨てについて 松井茂男 2000/04/24-21:15
記事番号5711へのコメント
この勤務台帳を一括処理で業集計して、給料台帳に読み込ませるのですが
この行集計した段階で、交通費が切り捨てになっていないのです。
どうすればいいでしょうか?
5713 Re:#切り捨てについて 宮城 2000/04/25-00:38
記事番号5712へのコメント
ちょっと困っちゃいますね。

>うまくいきません。

どううまくいかないのか記述がないので、「うまくいくであろう」のを
書いてみました。それに対して、

>この行集計した段階で、交通費が切り捨てになっていないのです。

ですか? 各行がうまく切り捨てできたら、それを集計して切り捨てに
ならない訳がありません。(だって、足すだけでしょ?) 以下自粛。


5746 #切り捨てについて 松井茂男 2000/04/26-08:41
宮城さんが書かれたように
[表引き交通費]・[交通費2]を追加しました。
[表引き交通費]には#表引き([社員氏名],=,社員台帳,[社員氏名],[交通費])と設定し、
[交通費2]には、#切り捨て(([表引き交通費]/8),0)としました。
しかし、まだ#切り捨てしません。
[交通費]に[交通費2]*[勤務時間]
この段階では、表示は小数点を切捨てしています。

しかし、行集計で集計した結果は、切り捨てしていないんです。

例えば [田中]4/10 ¥250 4/11 ¥250 
行集計すると ¥510になります。
¥500になるはず!

ご指導よろしくお願い致します。
5748 Re:#切り捨てについて 宮城 2000/04/26-10:17
記事番号5746へのコメント
再現するためにもう少しデータ提供をお願いします。

簡略化のため、項目を以下とします。

氏名(文字列)   :特に設定なし。
日(数値)     :特に設定なし。
表引き交通費(数値):もはや表引きは問題にならないはずなので定額(?)。
交通費2(数値)  :#切り捨て([表引き交通費]/8,0)
勤務時間(数値)  :行ごと入力。
交通費(数値)   :[交通費2]*[勤務時間]

表引き交通費の値、行ごと勤務時間の値、行集計する項目および式。

最低限これだけです。

5762 Re:行集計での #切り捨て について Ogo 2000/04/26-23:54
記事番号5746へのコメント

>しかし、行集計で集計した結果は、切り捨てしていないんです。

どんな行集計をしてますか?

  A  単価1 時間1 項目計算式で掛け合わせた切り捨て金額1
  B  単価2 時間2 項目計算式で掛け合わせた切り捨て金額2   
  C  単価3 時間3 項目計算式で掛け合わせた切り捨て金額3 
 行集計 #合計 #合計  【ここに何を入れているかが問題】

【ここに何を入れているかが問題】ですが、ここには #合計 を入れるんです。

【項目計算式で掛け合わせた切り捨て金額1】の項目計算式と同じ計算式を入れたらダメですよ。
理由は【単価】の合計額と【時間】の合計額で改めて計算を始めてしまうからです
(つまり、各行で切り捨てされた結果はムダになる)。

電卓で計算してみれば、その理由は納得できるでしょう。

もちろん、#切り捨てでなくても、#四捨五入 でも #切り上げ でも#INT でも全く同じで、
項目計算式の設定されている(丸め処理がされている)項目を行集計する時には
気を付ける必要があります。

こんな辺りでどうでしょう?

5763 Re:行集計での #切り捨て について 宮城 2000/04/27-00:51
記事番号5762へのコメント
はて? 松井さんが書かれている通りだと、Ogoさんのコメントの単価n
の部分が切り捨て設定でかけ算には切り捨てはないはずなんですが。
結論からいうとOgoさんの説は魅力的。

とはいえ想像でものいっても仕方ありませんので、松井さんの情報提供を待ちます。
5767 Re:行集計での #切り捨て について Ogo 2000/04/27-10:29
記事番号5763へのコメント

>はて? 松井さんが書かれている通りだと、Ogoさんのコメントの単価n
>の部分が切り捨て設定でかけ算には切り捨てはないはずなんですが。

あ〜、私の書いた「かけ算」はあくまでも一般例です。(^^;

もちろん、加減乗除、べき乗、その他どんな計算式であっても、数値の
丸め処理を1回でも噛ませれば、全く同じ原理で、計算誤差が発生する
可能性があるということです。

今回の丸め処理は切り捨てだったので、間違いが発見し易いのですが、
これが四捨五入なんかだったら、間違いの存在が発覚しにくいです。

5786 Re:行集計での #切り捨て について 松井 2000/04/28-20:44
記事番号5767へのコメント
こんばんは、みなさん
大変ありがたいご指導を頂き感謝しております。

大変恥ずかしい話なのですが、
[表引き交通費]は社員台帳の交通費を#表引き
[交通費]は[表引き交通費]÷8
[交通費2]は[交通費]×[勤務時間]
となっておりました。
[交通費]#切り捨て(([表引き交通費]÷8),0)この項目は切り捨てられているのですが、
[交通費2]が切り捨てられた結果がでないと、書き込みしました、
しかし、よくよく調べてみると、[勤務時間]=4時間ならばいいのですが
4.5時間だと245.5というような結果になってました。
[交通費2]=#切り捨て(([交通費]×[勤務時間]),0)で解決しました。

たいへんお騒がせいたしまして、申し訳ありませんでした。

みなさん、ありがとうございました。

戻る