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

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

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

You are not logged in.

Announcement

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


#1 2017-10-24 20:40:32

yadashitanaka
Member

性別・年齢による振り分け 計算式

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

#2 2017-10-24 22:35:46

Hiro
Member

Re: 性別・年齢による振り分け 計算式


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

#3 2017-10-25 13:39:33

yadashitanaka
Member

Re: 性別・年齢による振り分け 計算式

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

#4 2017-10-25 15:28:14

Hiro
Member

Re: 性別・年齢による振り分け 計算式

条件の後出しはご法度ですよ!


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

#5 2017-10-26 14:22:28

yadashitanaka
Member

Re: 性別・年齢による振り分け 計算式

Hiroさま

大変申し訳ございません。
説明が難しく簡便にするために数字を変えてしまったのが逆に仇とありました。
以後気をつけます。

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

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, 10 queries executed - Memory usage: 565.38 KiB (Peak: 570.27 KiB) ]