過去の桐井戸端BBS (桐ver.9) |
18021 | 重量逓減の計算(関数)をしたい | 桐部 | 2002/11/23-07:16 |
コピー機の保守料(重量逓減)の計算式についてご質問させて頂きます。 下記の通り使用枚数によって単価が違います。 1枚〜1000枚=3.5円(A料金) 1001枚〜2000枚=3.0円(B料金) 2001枚〜3000枚=2.8円(C料金) 3000枚以上 =2.1円(D料金) 表(3500枚使用した場合) 使用枚数 A料金 B料金 C料金 D料金 合計 3500 3500 3000 2800 1050 10350 表(2500枚使用した場合) 2500 3500 3000 1400 0 7900 ※使用枚数を入れると「横合計」を自動計算をさせたい。 ※もしくは合計だけを求めたい。 よろしくお願い致します。 | |||
18022 | Re:重量逓減の計算(関数)について | たてお | 2002/11/23-09:12 |
記事番号18021へのコメント まちがってたらごめんなさい 使用枚数→数値 A料金 #条件選択([使用枚数]<=1000,[使用枚数]*3.5,1,3500) B料金 #条件選択(([使用枚数]>=1001 .and [使用枚数]<=2000), ([使用枚数]-1000)*3.0,[使用枚数]<=1000,0,1,3000) C料金 #条件選択(([使用枚数]>=2001 .and [使用枚数]<=3000), ([使用枚数]-2000)*2.8,[使用枚数]=<2000,0,1,2800) D料金 #条件選択([使用枚数]>=3001,([使用枚数]-3000)*2.1,1,0) 合計 [A料金]+[B料金]+[C料金]+[D料金] かな〜? | |||
18023 | Re:重量逓減の計算(関数)について | tuji | 2002/11/23-09:16 |
記事番号18021へのコメント [枚数],[A料金],[B料金],[C料金],[D料金]の項目を作り, [A料金]以降の項目計算式にそれぞれ, #条件選択([枚数]≦1000,3.5×[枚数],[枚数]>1000,3.5×1000) #条件選択([枚数]≦1000,0,[枚数]>2000,3×1000,1000<[枚数]≦2000,3×([枚数]-1000)) #条件選択([枚数]≦2000,0,[枚数]>3000,2.8×1000,2000<[枚数]≦3000,2.8×([枚数]-2000)) #条件選択([枚数]≦3000,0,3000<[枚数],2.1×([枚数]-3000)) #横合計([A料金],[D料金]) と設定すればどうでしょう? | |||
18024 | 有り難うございました。 | 桐部 | 2002/11/23-10:00 |
記事番号18021へのコメント 「たておさん」/「tujiさん」早々ご回答有り難うございました。 私1人では、解決できませんでした。 お二人の方法で再定義したら、どちらも出来ました。 有り難うございました。 別件ですが「桐Ver9」を9ライセンス購入して 社内で桐を広げようと思います。これからもアドバイス よろしくお願い致します。 | |||
18025 | Re:重量逓減の計算(関数)について | KH | 2002/11/23-10:28 |
記事番号18021へのコメント テストしている間にもう解決されましたね。作ってしまったので 見ていないでしょうがコメントします・・・。間違っていたりして! [A料金]、[B料金]、[C料金]、[D料金]、[合計]の計算項目に、 #条件選択([使用枚数]<=1000,[使用枚数]*3.5,1,3500) #条件選択([使用枚数]<=1000,0,[使用枚数]<=2000,([使用枚数]-1000)*3.0,1,3000) #条件選択([使用枚数]<=2000,0,[使用枚数]<=3000,([使用枚数]-2000)*2.8,1,2800) #条件選択([使用枚数]>3000,([使用枚数]-3000)*2.1,1,0) #横合計([A料金],[D料金]) | |||
18028 | HKさん有り難うございます。 | 桐部 | 2002/11/23-11:27 |
記事番号18025へのコメント KHさん有り難うございました。 >見ていないでしょうがコメントします・・・。間違っていたりして! とんでもございません。ちゃんと参考にさせて頂きました。 >#条件選択([使用枚数]<=1000,[使用枚数]*3.5,1,3500) >#条件選択([使用枚数]<=1000,0,[使用枚数]<=2000,([使用枚数]-1000) >*3.0,1,3000) >#条件選択([使用枚数]<=2000,0,[使用枚数]<=3000,([使用枚数]-2000) >*2.8,1,2800) >#条件選択([使用枚数]>3000,([使用枚数]-3000)*2.1,1,0) >#横合計([A料金],[D料金]) こちらも、再定義でテストしましたが大成功でした。 早々有り難うございました。 3種類の方法で、それぞれ若干式が違いますが答えは正解でした。 それぞれ、検証して理解して自分のものにしていきたいと思っております。 これからもよろしくお願い致します。 さておさんの事例 #条件選択([使用枚数]<=1000,[使用枚数]*3.5,1,3500) #条件選択(([使用枚数]>=1001 .and [使用枚数]<=2000),([使用枚数]-1000)*3.0,[使用枚数]<=1000,0,1,3000) #条件選択(([使用枚数]>=2001 .and [使用枚数]<=3000),([使用枚数]-2000)*2.8,[使用枚数]=<2000,0,1,2800) #条件選択([使用枚数]>=3001,([使用枚数]-3000)*2.1,1,0)[A料金]+[B料金]+[C料金]+[D料金] tujiさんの事例 #条件選択([枚数]≦1000,3.5×[枚数],[枚数]>1000,3.5×1000) #条件選択([枚数]≦1000,0,[枚数]>2000,3×1000,1000<[枚数]≦2000,3×([枚数]-1000)) #条件選択([枚数]≦2000,0,[枚数]>3000,2.8×1000,2000<[枚数]≦3000,2.8×([枚数]-2000)) #条件選択([枚数]≦3000,0,3000<[枚数],2.1×([枚数]-3000)) #横合計([A料金],[D料金]) | |||
18032 | Re:HKさん有り難うございます。 | うにん | 2002/11/23-14:45 |
記事番号18028へのコメント 合計項目だけですませる方法を一応書いておきます。 #条件選択([使用枚数]≦1000,[使用枚数]×3.5,[使用枚数]≦2000,3500+([使用枚数]-1000)×3.0,[使用枚数]≦3000,6500+([使用枚数]-2000)×2.8,1,9300+([使用枚数]-3000)×2.1) 区切りになる数値(このケースでは[使用枚数]で1000,2000,3000)の小さい順に条件として、そのときの値は 「ひとつ下の区切りまでの金額」+(計算する数値-ひとつ下の区切りの数値)xこの区切りの単価 という具合です。 | |||
18034 | うにんさん有り難うございます。 | 桐部 | 2002/11/23-15:24 |
記事番号18032へのコメント うにんさん、これで全て解決です。 有り難うございました。 | |||
18035 | まとめ!! | 桐部 | 2002/11/23-20:17 |
記事番号18021へのコメント 皆さんの回答をとりまとめてみました。 ※条件選択とは 条件式 condi を i=1 から評価し、真の式が現れたら vali を返す。 条件式がすべて偽(0)であれば未定義値を返す。 【例】 #条件選択(&A>&B,"大",&A<&B,"小",1,"等しい") … 最後の条件式は 1 が常に真であることを利用する 《別名》 #COND #条件選択 ※質問内容 @ 1枚〜1000枚=3.5円(A料金) A1001枚〜2000枚=3.0円(B料金) B2001枚〜3000枚=2.8円(C料金) C3000枚以上 =2.1円(D料金) D合計 ※合計項目だけですませる計算(Sパタン) 区切りになる数値(このケースでは[使用枚数]で1000,2000,3000)の小さい順に条件として、 そのときの値は「ひとつ下の区切りまでの金額」+(計算する数値-ひとつ下の区切りの数値)xこの区切りの単価という具合です。 @#条件選択([使用枚数]≦1000,[使用枚数]×3.5,[使用枚数]≦2000,3500+A ([使用枚数]-1000)×3.0,[使用枚数]≦3000,6500+B([使用枚数]-2000)×2.8,1,9300+C([使用枚数]-3000)×2.1) ※項目ごとに計算(Aパタン) @#条件選択([使用枚数]<=1000,[使用枚数]×3.5,1,3500) A#条件選択([使用枚数]<=1000,0,[使用枚数]<=2000,([使用枚数]-1000)×3.0,1,3000) B#条件選択([使用枚数]<=2000,0,[使用枚数]<=3000,([使用枚数]-2000)×2.8,1,2800) C#条件選択([使用枚数]>3000,([使用枚数]-3000)×2.1,1,0) D#横合計([A料金],[D料金]) ※項目ごとに計算(Bパタン) @#条件選択([使用枚数]<=1000,[使用枚数]×3.5,1,3500) A#条件選択(([使用枚数]>=1001.and [使用枚数]<=2000),([使用枚数]-1000)×3.0,[使用枚数]<=1000,0,1,3000) B#条件選択(([使用枚数]>=2001.and [使用枚数]<=3000),([使用枚数]-2000)×2.8,[使用枚数]=<2000,0,1,2800) C#条件選択([使用枚数]>=3001,([使用枚数]-3000)×2.1,1,) D[A料金]+[B料金]+[C料金]+[D料金] ※項目ごとに計算(Cパタン) @#条件選択([使用枚数]≦1000,3.5×[使用枚数],[使用枚数]>1000,3.5×1000) A#条件選択([使用枚数]≦1000,0,[使用枚数]>2000,3×1000,1000<[使用枚数]≦2000,3×([使用枚数]-1000)) B#条件選択([使用枚数]≦2000,0,[使用枚数]>3000,2.8×1000,2000<[使用枚数]≦3000,2.8×([使用枚数]-2000)) C#条件選択([使用枚数]≦3000,0,3000<[使用枚数],2.1×([使用枚数]-3000)) D#横合計([A料金],[D料金]) 皆様有り難うございます。桐の発展を心から願います。 | |||
18039 | 項目計算式 | 尾形 | 2002/11/25-08:30 |
記事番号18035へのコメント どうも、こんにちは コピーの業者さん側になられるのではないかと思いますが こういうのって、後々に単価が変わったりしないのでしょうか? 計算式に記述してしまうと後で苦労されるような気もします | |||
18040 | Re:項目計算式 | 桐部 | 2002/11/25-10:18 |
記事番号18039へのコメント 尾形さんこんにちは、ご意見有り難うございます。 >コピーの業者さん側になられるのではないかと思いますが コピー機の保守料「リコー社のパフォーマンスチャージ」、「富士ゼロックスのトータルサービス料)が重量逓減になりますが、 ご指摘のように機種ごとに単価が違います。 今回は、わかりやすいようにコピー機を例に取ったのですが実際は別の用途で使用致します。 >こういうのって、後々に単価が変わったりしないのでしょうか? >計算式に記述してしまうと後で苦労されるような気もします 外にどのような方法があるのでしょうか?良い方法があったらアドバイス願います。 | |||
18043 | Re:重量?従量? | 隅の中年 | 2002/11/25-13:12 |
記事番号18021へのコメント 桐部さん >コピー機の保守料(重量逓減)の計算式についてご質問させて頂きます。 重箱の隅を楊枝でほじくるようでためらいましたが、どうしても気になるので失礼を顧みず悪役になって。 「重量」逓減は「従量」逓減ではないでしょうか。 ご本人が訂正されていないので、ひょっとして何らかの業界用語で「重量」なのかもしれませんが。 | |||
18046 | Re:重量?従量? | 桐部 | 2002/11/25-16:45 |
記事番号18043へのコメント 隅の中年さんこんにちは >重箱の隅を楊枝でほじくるようでためらいましたが、どうしても気になるので失礼 >を顧みず悪役になって。 >「重量」逓減は「従量」逓減ではないでしょうか。 >ご本人が訂正されていないので、ひょっとして何らかの業界用語で「重量」なのか >もしれませんが。 まぎわらしい言葉を使っても申し訳ございません。 当社は貨物を取り扱っておりまして「重量逓減制」を利用しております。 (航空貨物の業界用語だと思います。) |