
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ランキング
-
データベースファイル(.db)を開...
-
警察はスマホに保存した動画や...
-
ACCESSのSQLで、NULLかNULLでな...
-
最新の日付とその金額をクエリ...
-
Accessフォームで平均値の出し...
-
SQLPlusで 選手の誕生日を2017...
-
CSVファイルでテキストの改行の...
-
エクセルのフィルタ抽出が固まる
-
ファイルメーカーへネットワー...
-
Accessを開きなおすとテキスト...
-
同じテーブルをLEFT JOIN
-
テキストボックスにコントロー...
-
シャープレジスター エラーコード
-
エクセル 自動入力
-
manana というやつで、間違って...
-
Excel VBA 転記について
-
データ復旧にかかる時間
-
三好康之さんの参考書、データ...
-
半角ハイフンに似た文字
-
データベースの勉強 公務員を目...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
ACCESSのSQLで、NULLかNULLでな...
-
CSVファイルでテキストの改行の...
-
エクセルのフィルタ抽出が固まる
-
最新の日付とその金額をクエリ...
-
Accessを開きなおすとテキスト...
-
警察はスマホに保存した動画や...
-
顧客データベースを作る場合、...
-
半角ハイフンに似た文字
-
更新クエリをリンクデータベー...
-
テキストボックスにコントロー...
-
シートが異なるセル同士を、相...
-
Excelフィルタ抽出で「検索して...
-
googleフォームでインストール...
-
Access フォーム上でコンボボッ...
-
Accessフォームからパラメータ...
-
DocuWorksでの印刷
-
構文エラー:演算子がありませ...
-
20万行あるデータを動かしたい
-
Access クエリ上で表示させた割...
おすすめ情報