過去の桐井戸端BBS (桐ver.9)
18469 #条件選択を使って[年月日]の項目から「年度」を求めたい yamamon 2003/01/11-22:41
 桐の条件選択で質問なのですが,項目で[年月日](日付型)の項目を作り,
それを[年度](数値型,#西暦年([年月日])で西暦年取り出し),[月](数値型,#月([年月日])で
月の部分を取り出し)という項目に分けたいと思っています。

その[年度]の部分の項目計算式に,

#条件選択(4<=[月]<=12,#西暦年([年月日]),1<=[月]<=3,#西暦年([年月日])-1)

と入力し,例えば2002年の月が4月から12月までは[年度]に"2002"を,
2003年の1月から3月までは[年度]に"2002"を記載させたいと思っているのですが,
実際の計算結果は2003年の1月から3月は[年度]に"2003"が入力されてしまいます。

 どこの部分が間違っているのか,足りない頭で考えてもよけいわからなくなってしまい困っています。

 どうすれば,1月から3月までの[年度]の結果がちゃんとでるのか,皆さんのお知恵を拝借したいと思っています。
どうかよろしくお願いします。
18470 Re:#条件選択を使って年度を出したい 悲しげ 2003/01/11-22:59
記事番号18469へのコメント
どもっyamamonさん
   4<=[月]<=12
のような書き方は「比較式」でなら出来ますが、「#条件選択」関数の「条件式」にはこのような記述はしません。
詳しくはマニュアル類をご覧いただくとして、結論のみ云えば「条件式」では
   4<=[月] .and [月]<=12
のように記述します。したがってこの場合は例えば
 #条件選択(4<=[月] .and [月]<=12,#西暦年([年月日]),1,#西暦年([年月日])-1)
のようにします。
 ※条件の後段の「1」は「else」の代用として繁用されます。

18471 Re:#条件選択を使って年度を出したい yamamon 2003/01/11-23:10
記事番号18470へのコメント
悲しげさん,ありがとうございます。

マニュアルは見ていたつもりだったんですが,ほんとに”つもり”だけでした。

それで悲しげさんの記述通りに書き直したらできました。ありがとうございます。本当に助かりました。

18478 別解:年度の求め方 佐田 守弘 2003/01/13-12:12
記事番号18469へのコメント
yamamonさん
既に悲しげさんが書かれている事とほぼ同じですが、式を簡略化すれば、
わずかなりとも軽くなるという点での別解です。

[年度]の項目計算式
#条件選択(#月([年月日])<4,#西暦年(年月日)-1,1,#西暦年(年月日))

主旨
月が1〜3月であるかだけを判定するなら、[月]の項目を設ける必要はないでしょう。
1項目省略できます。
「#月」関数で求めた月数は整数値で、しかも値が1〜12の間である事が保証されていますから、
値が4未満であれば前年度、それ以外は今年度と単純に判定して良いかと考えます。

佐田守弘(KS-00119)

戻る