ぺーぺーぷーぷーな日々

Claris FileMaker と戯れる日々です。

年齢とか月齢の計算式

現在、レクレアル茂田さんFileMaker オンライン塾を受講しているのですが、先日のライブ講義の中で「年齢計算」が出てきました。


茂田さんに教えていただいた式ではLet関数を使っていて、すっきりとして応用しやすいものでした。


現在では、公式サイトに計算式が解説付きで掲載されています。

Case (
IsEmpty ( 生年月日 ) ; "" ;
IsEmpty ( 今日の日付 ) ; "" ;
今日の日付 < Date ( Month ( 生年月日 ) ; Day ( 生年月日 ) ; Year ( 今日の日付 ) ) ;
Year ( 今日の日付 ) - Year ( 生年月日 ) - 1 ;
Year ( 今日の日付 ) - Year ( 生年月日 ))

年齢を求める式の簡単な例 (FileMaker 7 以降)


「うるう年でも大丈夫」ということで、早速自作の Solution の計算式を見直して書き直した次第です。


これをきっかけに、今度は自分で「月齢」も求めてみようと思ったのですが、試行錯誤した結果、これがなかなか上手くいかない(苦笑)。
しかし、1日考えてみた挙句、ググッてみたらあっさりと例が出てきたという次第で、ああ、必死に考えたのに無駄でございました(T_T)


検索キーワードとしては、「 FileMaker 月齢 」などで計算式が見つかるかと思います。

Let ( [
$基準日 = If ( IsEmpty ( 終了日 ) ; G:基準日 +1 ; 終了日 +1 ) ;
$開始日 = 開始日
];
( Year ( $基準日 ) * 12 + Month ( $基準日 ) ) - ( Year ( $開始日 ) * 12 + Month ( $開始日 ) )
-
If ( Day ( $基準日 ) < Day ( $開始日 ) ; 1)
)//Let

経過した「年」「月」「日」を求める計算式 - ぺーぺーぷーぷーな日々

考え方としては、


「西暦1年からの総月数を引き算してやれば経過月数が出てくる」


というわけで、知ってしまうと、そうだよなー、と思うしかありません。
なんだかなー。


ついでに、「基準日」から「○年○月○日経過」と表示できるように自分なりに応用したりしてみました。

基本となる知識としての計算式


自分で FileMaker を触りはじめた当初、いきなりつまづいたのが年齢、在職期間などを求める計算式でした。
その当時、私のWebでの検索の仕方が悪かったのか、なかなか「これでOK]と思える計算式にたどり着けませんでした。
単純に「日数」をかぞえるだけなら引き算するだけでよいわけですが。


年齢、月数というのは様々な場面で基本となる数字です。


職員や患者さんの年齢は元より、


社会保険や年金の加入月数、それに
退職金などの計算、はたまた
「その当時の」年齢


を算出する場面に出くわしたりします。


つまり、これらを即座に算出する計算式というのは根本的な知識として把握しておく必要があるということになります。


経理にしろ総務にしろ医事課にしろ、実はこういった計算式を使いこなせないことには実務が成り立たない、といえなくもない。
立派な給与体系や退職金規定があっても計算に四苦八苦していたのでは、お話にならなかったりするわけです。


ついでにいうと、「年代別の数字」とか「学年別の数字」とか、それってただの思いつきだろ、と突っ込みたくなるようなカテゴリー別の数字を要求される場面もたびたび発生するわけで、そういう思いつきのような要求を想定内としてサラリと受け流すためにも、ここらへんの計算式は思いのほか重要なのであります。


ああ、私もサラリと使いこなしたい。


下記の画像は数年前の行政への提出文書のサンプル。こういうのが時々ある。