みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします
環境はwin10 fm13です
表題の内容ですが、ifとcase関数しか使い方を理解していない自分が悪いのですが自分で全然組み立てられなかったので教えていただけたらと思っています。
テーブル
フィールド 役職 等 号 評価 新等 新号
一般 3 10 +2 3 10
一般 2 8 +3 3 1
係長 5 6 -1 5 5
係長 4 1 -2 4 1
役職と等と号は現在のものが入っています。
評価を入力すると新等と新号が表示できるようにしたいのですが
条件がたくさんあって困っています。
1.等号は1から10まで
2.評価が上がって10号まで行ったら等が一つ上がる
3.一般だと3等10号までしか上がれない
4.係長はマイナス評価でも4等1号以下には下がらない
5。役職は他にも課長、部長、次長、専務
という条件で作りたいのですが
私にはすべて+1なら作れたのですができませんでした
恐れ入りますが教えていただけると助かります
よろしくお願いします
Offline
等号 という数字フィールドを作っておきます。(開始 1等1号 は 0)
等と号は計算フィールドにして、それぞれ
Div ( 等号 ; 10 ) + 1
Mod ( 等号 ; 10 ) + 1
にしておきます。
評価が上がれば、等号を +1 すればいいです。
さらに、役職に依っての制限は、例えば一般でしたら、Min ( 29 ; 等号 ) にしておくと、最大 3等10号 になります。係長は、さらに、Max ( 30 ; 等号 ) をしておくと、4等1号 以上になります。
下限・上限があるでしょうから、Min ( 上限 ; Max ( 下限 ; 等号 ) ) にします。、
https://www.dropbox.com/s/vb702fsp083nk … 7.zip?dl=0
Last edited by Shin (2018-10-23 09:35:55)
Offline
●「新等」計算フィールドの式:
Let(
[
#num=等フィールド*10+(号フィールド-1)+評価フィールド;
#num=
Case(
役職フィールド="一般"; Min(39; #num);
役職フィールド="係長"; Max(40; #num);
#num
)
];
Div(#num;10)
)
●「新号」計算フィールドの式:
Let(
[
#num=等フィールド*10+(号フィールド-1)+評価フィールド;
#num=
Case(
役職フィールド="一般"; Min(39; #num);
役職フィールド="係長"; Max(40; #num);
#num
)
];
Mod(#num;10)+1
)
Last edited by Hiro (2018-10-22 22:03:38)
Offline
Shin様
hiro様
返信いただきありがとうございます
おかげで目的のもの達成出来ました
ちゃんと勉強します。
ありがとうございます
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 552.16 KiB (Peak: 579.1 KiB) ]