No.3ベストアンサー
- 回答日時:
>特定の曜日を除いた日数を求めたい
特定の曜日は複数(土・日など)の場合もあるかも知れませんが、ここでは例えば日曜だけというように単数の場合に限定してお答えします。
複数の場合があるときは、下記にならい、フィールドを複数設けて計算してください。
次のとおり入力フィールド及び計算フィールドを作ります。
1、開始日(タイプ「日付」)……入力フィールドです。
2、終了日(タイプ「日付」)……入力フィールドです。
3、期間日数(タイプ「計算」計算結果「数字」)
計算式………終了日-開始日+1
4、開始日の曜(タイプ「計算」計算結果「数字」)
計算式………DayofWeek(開始日)
5、曜日(タイプ「テキスト」)……除きたい「特定の曜日」を入力するフィールドです。
なお、入力に当たっては値一覧で定義し、ポップアップメニューで入力する方が便利でしょう。
7、曜日順(タイプ「計算」計算結果「数字」)」
計算式……Case(曜日 ="日曜日",1,曜日="月曜日",2,曜日="火曜日",3,曜日="水曜日",4,曜日="木曜日",5,曜日="金曜日",6,曜日="土曜日",7)
7、期間中の曜日数(タイプ「計算」計算結果「数字」)
計算式………If((0>曜日順 - 開始日の曜)or(曜日順-開始日の曜>=Mod(期間日数,7)),Int(期間日数/7),Int(期間日数/7)+1)
8、特定の曜日を除いた日数(タイプ「計算」計算結果「数字」)
計算式………期間日数 - 期間中の曜日数
以上で答えが出ると思います。(自信ありとしたのは、テストの結果一応正解が出たという意味です。)
なお、「一応」という意味は、ご存知かも知れませんが、ファイルメーカーの場合はエクセルと違って「DATEDIF」のような関数がないため、期間計算や年齢計算の場合、極めて複雑な計算をしないと閏年の関係で2年おきに1日の誤差が生じることがあります。したがって前記の場合も計算期間が長期間(例えば1年以上)になると誤差が生じる可能性がないとはいえません。しかしそこまで考慮して計算式に引用すると式が極めて複雑になるため、今回は省いておりすのであらかじめご了承ください。
(お暇があれば下記URLをご参照ください。)
http://okwave.jp/kotaeru.php3?q=1739838
No.2
- 回答日時:
ANo1です。
訂正あり。
基本営業日
= (週 * 5)
+ Case (
曜日1 = "日曜日" ; 0;
曜日1 = "月曜日" ; 5;
曜日1 = "火曜日" ; 4;
曜日1 = "水曜日" ; 3;
曜日1 = "木曜日" ; 2;
曜日1 = "金曜日" ; 1;
曜日1 = "土曜日" ; 0)
+ Case (
次の日曜日1 > 前の日曜日2 ; 0; <<=====この行削除
曜日2 = "日曜日" ; 0;
曜日2 = "月曜日" ; 1;
曜日2 = "火曜日" ; 2;
曜日2 = "水曜日" ; 3;
曜日2 = "木曜日" ; 4;
曜日2 = "金曜日" ; 5;
曜日2 = "土曜日" ; 5);
No.1
- 回答日時:
似たようなフィールドを作成してますが
参考になれば営業日数を計算するものです
営業日数 =
Let(
[曜日1 = DayNameJ ( 日付1 ) ;
曜日2 = DayNameJ ( 日付2 ) ;
次の日曜日1 = Case(
曜日1 = "日曜日" ; 日付1;
曜日1 = "月曜日" ; 日付1 + 6;
曜日1 = "火曜日" ; 日付1 + 5;
曜日1 = "水曜日" ; 日付1 + 4;
曜日1 = "木曜日" ; 日付1 + 3;
曜日1 = "金曜日" ; 日付1 + 2;
曜日1 = "土曜日" ; 日付1 + 1);
前の日曜日2 = Case(
曜日2 = "日曜日" ; 日付2 ;
曜日2 = "月曜日" ; 日付2 - 1;
曜日2 = "火曜日" ; 日付2 - 2;
曜日2 = "水曜日" ; 日付2 - 3;
曜日2 = "木曜日" ; 日付2 - 4;
曜日2 = "金曜日" ; 日付2 - 5;
曜日2 = "土曜日" ; 日付2 - 6);
週 = (前の日曜日2 - 次の日曜日1) / 7;
基本営業日
= (週 * 5)
+ Case (
曜日1 = "日曜日" ; 0;
曜日1 = "月曜日" ; 5;
曜日1 = "火曜日" ; 4;
曜日1 = "水曜日" ; 3;
曜日1 = "木曜日" ; 2;
曜日1 = "金曜日" ; 1;
曜日1 = "土曜日" ; 0)
+ Case (
次の日曜日1 > 前の日曜日2 ; 0;
曜日2 = "日曜日" ; 0;
曜日2 = "月曜日" ; 1;
曜日2 = "火曜日" ; 2;
曜日2 = "水曜日" ; 3;
曜日2 = "木曜日" ; 4;
曜日2 = "金曜日" ; 5;
曜日2 = "土曜日" ; 5);
祝日日数 =
If ( 日付1 <= Date(1;3;2005) and 日付2 >= Date(1;3;2005) ; 1 ; 0) +
If ( 日付1 <= Date(1;10;2005) and 日付2 >= Date(1;10;2005) ; 1 ; 0) +
If ( 日付1 <= Date(2;11;2005) and 日付2 >= Date(2;11;2005) ; 1 ; 0) +
If ( 日付1 <= Date(3;21;2005) and 日付2 >= Date(3;21;2005) ; 1 ; 0) +
If ( 日付1 <= Date(4;29;2005) and 日付2 >= Date(4;29;2005) ; 1 ; 0) +
If ( 日付1 <= Date(5;3;2005) and 日付2 >= Date(5;3;2005) ; 1 ; 0) +
If ( 日付1 <= Date(5;4;2005) and 日付2 >= Date(5;4;2005) ; 1 ; 0) +
If ( 日付1 <= Date(5;5;2005) and 日付2 >= Date(5;5;2005) ; 1 ; 0) +
If ( 日付1 <= Date(7;18;2005) and 日付2 >= Date(7;18;2005) ; 1 ; 0) +
If ( 日付1 <= Date(10;10;2005) and 日付2 >= Date(10;10;2005) ; 1 ; 0) +
If ( 日付1 <= Date(11;3;2005) and 日付2 >= Date(11;3;2005) ; 1 ; 0) +
If ( 日付1 <= Date(11;23;2005) and 日付2 >= Date(11;23;2005) ; 1 ; 0) +
If ( 日付1 <= Date(12;23;2005) and 日付2 >= Date(12;23;2005) ; 1 ; 0) +
If ( 日付1 <= Date(12;30;2005) and 日付2 >= Date(12;30;2005) ; 1 ; 0)
];
基本営業日 - 祝日日数
)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
- Excel(エクセル) エクセル「社員の重なっている仕事時間の算出方法について」教えてください。 6 2023/02/06 00:10
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Excel(エクセル) 再質問 エクセル「社員の重なっている仕事時間の算出方法について」教えてください。 10 2023/02/07 19:16
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- その他(法律) 勾留期間の起算日について 2 2023/05/04 17:23
- 所得税 給与の所得税について 今年の1月に1日だけ勤務した日給20000円の仕事ですが所得税が6570円も引 1 2023/02/09 14:45
- Excel(エクセル) 該当日が期間内に当てはまる場合、開始日と終了日をExcel関数を用いて入力させたい 4 2022/11/21 09:47
- Windows 10 MicrosoftIMEでトラブル、助けてください m(_._)m 4 2023/05/16 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付を差し込み印刷で表示した...
-
【Tableau Desktop】文字列から...
-
ファイルメーカーで検索結果を...
-
ACCESSの自動連番について
-
日付型のテキストボックスに数...
-
挿入した日付の自動更新を中止...
-
差し込み印刷で日付の曜日を表...
-
【Word】 今日の「年」「月」...
-
オープンオフィス のWriterで日...
-
Accessで日付から曜日を自動で...
-
クエリで日付型のIIF関数の使用
-
Wordの日付変換ってできますか?
-
VBAでエクセルシートを更新...
-
「24日の0時」って・・・
-
エクセルのチェックボックスを...
-
パソコンで購入したデーターが...
-
エクセルで最高値、最低値の日...
-
日付の大小の表現
-
回覧板の日付について質問です...
-
差し込み印刷に当日の日付が入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付を差し込み印刷で表示した...
-
日付を昇順で並び替えし、空白...
-
差し込み印刷で日付の曜日を表...
-
【Word】 今日の「年」「月」...
-
日付型のテキストボックスに数...
-
Wordの日付変換ってできますか?
-
日付がインポートされない
-
クエリで日付型のIIF関数の使用
-
Wordで、ヘッダーに印刷日付を...
-
【Tableau Desktop】文字列から...
-
ACCESSの自動連番について
-
Word2010 フィールド内での和...
-
accessで残業時間計算
-
wordの日付入力の仕方について...
-
Accessで秒を時間で表示させる...
-
Accessで日付から曜日を自動で...
-
挿入した日付の自動更新を中止...
-
Firebirdで年齢算出
-
ファイルメーカーの日付の検索
-
datetime型でのソート
おすすめ情報