みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Win7 FM11です。
全職員 - 出勤者 = 休み人 みたいなこと考えています。
職員名テーブルがあり20レコード登録されています。
(コードで 1 2 3 4 5 6 7 8...19 20)
出勤者テーブルには以下のフィールドがあります。
日付
この日の出勤者(繰り返し15)
この日の休み
今、以下のように入力します。
2014/4/20
1 3 4 5 6 7 8 10 11 13 20 ..( 11人、職員コードです)
このように入力したら,4/20に休みの9人を「この日の休み」フィールドに自動的に
2 9 12 14 15 16 17 18 19
と表示させるにはどのようにすればよいでしょうか。
「この日の休み」フィールドは繰り返しであればいいのですが、それにはこだわりません。
よろしくお願いします。
逆FilterValues関数を作り利用、「休み」繰り返し計算フィールドの計算式で、
全職員一覧リストから出勤者一覧リストを含まない休み一覧リストを算出、
その結果リストを各繰り返しコマに配分します。
Let([
$lst_a=ValueListItems(Get(ファイル名);"全職員一覧"); //職員名テーブルのコードで値一覧「全職員一覧」を作っておく
$lst_b=List(出勤者[1];出勤者[2];出勤者[3];出勤者[4];出勤者[5];出勤者[6];出勤者[7];出勤者[8];出勤者[9];出勤者[10];出勤者[11];出勤者[12];出勤者[13];出勤者[14];出勤者[15];出勤者[16];出勤者[17];出勤者[18];出勤者[19];出勤者[20]);
$i=0;
$res="";
$fnc="Case(
$i=ValueCount($lst_a); $res;
Let([
$i=$i+1;
$stg=GetValue($lst_a;$i);
$stg=Case(IsEmpty(FilterValues($stg;$lst_b)); $stg);
$res=List($res;$stg)
]; Evaluate($fnc))
)"
];
GetValue(Evaluate($fnc); Get(計算式繰り返し位置番号))
)Offline
分かりやすいかも知れないサンプル
http://yahoo.jp/box/Zsp-7n
休みの人.fp7
Offline
Hiroさま 旅人様 ありがとうございます。
どうなっているのか、じっくり分解、理解してみます。
職員ごとの出勤日数の集計等無いのかな?
有るのなら別テーブルですね。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 552.34 KiB (Peak: 579.23 KiB) ]