過去の桐井戸端BBS (桐ver.8)
6898 月数の計算方法? 山田 2000/07/18-23:59
v5時代一括で次のようにしていました。
&前期末=#部分列(#月数加算(&期末、−12、1)、1,5)

v8で、&期末に”h12/03”と入力して上記式を実行させると、
&前期末は”h11/ "となり、月が入りません。
このためと思われますが、、
&一年以内=#部分列(#月数加算、+12,1)、1,5)の計算がうまくゆきません。
どこがいけないおでしょうか。
よろしくお願いします。
6901 Re:月数の計算方法? 宮城 2000/07/19-01:47
記事番号6898へのコメント
山田さん、こんにちは。

型のミスじゃないですか? 検証していませんが、年月日型項目に#部分列を適用しても・・・、それはいかにもと思えます。


6902 Re:月数の計算方法? 佐田 守弘 2000/07/19-01:53
記事番号6898へのコメント
山田さん
何をされたいのか良く理解できないのですが、何となく分かる部分のみコメントさせ
て頂きます。
>&前期末=#部分列(#月数加算(&期末、−12、1)、1,5)
式の中でコンマと点の書き間違いを訂正すると、
 #部分列(#月数加算(&期末,-12,1),1,5)
の式は、#月末加算関数で求めた&期末から12カ月前の日付文字列の先頭5文字を取り出しております。
そして、おそらく日付の書式が1桁の場合スペースを保管する書式に設定していると思います。
仮に現在の1年前だと、「h11/ 7/31」の文字列になります。
この先頭5文字を取れば、「h11/ 」になり、月の部分が切り捨てられます。

桐ver.5時代にはこの計算式でうまくいっていたとの事ですが、その時は元号年が1桁の時代だったのではないでしょうか。
元号年2桁の時には、6文字を取り出して下さい。

佐田守弘(KS-00119)
追伸:上記の式で年度末の年月が得られるのか、やや疑問があります。
どの様なケースで何をしたいのか、この部分を詳しくお知らせ下さい。
(計算式自体を考え直した方が良さそうに思います。)

6903 Re:月数の計算方法? 佐田 守弘 2000/07/19-01:55
記事番号6901へのコメント
山田さん
v5からとの事なので、文字列型を踏襲していると決めつけたのですが、
宮城さんが書かれている様に、データ型の間違いの可能性もありますね。
データ型が日時型であれば、計算式は全く別のモノになります。

佐田守弘(KS-00119)
6906 Re:月数の計算方法? 宮城 2000/07/19-14:06
記事番号6902へのコメント
山田さん、

文字列で処理するにしても、目的の年月日をもとめ、そこから、年・月を取り出し、構成するのがセオリーでしょう。

&前期末年月日も宣言しておきます。

&期末="h12/03" (なんか hって奇異ですが)
&前期末年月日=#月数加算(&期末,−12,1)
&期末="h"¥
   +#文字列(#元号年(&前期末年月日))¥
   +"/"¥
   +#文字列(#月(&前期末年月日),2)

昭和に戻る必要がある場合さらに細工します。
これはめんどうとかかったるいというものではなく、「必要な」手続きです。

率直に言って「V5時代」うまくいっていたのは幸運そのものでしたね。

6921 Re:月数の計算方法? 山田 2000/07/20-15:56
記事番号6898へのコメント
宮城さん 佐田さん ありがとうございました。
 お二方のご指摘のとり#部分列(1,5)を(1,6)にし、&期末に”h12/03"と入力し、
年月データにhを付加したらうまくできました。どうも初歩的なミスではずかしい。

 ところで、計算結果に”h”がつかないように、区切り記号を”."にできないでしょうか。
hのつかない和暦で表示ないし印刷したいのですが。
環境設定の方法がよく分かりません。

 ちなみにv5時代は、次のようにしていました。
変数宣言 共通 文字列{&期末、&前期末、&一年以内}

キー入力 プ=”和暦で yy.mmと入力してください”、モード=確定、&期末

表に埋め込んである項目計算式の一部をとりだすと、
[当期月数] #条件選択([取得年月]>&前期末、#月数([取得年月、&期末)+1、1、
      #月数(&前期末、&期末)
[最終年月] #部分列(#月数加算([取得年月],[回数]-1),1,5)

というものです。
リース取引の年間リース料を計算する表なので、月単位で計算する必要があります。
たとえば 12年3月20日契約、60回払いの場合、契約終了年月日は17年3月19日となりますが、
[最終年月]は17年2月としなくてはなりません。

6924 Re:月数の計算方法? 宮城 2000/07/21-09:51
記事番号6921へのコメント
山田さん、6906のコメント読んでいただかなかったようですね。
すべてあれにより解決できるのですが。

繰り返し申し上げます。
リース取引計算なんてシビアな用途に使うならなおのこと、#部分列などを使ってはいけません。
そのうち、大怪我をします。

戻る