初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2022-10-07 12:41:11

スバル
Guest

任意の範囲内の〇曜日の回数

お世話になっております。Filemaker19で質問させてください。

任意の範囲内にある土曜日の日数を集計したいのですが割り出すことはできるでしょうか?
(例)2022/09/04 ~ 2022/09/24 の土曜日日数は 3回

方法ありましたらご教授下さい。よろしくお願いします。

#2 2022-10-07 13:42:52

チポ
Member

Re: 任意の範囲内の〇曜日の回数

1,範囲内最初の指定曜日の日付を求める(それが範囲外なら回数は0)
2,その日から最終日までの日数を求める
3,その日数を7で割って、小数点切り上げ
この考えでいいのでは。

Offline

#3 2022-10-07 13:54:31

スバル
Guest

Re: 任意の範囲内の〇曜日の回数

なるほど。その方法で出せますね!ただ、
1,範囲内最初の指定曜日の日付を求める(それが範囲外なら回数は0)
が解りませんでした。
2022/09/04 ~ 2022/09/24 を範囲とした場合
2022/09/04からの最初の土曜日は2022/09/10となりますが
起点から2022/09/10を出すにはどのようにしたら良いでしょうか?

#4 2022-10-07 14:06:33

チポ
Member

Re: 任意の範囲内の〇曜日の回数

DayOfWeek関数で、日付からその曜日を数値で得られます。

ヘルプのリンクです
https://help.claris.com/ja/pro-help/con … fweek.html

Offline

#5 2022-10-07 14:59:00

himadanee
Guest

Re: 任意の範囲内の〇曜日の回数

適当に古い土曜日を選んで、
Div ( 終了日 - 土曜日 ; 7 ) - Div ( 開始日 - 1 - 土曜日 ; 7 )
でもいいかな。
土曜日は例えばDate(1;6;1)とかです。

#6 2022-10-07 15:03:52

Shin
Member

Re: 任意の範囲内の〇曜日の回数

期間を、D0 から D1 として、指定曜日をDOW(日曜日:1 火曜日:2 ...)
Div ( D1 + Mod ( 7 + DayOfWeek ( D1 ) - DOW ; 7 ) - D0 - Mod ( 7 - DayOfWeek ( D0 ) + DOW ; 7 ) ; 7 ) + 1
でいいようですよ。

修正しました。

Last edited by Shin (2022-10-07 16:04:30)

Offline

#7 2022-10-07 15:05:31

スバル
Guest

Re: 任意の範囲内の〇曜日の回数

お教えいただいた内容を基に自分で考えたものが以下となりますがこれで大丈夫でしょうか?
<フィールド名>
日付開始
日付終了
土曜日開始日付(計算) 日付開始 + Day( 7 - DayOfWeek(日付開始))
土曜日の数(計算) Ceiling ( Day( 日付終了 - 土曜日開始日付 ) / 7 )

これで計算上問題ないでしょうか?

#8 2022-10-07 15:19:44

スバル
Guest

Re: 任意の範囲内の〇曜日の回数

皆さんありがとうございます。

Shinさんの式を自分の環境に当てはめDOWを土曜日の7にし
Div ( 日付終了 + Mod ( 7 + DayOfWeek ( 日付終了 ) - 日付開始 - 7 ; 7 ) - Mod ( 7 - DayOfWeek ( 日付開始 ) + 7 ; 7 ) ; 7 ) + 1
としましたが 105490 とかの値になり、土曜を挟むと1増えるような感じでした。
どこが間違っているでしょうか?

#9 2022-10-07 15:26:47

スバル
Guest

Re: 任意の範囲内の〇曜日の回数

himadaneeさんのもので出すことが出来ました!
Shinさんの式は今後他のもので助けになりそうなので、私の式の間違いを是非教えていただきたいです。

#10 2022-10-07 15:31:50

チポ
Member

Re: 任意の範囲内の〇曜日の回数

> 土曜日の数(計算) Ceiling ( Day( 日付終了 - 土曜日開始日付 ) / 7 )
Ceiling ( Day( 日付終了 - 土曜日開始日付 + 1 ) / 7 )
でしょう。

Offline

#11 2022-10-07 16:05:51

Shin
Member

Re: 任意の範囲内の〇曜日の回数

式を転帰間違いでした。
Div ( 日付終了 + Mod ( 7 + DayOfWeek ( 日付終了 ) - 7 ; 7 ) - 日付開始 - Mod ( 7 - DayOfWeek ( 日付開始 ) + 7 ; 7 ) ; 7 ) + 1

Offline

#12 2022-10-11 11:50:45

スバル
Guest

Re: 任意の範囲内の〇曜日の回数

全ての方法で成功しました。
皆様様々な方法でお教えいただきありがとうございました!

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 562.89 KiB (Peak: 581.5 KiB) ]