初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2018-01-06 14:59:30

lplp000
Member

年齢計算

いつもお世話になります。FileMaker pro 16 Advancedを使用しています。
生年月日を、年、月、日と3つのフィールドで保存しています。そこから計算をして年齢を計算で入力できるようにしたいと考えています。
よろしくお願いします。

Offline

#2 2018-01-06 15:33:56

Moz
Member

Re: 年齢計算

生年月日を1つの日付フィールドにしていないのには理由があるのですか?
年の入力が西暦なのか和暦なのか入力者によってバラバラなのでしょうか?

要は生年月日が正しい日付形式で取得できれば考え方は簡単です。

今年の年と生年月日の年の差から今年の誕生日を迎えていなければ1を引きます。

Let ( [
    ~生年月日 = 日付フィールド ;
    ~今年の誕生日 = Date ( Month ( ~生年月日 ) ; Day ( ~生年月日 ) ; Year ( Get ( 日付 ) ) )
] ;
    Year ( Get ( 日付 ) ) - Year ( ~生年月日 ) - ( ~今年の誕生日 > Get ( 日付 ) )
) // Let

Last edited by Moz (2018-01-06 15:35:54)

Offline

#3 2018-01-06 15:58:52

lplp000
Member

Re: 年齢計算

ありがとうございます。1つではない理由としてはそういう要望でしたので。
年の入力に関しては、バラバラではなく西暦です。

Offline

#4 2018-01-06 16:17:27

Moz
Member

Re: 年齢計算

生年月日の求め方としては
Date ( 月フィールド ; 日フィールド ; 年フィールド )
※それぞれ数字フィールドで年は4桁で入れていると仮定して。

Date 関数
https://fmhelp.filemaker.com/help/16/fm … Fdate.html

あとは先の投稿の式に当てはめるだけです。

Offline

#5 2018-01-07 00:11:22

Shin
Member

Re: 年齢計算

int ( 年 + 月 / 100 + 日 / 10000 - Year ( Get ( 日付 ) ) - Month ( Get ( 日付 ) ) / 100 - Day ( Get ( 日付 ) ) / 10000 )
が簡単で良いですよ。

Offline

#6 2018-01-07 02:55:56

lplp000
Member

Re: 年齢計算

Mozさん ありがとうございます。
     Date関数の詳細の所まで教えていただきありがとうございます!

Shinさん ありがとうございます。
     一度やってみましたが、なぜか -12のように、マイナス表記がされてしまいます。

Offline

#7 2018-01-07 07:17:06

Moz
Member

Re: 年齢計算

以下に変えてはどうでしょう。

Int ( ( Year ( Get ( 日付 ) ) + Month ( Get ( 日付 ) ) / 100 + Day ( Get ( 日付 ) ) / 10000 ) - ( 年 + 月 / 100 + 日 / 10000 ) )

生年月日と今日を YYYY.MMDD の形式にして 今日 - 生年月日 の差から小数点以下を捨てるという考え方でしょうかね。

補足)になってなかったらゴメンナサイ。
8月28日生まれ
0.0107 - 0.0828 は負になるので年の計算から1引かれます。
1月1日生まれ
0.0107 - 0.0101 は正のままなので年の計算そのまま。

Last edited by Moz (2018-01-07 07:26:14)

Offline

#8 2018-01-07 08:51:55

Shin
Member

Re: 年齢計算

引く順番を間違えました。申し訳ないです。

Offline

#9 2018-01-07 11:29:17

lplp000
Member

Re: 年齢計算

Mozさん 違う案にも関わらず教えていただきありがとうございます!

Shinさん いえいえ、こちらも考えさせる形で有り難かったです。

解決しました。ありがとうございました!

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 559.49 KiB (Peak: 582.51 KiB) ]