プロが教えるわが家の防犯対策術!

=ROW()&"日9時~"&ROW()&"日17時"

これで1日から31日まではフィルハンドルでまとめて表示できますが、金曜日〜日曜日だけはまとめて表記したいです。
例えば
2/14(月),2/15(火)は
14日9時〜14日17時
15日9時〜15日17時

とんで2/18(金),19(土),20(日)は
18日9時〜20日17時
のように。

これって可能でしょうか?

質問者からの補足コメント

  • うれしい

    回答ありがとうございます。
    未知の関数が数多あり、調べながら学習させていただいております。

    不足がありましたので説明させて頂きます。
    (金)(土)(日)が月を跨ぐ際は、跨がない範囲で表示が必要です。
    2023/9/30(土)が良い例ですね。
    29日9時〜30日17時というふうになります。

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/02/15 08:04

A 回答 (1件)

こんばんは



曜日は日にちだけでは判断できないので、ご提示の情報だけでは無理ですね。

どこかに年、月の情報があるものとすれば、
 DATE(年, 月, 0)
で、前月の末日を計算できます。
ですので、ご提示のように
 WORKDAY(DATE(年, 月, 0), Row())
とすることで、月~金の日付を順に得ることができます。

DAY(WORKDAY(DATE(年, 月, 0), Row()))
で日にちに変換できますので、後は文字列操作でご提示と同様にすれば良いですね。

>金曜日〜日曜日だけはまとめて表記したいです。
 WEEKDAY(ORKDAY(DATE(年, 月, 0), Row()))=6
が真ならば、当該日は金曜日ということになるので、先にIF関数で分岐すれば宜しいでしょう。
対象日が月末に近い場合にどのような表示にするのか不明ですが、「30日9時〜2日17時」みたいな表示で良ければ、当該日のシリアル値に+2することで日曜日の日付を得ることができます。
この回答への補足あり
    • good
    • 0
この回答へのお礼

つらい・・・

回答ありがとうございました。
不愉快にさせてしまい申し訳ございません、

お礼日時:2023/02/24 12:16

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