7 返信 最新の回答 日時: Dec 31, 2009 2:16 AM ユーザー:chiemra

    3週間後の金曜日

    chiemra

      タイトル

      3週間後の金曜日

      フォーラムに投稿

      例えば、作業日フィールドに2009.12.16と入力したら、検査フィールドが「あり」の場合は、検査日フィールドには3週間後の月曜日を自動的に表示させ、

      検査フィールドが「なし」の場合は検査日フィールドには3週間後の水曜日を自動的に表示させたい場合どうしたらいいでしょうか。

      かなり初心者です。よろしくお願いします。

        • 1. Re: 3週間後の金曜日
          Hiro
            

          環境説明がありませんが、Letが使えるものとして、

          その式は、(計算結果は日付タイプを指定)

          Let([
          $SY=DayOfWeek(作業日);
          $KY=Choose($SY;"";1;0;6;5;4;3;2);
          $KY=作業日+(7*3)+$KY;
          $KN=Choose($SY;"";3;2;1;0;6;5;4);
          $KN=作業日+(7*3)+$KN
          ];
          Case(検査="あり";$KY; 検査="なし";$KN)
          )



          • 2. Re: 3週間後の金曜日
            YODA
              

            chiemra さん、こんにちは。

             

            DayOfWeek 関数を使用するとある日付の曜日を数値で取得することができますので、

            結果を日付で返す計算フィールドを作成し、以下のような式を設定すると、

            目的の日付が求められるのではないでしょうか。

             

            Case ( 検査 = "あり" ; 作業日 + 21 - DayOfWeek ( 作業日 ) + 2 ; 作業日 + 21 - DayOfWeek ( 作業日 ) + 4 ) 

             

            ※作業日が2009/12/16で、検査がありのとき2010/01/04、なしのとき2010/01/06 になります。 

            • 3. Re: 3週間後の金曜日
              Hiro
                

              あれ?

              ご質問を、作業後3週間の猶予期間以後、直近の月曜日/水曜日を取得、と理解しましたが、

              考え過ぎかな? 

              • 4. Re: 3週間後の金曜日
                YODA
                  

                Hiro さん、こんにちは。

                 

                投稿タイミングの関係で私のレスが後からになっていますが、

                業務関係の処理でしたら Hiro さんの想定の方が正しいような気がしますね。

                 

                件名は金曜日になってますし、書き込みの2009/12/16がちょうど水曜日なので、

                判断つけづらかったですが。

                • 5. Re: 3週間後の金曜日
                  chiemra
                    

                  ありがとうございます。

                  すみません、タイトルの曜日が間違っています。月曜日水曜日です。

                   

                  pro8.5をMac OS 10.3で使用しています。

                   

                  両方やってみます。

                  すみません、初心者なもので時間がかかってます。

                   

                  Letの方の関数をそのまま入力してみたのですが、関数がありませんという様な表示が出てしまいました。

                  選ぶところにLetがあっても使えないということでしょうか。 

                  • 6. Re: 3週間後の金曜日
                    Hiro
                      

                    > Letの方の関数をそのまま入力してみたのですが、関数がありませんという様な表示が出てしまいました。

                    > 選ぶところにLetがあっても使えないということでしょうか。

                    コピーッぺしたものはFMの予約文字と微妙に違っていることがよくあります。

                    アラートの出た箇所をFMの設定画面に用意されたリスト欄から選んで入れ直してみて下さい。

                    • 7. Re: 3週間後の金曜日
                      chiemra
                        

                      たいへん遅くなってしまいましたが、解決しました。ありがとうございました。