みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FileMaker Pro12 Mac
体力測定を行い結果を判定できるものを作りたいと考えています。
具体的に表すと
男性
年齢/判定結果 A B C D E
60−64歳 10 9 8 7 6
65−69歳 9 8 7 6 5
70−74歳 6 5 4 3 2
75歳以上 5 4 3 2 1
女性
年齢/判定結果 A B C D E
60−64歳 5 4 3 2 1
65−69歳 3 2 1 0 -1
70−74歳 2 1 0 -1 - 2
75歳以上 1 0 -1 - 2 -3
Case(60-64歳="10≦";A;60-64歳="9.1≦9.9";B;・・・・・・のような形で考えましたが、
年齢ごととなるとうまくいきません。
理想は
年齢を入力すると対応の評価判定を行えるというものです。
お力をお貸しください。
Hiroさまより下記回答で解決しましたが、男性のみの場合で質問しました。
女性も含めるとわけがわかりません。
お願いします。
測定値が「E]ランク以下の場合の評価説明が無いので、
「無=空欄」を返す、とした時の式
Case(
年齢<60; "判定外年齢";
年齢<65; Case(測定値>=10; "A"; 測定値>=9; "B"; 測定値>=8; "C"; 測定値>=7; "D"; 測定値>=6; "E");
年齢<70; Case(測定値>=9; "A"; 測定値>=8; "B"; 測定値>=7; "C"; 測定値>=6; "D"; 測定値>=5; "E");
年齢<75; Case(測定値>=6; "A"; 測定値>=5; "B"; 測定値>=4; "C"; 測定値>=3; "D"; 測定値>=2; "E");
Case(測定値>=5; "A"; 測定値>=4; "B"; 測定値>=3; "C"; 測定値>=2; "D"; 測定値>=1; "E"))
Offline
Let([
#sex=(性別="女性");
#val=
Case(
年齢<65; Choose(#sex;10;5);
年齢<70; Choose(#sex;9;3);
年齢<75; Choose(#sex;6;2);
Choose(#sex;5;1)
)
];
Case(
年齢<60; "判定外年齢";
測定値>=#val; "A";
測定値>=#val-1; "B";
測定値>=#val-2; "C";
測定値>=#val-3; "D";
測定値>=#val-4; "E"
)
)
Last edited by Hiro (2017-10-24 23:00:52)
Offline
Hiroさま
何度もすみません。
基準となる数字をわかりやすいように質問しましたが、正確には下記の表で分類したいと思っています。
そうなるとご提示いただいた式で当てはまるのでしょうか?
男性 A B C D E
60−64歳 4.0以下 4.1〜4.5 4.6〜5.6 5.7〜6.1 6.2以上
65−69歳 4.2以下 4.3〜4.7 4.8〜5.8 5.9〜6.3 6.4以上
70−74歳 4.4以上 4.5〜5.1 5.2〜6.5 6.6〜7.1 7.2以上
75−79歳 5.0以上 5.1〜5.6 5.7〜6.9 7.0〜7.5 7.6以上
80-84歳 5.4以上 5.5〜6.5 6.6〜8.8 8.9〜9.9 10.0以上
85歳以上 7.0以上 7.1〜8.7 8.8〜12.2 12.3〜13.9 14.0以上
女性 A B C D E
60−64歳 4.6以下 4.7〜5.0 5.1〜5.9 6.0〜6.3 6.4以上
65−69歳 4.6以下 4.7〜5.1 5.2〜6.1 6.2〜6.3 6.6以上
70−74歳 4.7以下 4.8〜5.5 5.6〜7.2 7.3〜8.0 8.1以上
75−79歳 5.3以下 5.4〜6.6 6.7〜9.3 9.4〜10.6 10.7以上
80-84歳 6.3以下 6.4〜8.3 8.4〜12.4 12.5〜14.4 14.5以上
85歳以上 8.1以下 8.2〜10.3 10.4〜14.7 14.8〜16.8 16.9以上
Last edited by yadashitanaka (2017-10-25 13:41:05)
Offline
条件の後出しはご法度ですよ!
Let([
#sex=(性別="女性");
#val=
Case(
年齢<65; Choose(#sex;List(4.0;4.5;5.6;6.1);List(4.6;5.0;5.9;6.3));
年齢<70; Choose(#sex;List(4.2;4.7;5.8;6.3);List(4.6;5.1;6.1;6.5;));
年齢<75; Choose(#sex;List(4.4;5.1;6.5;7.1);List(4.7;5.5;7.2;8.0));
年齢<80; Choose(#sex;List(5.0;5.6;6.9;7.5);List(5.3;6.6;9.3;10.6));
年齢<85; Choose(#sex;List(5.4;6.5;8.8;9.9);List(6.3;8.3;12.4;14.4));
Choose(#sex;List(7.0;8.7;12.2;13.9);List(8.1;10.3;14.7;16.8))
)
];
Case(
年齢<60; "判定外年齢";
測定値<=GetValue(#val;1)*1; "A";
測定値<=GetValue(#val;2)*1; "B";
測定値<=GetValue(#val;3)*1; "C";
測定値<=GetValue(#val;4)*1; "D";
"E"
)
)
Offline
Hiroさま
大変申し訳ございません。
説明が難しく簡便にするために数字を変えてしまったのが逆に仇とありました。
以後気をつけます。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.006 seconds, 10 queries executed - Memory usage: 565.38 KiB (Peak: 570.27 KiB) ]