過去の桐井戸端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,&当月) > > いつもお世話になります、うまくいきました有難うございました。 |