既にご回答頂いている方もおり、大変申し訳ないのですが、仕様が明確でなくこのままでは回答して下さる方にも迷惑がかかってしまうと思い、一度質問を整理し書き直すことに致しました。
具体的な内容は以下の通りです。
・1~8番のチェック項目に対し、以下の表を元に、プログラム側で引っかかったチェック項目の数、組み合わせと照らし合わせ、最終的な点数を算出する。
表1
|番号|チェック項目|点数(単体)|重み
|:--|:--:|--:|
|1|チェック項目1|75|2
|2|チェック項目2|45|6
|3|チェック項目3|70|2
|4|チェック項目4|40|8
|5|チェック項目5|45|6
|6|チェック項目6|48|5
|7|チェック項目7|60|4
|8|チェック項目 8|90|2
表2
条件 | 点数(複合) | 重み |
---|---|---|
2 + 7 | 12 | 10 |
5 + 6 | 40 | 8 |
1 + 3 | 67 | 3 |
7 + 3 | 55 | 5 |
表3
重みの基準 | 算出ポイント | |
---|---|---|
1~30 | 10 | |
31~40 | 8 | |
41~45 | 6 | |
46~55 | 5 | |
56~60 | 4 | |
61~69 | 3 | |
70~ | 2 |
点数の算出基準なのですが、ベースとしては「最も低い点数」をベースの点数として設定したいと考えております。
単純に、「番号5」のチェック項目に該当した場合は、単体の点数「45点」ですが、「番号7」「番号1」の2つのチェック項目に引っかかったら、最も低い点数が設定されている「番号7」をベースの点数として考えるといった形です。
ベースの点数とは何かと申しますと、その点数を基準に、他のチェックに該当した番号の「重み」の値を引く為の点数です。
こちらにつきましては、後述させて頂く部分で例も交えより詳しく説明させて頂きます。
そして、表2に関してなのですが、こちらは特定の番号の組み合わせで、チェックに引っかかっていた場合に、単体のベースとなる点数より値が小さくなるよう、設定をした表になります。
例えば、「番号2」と「番号7」の2つが該当した場合、表1では2つの内最も低い点数が設定されている「番号2」の「45点」 - 「番号7に設定した重み」が点数となりますが、表2に組み合わせとして設定されていた場合、表2の点数が採用され、「12」となるといった形です。
ここで「重み」に関してなのですが、これはベースとなる点数が確定した後、他にチェック項目に該当した番号についている重みとなる値をベースの点数から「引く」為です。
以下は、様々なケースによって考えられる算出例になります。
- ケース1
番号「7、2、5、6、1」が該当した場合、表2では「 7 + 2」「5 + 6」の組み合わせがありますが、この組み合わせの中で最も点数が低く設定されているのは、「 7 + 2」の組み合わせである「12点」です。表1の方でも、「番号1」を確認すると点数は「75」となっている為、ベースとなる点数は「12点」に確定します。
そこから、「 5 + 6」の重みである「8」そして、「番号1」の重みである、「2」を引き、最終的な点数は「12 - 10 = 2」となります。
ここで、重みは表3に設定した点数によって決めたいと考えている為、番号「5」と番号「6」の重みを別々と考え、それぞれの重みである「6」と「5」を足した値を引かずに、「5 + 6」の組み合わせとして設定されている「40点」の重みである「8」を重みと数えることとしています。
- ケース2
番号「1,5,8」が該当する場合、表2ではどの組み合わせも設定されていない為、表1の中で一番低い点数として設定されている、番号「5」の「45点」をベースとし、そこから番号「1」の重みの「2」、番号「8」の重みの「2」を引き「45 - 4 = 41」となり、最終的な点数は「41」となります。
- ケース3
番号「5,6,4」の場合、表2で「 5 + 6」の組み合わせである「40」点と表1の4番の「40」点が被りますが、どちらをベースの点数に設定しても、重みが同じな為、最終的には「40 - 8 = 32」となる為、どちらをベースに設定しても良いと考えております。
仕様につきましては、以上となります。
不明確な部分などありましたら、適宜ご指摘頂けましたら幸いです。
ご助言の程、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー