プロが教える店舗&オフィスのセキュリティ対策術

月末火曜日の日付をスタートとして稼働日数を求めたいと思っています。

10月なら9/25~10/30まで
11月なら10/30~11/27まで
12月なら11/27~12/25までの日数を計算したいです。

月末水曜日になると当月の日数に自動で計算が切り替わるよう計算することは可能でしょうか。

わかる方がいれば教えていただきたいです。
※土日は日数に含んでOKです。

A 回答 (3件)

No1です



>先程試したところ8と表示されるのですが11/28~今日までが8日という計算でしょうか?
はい。下に示しますように『今日』を対象に計算する式として作成してしまいましたので、12/5(=本日)は11/27(=最終火曜日)から数えて8日目という意味になります。
(シートが自動計算の設定になっていれば、明日になると9と表示されるはずです)

私の勝手な勘違いだったかもしれませんが、「今日が月末火曜日から何日目かを計算する」関数式として考えていましたが、対象が「今日」とは限らなかったのでしょうか?
その場合は、式中の「TODAY()」の部分を対象の日(=シリアル値)に置き換えればそのまま同じ計算が可能なはずです。
例えば、対象の日がA1セルに入力されているとするなら、TODAY()を全てA1に置き換えればよいといった感じです。

>ただ、水曜日になったら前日の火曜日分も含めて計算してほしいです。
翌日の水曜日を2日目と計算したいという意味でしょうか?
(No1の説明を読んでいただければわかりますが)現在の式は、水曜日は1(日目)と表示される式になっています。
修正したい場合は、No1の式より常に1日多い値になれば良いだけなので、式の最後に「+1」を加えれば、お求めの結果になると思います。

>とても複雑な回答で解読できなかったので教えていただけると幸いです
式は少々長いですが、全体としての構成は、単純にIFで場合分けした式になっています。
ご参考までに、大雑把な構成を言葉で示すならば・・・
『対象日(今日)がその月の最終火曜日より前なら、前月の最終火曜日からの日数を数え、後ならその月の最終火曜日からの日数を数える』
という式になっています。
    • good
    • 0

こんにちは!



一気に!となると相当長い数式になってしまいますので、
段階を追ってみてはどうでしょうか?

↓の画像でD1セルは
=TODAY()

としています。
そしてD4セル(セルの表示形式は判りやすいように yyyy/m/d(aaa) としています)に
=IF(D1<EOMONTH(D1,0)-WEEKDAY(EOMONTH(D1,0)-2,3),EOMONTH(D1,-1)-WEEKDAY(EOMONTH(D1,-1)-1,3),EOMONTH(D1,0)-WEEKDAY(EOMONTH(D1,0)-1,3))

という数式を入れています。
これでD1セルが月の最終水曜日になった時点で前月の最終火曜日のシリアル値になります。

E4セルには
=EOMONTH(D4,1)-WEEKDAY(EOMONTH(D4,1)-1,3)

という数式を入れています。
これでE4セルにはD4セルの次の月の最終火曜日のシリアル値が表示されます。

A4セル(セルの表示形式はユーザー定義から m月度 としている)に
=E4

B4セルに単純に引き算の
=E4-D4+1

という数式を入れています。

※ D1セルのシリアル値を色々入れ替えて検証してみてください。

※ 万一、月末が最終火曜の場合はお望みどおりにならないかもしれません。m(_ _)m
「月末の自動計算」の回答画像2
    • good
    • 0

こんにちは



月末火曜日には28(または35)と表示されていて、翌水曜日から1、2、3・・・と計算されるような関数ということですよね?

もっと要領の良い回答がありそうな気がしますが、とりあえず
=IF(TODAY()<=EOMONTH(TODAY(),0)-MOD(WEEKDAY(EOMONTH(TODAY(),0),1)-3,7),TODAY()-(EOMONTH(TODAY(),-1)-MOD(WEEKDAY(EOMONTH(TODAY(),-1),1)-3,7)),TODAY()-(EOMONTH(TODAY(),0)-MOD(WEEKDAY(EOMONTH(TODAY(),0),1)-3,7)))
    • good
    • 0
この回答へのお礼

ありがとうございます!

翌水曜日から計算される関数という認識であっております。
ただ、水曜日になったら前日の火曜日分も含めて計算してほしいです。

回答としては
10月なら9/25~10/30 → A.35
11月なら10/30~11/27まで→ A.28
12月なら11/27~12/25→ A.28
という答えを求めています。
先程試したところ8と表示されるのですが11/28~今日までが8日という計算でしょうか?

とても複雑な回答で解読できなかったので教えていただけると幸いです。
恐れ入りますがよろしくお願い致します。

お礼日時:2018/12/05 14:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!