過去の桐井戸端BBS (桐ver.8)
8819 生年月日から学年を自動的に計算させる方法 シュート 2000/12/05-22:30
[生年月日]項目(日時型)を入力すれば、
[学年]項目に学年(例えば小学5年とか)が自動的に入力される何かよい方法はありませんか?

今のところは、
[起算](日時型)を設定して、現在6年の小学入学時の年月日(例えば1985/04/01)を項目置換させて、
そこから、[学年判別]項目に #年数( [生年月日], [起算])+1という式を埋め込み、[学年]項目に 
#表引き( [学年判別] ,= , "gaku.tbl" , [A] ,[B] )
という形で学年を自動入力させていますが、
年度が変われば、[起算]項目を毎回変更しなければならない事になります。

この年度更新をやらずに年度が変われば自動的に学年も更新させる方法は無いでしょうか?

ややこしい表現で申し訳有りませんが、
どなたかお知恵をお貸し下さい。
宜しくお願いいたします。

8820 Re:生年月日から学年を自動的に計算させる方法 toshi-chan 2000/12/05-23:52
記事番号8819へのコメント
シュートさんは、こんばんは。
まず、今年度の4月1日の日付を求めます。
計算式は

#条件選択(#月(#DATE)≧4 .and #月(#DATE)≦12 ,#日時値生成( #年(#DATE) ,4 ,1 ),1,#日時値生成( #年(#DATE) −1,4 ,1 ) )

でいいですね。
次にその日(今年度の4月1日)現在の満年齢を

#年齢

を使用して求めます。
この値が6なら小学1年、7なら小学2年・・・・・・・
という考え方でいかがでしょうか。

8821 Re:生年月日から学年を自動的に計算させる方法 宮城 2000/12/05-23:59
記事番号8819へのコメント
シュートさん、こんばんは。
当該年度3月末の年令に着目すれば、項目計算式で次でどうですか?

[当日]  #年月日
[基準T] #文字列(#条件選択(#月([当日])≦3,#西暦年([当日]),1,#西暦年([当日])+1))+"年"+"3月31日"
[年令T] #年齢( [生年月日],[基準T])
[学年]  #条件選択([年令T]=7,1,[年令T]=8,2,[年令T]=8,3,[年令T]=10,4,[年令T]=11,5,[年令T]=12,6)

限界日が実は違ってたり、勘違いしてたらごめんなさい。
それから、転入もなく持ち上がりの場合、自動的に再計算はしてくれません。
[当日]で置換をかけてください。

8822 Re:生年月日から学年を自動的に計算させる方法 佐田 守弘 2000/12/06-01:41
記事番号8819へのコメント
シュートさん
考え方はtoshi-chanさん、宮城さんと同じです。
4月1日をもって満6才に達した児童が小学1年だったと思うので、その年度の
4月1日時点での年齢から5を引けば、小学校の学年になるはずです。
つまり、
#年齢(#日時値生成((#西暦年(#日時値)-(#月(日時値)<4)),4,1),[生年月日])
で計算できると思います。
付け加えると、
 (#月(日時値)<4)
の部分は、1月から3月は次の西暦年なので、年号から1を引くという意味です。

●例外処理は
上記は基準通りに進学した場合で、中には健康上の理由などで留年(小学校では留年とは言いませんが)する場合もあると思います。
そこで、[調整年数]の様な項目を設けます。
これは通常は0ですが、遅れがある場合にはここに遅れた年数を書き込んでおきます。
そして上記の学年数からこの値を引いた値を学年とするのが良いかと思います。

佐田守弘(KS-00119)

私らが小学校の頃には、TBに罹患して1年、2年と長期に渡って休む児童がいたものでした。
児童だけでなく、長期間休まれている先生もおられました。
最近はこういった病気で休学する児童はいなくなりましたでしょうか。
8824 Re:生年月日から学年を自動的に計算させる方法 ぷぷり 2000/12/06-09:49
記事番号8822へのコメント
おはようございます。ぷぷりです。

気になったのでちょっと調べてみたら、小学校の募集要項では
4月2日から4月1日に生まれた子供が同学年みたいです。

すみませんそれだけです(^^;;
8827 Re:生年月日から学年を自動的に計算させる方法 シュート 2000/12/06-12:16
記事番号8820へのコメント
toshi-chanさん、宮城さん、佐田先生、ぷぷりさん、早速のRESありがとうございます。
かなり近い事は考えていたのですが、具体的に明記していただくと、成る程と感心してしまいます。
以前から気になりつつも、放っておいた課題でしたので、胸のつかえが取れたような思いです。
本当にありがとうございました。
いつも頼りになるメンバーの方々に感謝いたします。
今度は、RESする立場になるようになりたいなぁ。

8840 Re:生年月日から学年を自動的に計算させる方法 佐田 守弘 2000/12/07-20:47
記事番号8824へのコメント
ぷぷりさん
>4月2日から4月1日に生まれた子供が同学年みたいです。
あれ、計算式を間違えたかな?と思って考え直してみました。
「4月1日をもって満6才になる子を小学1年に入学させる」をよくよく考えてみると、
6年前に4月1日生まれの子は6才になっているから小学校に入学する。
当然ながら前日の3月31日生まれも6才になったばかりで小学1年になります。
しかしながら4月2日生まれはまだ5才だから翌年入学という事になります。
つまり、境目は3月31日と4月1日の間ではなくて、4月1日と4月2日の間なんですね。

佐田守弘(KS-00119)

結論
4月1日起算の年齢でカウントするので構わない様です。
8847 Re:生年月日から学年を自動的に計算させる方法 いかすぱげてぃ 2000/12/08-19:58
記事番号8840へのコメント
佐田さん、皆さん、こんにちわ。
ちょっと余談ではありますが…

> >4月2日から4月1日に生まれた子供が同学年みたいです。
>あれ、計算式を間違えたかな?と思って考え直してみました。
>「4月1日をもって満6才になる子を小学1年に入学させる」をよくよく考え
>てみると、
>6年前に4月1日生まれの子は6才になっているから小学校に入学する。当然
>ながら前日の3月31日生まれも6才になったばかりで小学1年になります。
>しかしながら4月2日生まれはまだ5才だから翌年入学という事になります。
>つまり、境目は3月31日と4月1日の間ではなくて、4月1日と4月2日の
>間なんですね。

世間一般的には、誕生日が来ると満うん才となるように考えられていますが
正式(法的)には、誕生日の前日をもって満うん才となります。
従って、4月1日生まれの児童は学期区分日の3月31日に満年齢を加算することになりますので、前の学年に入るわけです。

ということは…
ようするに桐(に限らず)一般的な年齢関数は間違い(^^;でありまして、
お役所とか特に選挙権の有無の管理が必要な時には知らないと非常に困った問題になってしまいます。
(その昔、某ソフトハウスに言ってその辺の仕様をパラメータでキチンと使い分けできるようにしてもらったこともあります。)

ということで…
詳しくは六法全書を調べてください。(^^;

いかすぱげてぃ

PS.「あぁ、明日で**才だ」と言ってる人に「もう、既に**才になってるよ」
   と皆で言ってあげましょう。(笑)

8920 Re:生年月日から学年を自動的に計算させる方法 宮城 2000/12/14-17:19
記事番号8847へのコメント
いかすぱげてぃさん、おそれながら・・・。

>世間一般的には、誕生日が来ると満うん才となるように考えられていますが
>正式(法的)には、誕生日の前日をもって満うん才となります。

http://www.room.ne.jp/~lawtext/1902L050.html

桐の関数に関する議論ということで。m(__)m
8928 Re:生年月日から学年を自動的に計算させる方法 いかすぱげてぃ 2000/12/15-13:04
記事番号8920へのコメント
宮城さん、どうもです。

>いかすぱげてぃさん、おそれながら・・・。
>
>>世間一般的には、誕生日が来ると満うん才となるように考えられていますが
>>正式(法的)には、誕生日の前日をもって満うん才となります。
>
>http://www.room.ne.jp/~lawtext/1902L050.html
>
>桐の関数に関する議論ということで。m(__)m

ちょっと言葉が足りませんでした。
ようするにその「年齢計算ニ関スル法律」の解釈が曲者で…

http://www.gunma.med.or.jp/kiryu/pages/nennrei.html

ということであります…(^^;

8930 Re:生年月日から学年を自動的に計算させる方法 宮城 2000/12/15-18:22
記事番号8928へのコメント
なるほど〜。納得しました。ものすごい解釈があるものですね。

戻る