過去の桐井戸端BBS (桐ver.9)
18836 3ヶ月、6ヶ月、12ヶ月の請求単位で年月をもとめたい yuki 2003/02/05-18:10
いつも拝見しております、お世話になります。
3ヶ月、6ヶ月、12ヶ月単位で年、月を求めたいのですが
変数に当月は 15.02 すべて文字列です は作っています、
請求には先請求と後請求があり、表にすると下記のようになります。

 請求単位 先、後   A     B
 3ヶ月   先   15.03    15.05
 6ヶ月   先   15.03    15.08
 12ヶ月  先   15.03    16.02
 3ヶ月   後   14.12    15.02
 6ヶ月   後   14.09    15.02
 12ヶ月  後   14.03    15.02

 のように項目 A,B を求めたいのですが
  よろしくお願いします。

  
18837 質問内容の確認 佐田 守弘 2003/02/05-20:35
記事番号18836へのコメント
yukiさん
理解不足の部分があるので、内容を確認させて下さい。
●日付の表記方法
 >変数に当月は 15.02 すべて文字列です は作っています、

の部分ですが、「15.02」は平成15年3月の意味ですか?
桐の上でその様に扱うのはちょっと無理があると思います。
原理的には年と月を取り出す事は出来ますが、単に15と書いたのでは
2015年(設定によっては1915年)としてみなされますから、
日付の計算で誤りが出る可能性があります。
元号で現すなら、「h15.01」と記述する必要があります。
なお、原則的には日時型を使うべきでしょう。

●先請求と後請求
 >請求には先請求と後請求があり、
聞いた事がない用語なので、その意味をお知らせ下さい。

●AとBの項目の意味
 >のように項目 A,B を求めたいのですが
書かれているデータからではAとBの意味が分かりません。
請求単位の月数分の後や先でもなさそうですし。

●何ヵ月か先の日付を求める方法
使用する関数は、「#月数加算」関数ですが、前述の様に
日付の指定方法をきちんとしませんと、誤ったカレンダ上で
計算する事になり、誤った日付になるおそれがあります。

佐田守弘(KS-00119)
18839 Re:年 月をもとめるには うにん 2003/02/05-20:52
記事番号18836へのコメント
yukiさんは No.18836「年 月をもとめるには」で書きました。
>いつも拝見しております、お世話になります。
>3ヶ月、6ヶ月、12ヶ月単位で年、月を求めたいのですが
>変数に当月は 15.02 すべて文字列です は作っています、
>請求には先請求と後請求があり、表にすると下記のようになります。
>
> 請求単位 先、後   A     B
> 3ヶ月   先   15.03    15.05
> 6ヶ月   先   15.03    15.08
> 12ヶ月  先   15.03    16.02
> 3ヶ月   後   14.12    15.02
> 6ヶ月   後   14.09    15.02
> 12ヶ月  後   14.03    15.02
>
> のように項目 A,B を求めたいのですが

AとBは数値にした方が簡単だと思いますが。
&秒を使ってるので、実際には中間の計算項目を置いた方がいいです。

[A]の計算式

#COND([先、後]="先",#STR(#NUM(&当月)+#COND(#MOD(#数値(&当月),1)=0.12,0.89,1,0.01)),1,#STR(#計算(#代入(&秒,#NUM(&当月)-#NUM([請求
単位])/100),&秒-#COND(#MOD(&秒,1)>0.12,0.87,1,0))))

[B]の計算式

#COND([先、後]="先",#STR(#計算(#代入(&秒,#NUM(&当月)+#NUM([請求単位])/100),&秒+#COND(#MOD(&秒,1)>0.12,0.88,1,0))),1,&当月)


18914 Re:年 月をもとめるには yuki 2003/02/10-19:45
記事番号18839へのコメント
うにんさん

>AとBは数値にした方が簡単だと思いますが。
>&秒を使ってるので、実際には中間の計算項目を置いた方がいいです。
>
>[A]の計算式
>
>#COND([先、後]="先",#STR(#NUM(&当月)+#COND(#MOD(#数値(&当月
>),1)=0.12,0.89,1,0.01)),1,#STR(#計算(#代入(&秒,#NUM(&当月)-#NUM([請求
>単位])/100),&秒-#COND(#MOD(&秒,1)>0.12,0.87,1,0))))
>
>[B]の計算式
>
>#COND([先、後]="先",#STR(#計算(#代入(&秒,#NUM(&当月)+#NUM([請求単位
>])/100),&秒+#COND(#MOD(&秒,1)>0.12,0.88,1,0))),1,&当月)
>
>
いつもお世話になります、うまくいきました有難うございました。

戻る