
No.1ベストアンサー
- 回答日時:
マック環境でファイルメーカープロ6.0jですが、同じに出来ると思います。
私の場合は、「ファイルを開いている今日」を判断基準点とせず、「任意で入力する基準日」に、何歳で何年なの?を計算させるようにしました。
たぶん、その方が小回りが利き、便利なので、その方法を紹介します。
次ようにフィールドを定義しました。
もっと簡単な方法が有るかもしれませんが、私は、これでやっています。
1:生年月日 :日付フィールド
2:基準日 :グローバルフィールド(日付)
3:年齢 :計算フィールド(数字、非保存)
= If(生年月日 <> "",Int((基準日 - 生年月日) / 365.2422),"")
4:基準日学年用:計算フィールド(日付、非保存)
= Date(4, 2, Year(基準日))
5:早生まれ :計算フィールド(テキスト、非保存)
= If(DayofYear(生年月日) <= DayofYear(Date(4, 1, Year(生年月日))),"早生まれ","")
6:学年基準日 :計算フィールド(日付、非保存)
= If(早生まれ = "早生まれ", Date(4, 2, Year(生年月日)-1), Date(4, 2, Year(生年月日)))
7:学年数字 :計算フィールド(数字、非保存)
= (基準日 - 学年基準日)/365.2422
8:学年 :計算フィールド(テキスト、非保存)
= If(学年数字 < 7 , "幼" ,
If(学年数字 < 13 , "小" & NumToText(Int(学年数字)-6),
If(学年数字 < 16 , "中" & NumToText(Int(学年数字)-12),
If(学年数字 < 19 , "高" & NumToText(Int(学年数字)-15),
"大人"))))
義務教育以降の味付けは、お好きに。(#^.^#)
No.5
- 回答日時:
◆満年齢の計算
満年齢の計算は2月29日生まれの処理によって
計算式が異なるんですが、2月28日の翌日に
年齢が増えるとして、
Year(Today) - Year(生年月日) - (Month(生年月日) * 100 + Day(生年月日) > Month(Today) * 100 + Day(Today))
◆学年の計算
4月1日起算の年度の計算は
Year(日付 + 275) - 1
うるう年を回避するため4月から12月の日数を
足して1引いています。
よって4月2日起算の学齢計算は生年月日の年度と
現在の年度の差をとって
Year(Status(日付) + 274)-Year(生年月日 + 274)
計算式が長くなるのでこれを「学齢」という
計算フィールドにします。(フィールドタイプ数字)
学年(計算フィールド:テキスト)=
Case((学齢 > 6) and (学齢 < 13),"小" & NumToText(学齢 - 6),(学齢 > 12) and (学齢 < 16),"中" & NumToText(学齢 - 12))
この回答へのお礼
お礼日時:2004/01/05 12:45
なるほど、計算式の意味を勉強すると意味が理解できました。 奥が深いですね。 いろんな方法で挑戦してみます。どうもありがとうございました。
No.4
- 回答日時:
No.3です。
m(_"_)m> これで、本日の 小学生、中学生の学年が表示されるかと思います。
"本日の"ではなく "検索日の" の間違えです。
"検索日"に入力した日付の時点での学年を表示します。
Bodyに入れるフィールドは、表示したいフィールドだけです。
No.3
- 回答日時:
練習にやってみましたけど、間違えてるかもしれません。
(^^;4/2生まれ~翌年4/1生まれまでが同学年
新学期は4/1と仮定して 考えてみました。
≪フィールド名≫『タイプ』【計算結果】
●≪検索日≫ 『グローバル』【日付】
●≪年度≫ 『計算』 【テキスト】
If( Month( 検索日) >= 4,
Year(検索日) & "年度" ,
Year(検索日) - 1 & "年度" )
●≪生年月日≫ 『日付』
●≪学年齢≫ 『計算』【数字】
If( Month(生年月日) = 4 and Day(生年月日) > 1 or Month(生年月日) > 4 ,
年度 - Year(生年月日) ,
年度 -Year(生年月日) + 1)
●≪学校区分≫ 『計算』【テキスト】
If(学年齢 <= 12 , "小学" , "中学" )
●≪学年≫ 『計算』【テキスト】
If( 学年齢 <= 6 or 学年齢 > 15 , " " ,
学校区分 & If( 学年齢 <= 12 ,
学年齢 -6 & "年" ,
学年齢 - 12 & "年" ) )
これで、本日の 小学生、中学生の学年が表示されるかと思います。
学校区分と学年齢、学年の計算式を少し編集すれば、
高校・大学等 表示させ、それ以外は空欄に出来ると思います。
もっとシンプルに出来るかもしれないし、
急いでやったので細かい年齢と学年の繋がりに間違いがあるかもしれませんが、
数字を変えることで、ご希望の表示になると思うのですが・・・
間違えがありましたら、ご指摘下さい。
その場合は 質問者の方ごめんなさい。 F(^-^;)
No.2
- 回答日時:
#1 です。
何日からが新学期(新学年)?という定義が不明なので、必要ないかもしれませんが、
特異日(毎年4月1日)に誤差(昨年の学年を表示する)が発生することが解ったので、下記に修正します。
7:学年数字 :計算フィールド(数字、非保存)
= (基準日 - 学年基準日 + 1 )/365.2422
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 隣のセルが空白以外の場...
-
average関数の値とsum関数値が...
-
【ACCESS】未定義関数が発生。...
-
ACCESSでの時間外計算方法
-
年齢をわりだす関数は・・・
-
差し込み印刷に当日の日付が入...
-
「24日の0時」って・・・
-
エクセルのチェックボックスを...
-
VBAでエクセルシートを更新...
-
エクセルで数字から名前に変...
-
回覧板の日付について質問です...
-
日付の大小の表現
-
折り返して表示、縮小して表示...
-
ピボットテーブルの日付フィル...
-
excelで、セル内に文字が入力さ...
-
エクセルで最高値、最低値の日...
-
エクセルでのNULLという文字列...
-
Excelについて
-
「時間」、「期日」、「日付」...
-
エクセルで在庫表を作りたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンピューターで2進法が採用...
-
Excel 隣のセルが空白以外の場...
-
【ACCESS】未定義関数が発生。...
-
ACCESS で深夜計算
-
アクセスについて
-
エクセルでeのマイナス乗の計算...
-
エクセルで四捨五入ではなく、5...
-
ACCESSでの時間外計算方法
-
ファイルメーカープロ8で生年月...
-
計算結果をCASE WHENで判断した...
-
選択クエリを開けない
-
アクセスである時点での年齢を...
-
エクセルについて
-
exelでの年齢 何さい何か月何日...
-
Excelで、生年月日と特定の日付...
-
チェックデジットを付加したデ...
-
SQL Server での小数点以下の「...
-
携帯番号がわかる計算式
-
ファイルメーカーPro7での経過...
-
ファイルメーカーで時間の表示...
おすすめ情報