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

=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/24 12:14
  • うれしい

    ありがとうございます。
    解釈は仰る通りの①で相違ありません。

    No.3の回答に寄せられた補足コメントです。 補足日時:2023/02/27 14:51
  • へこむわー

    すみません、月末の処理なのですが間違いがありました。
    土日跨いでも表示します。
    31(金)〜2(月)のように。

      補足日時:2023/02/27 19:54
  • 31(金)〜2(日)のようにの過ちです。

      補足日時:2023/02/27 19:55
  • HAPPY

    私の質問要領が良くなく
    度重なる回答をさせてしまいました。
    回答数とベストアンサーの数がアンバランスであるのは私としても遺憾でありますので
    一度回答を締切り、また別で質問したいと思います。
    多数ご回答頂きました。
    ありがとうございました。

      補足日時:2023/03/01 05:05

A 回答 (5件)

No.3,4です。



>左11行右13行という縛りがあります。

とのことですが、左右の行数が一致いていない理由とsheetの何行目からスタートするのかを教えてください。
fujillinさんの回答も私の前回の回答も「sheetの何行目か」を日付の計算に用いる数式です。従って行がずれると計算結果が異なるものになってしまいます。

例えば「左は2行分の見出しがあり、2行少なくなるので表示はsheetの3行目からスタートして11行、右は見出しがなくsheetの1行目からスタートして13行」といった具体的な表示位置(※)を教えていただかないと計算式が作成できません。
※できれば、完成イメージを画像として補足に掲出されることを希望します。

なお、制約条件があるなら小出しにせず、最初から明らかにしておくべきです。条件を小出しにされるたびに、(回答義務があるわけではないとはいえ)異なる回答を作成することになる訳で、これは決して嬉しいことではありません。
    • good
    • 1
この回答へのお礼

Yes

左様でしたか。申し訳ございません。準備出来次第補足にてイメージをお送りします。

お礼日時:2023/03/01 04:57

No.3です。



>土日跨いでも表示します。
>31(金)〜2(月)のように。

とのことですが、上記は31(金)~2(日)の誤りだと解釈しました。
これだと、当然月初についても金土日は既に前月末に表示済みということになり、考慮する必要がなくなります。
そこで、前回回答と同じく1行目に「2023年3月」ように入力すると、数式バーに「2023/3/1」と表示され、シリアル値が入力されるので、これを年月指定セルとします。添付画像をご覧ください。一行目に上記の説明どおり「年月」を入れています。A2に、

=IFERROR(DAY(WORKDAY(A$1-1,ROW(A1)))/(WORKDAY(A$1-1,ROW(A1))<=EOMONTH(A$1,0))&"日9時~"&DAY(WORKDAY(A$1-1,ROW(A2))-1)&"日17時","")・・・・・・①

という数式を記述し、下方向へコピーします。1か月は最大でも31日しかなく土日は最低でも8日あるので24行目までコピーすれば足りるのですが、それ以上にコピーしても、①の数式なら「空白」が表示されるだけで問題は発生しません。これで、月末のみ(土)(日)を跨いでも翌月初の(日)までは表示するという状態になります。

添付画像は1行目の右方向に年月指定セルで年月を指定しているので、①の数式を右方向にコピーし、さらに下方向へコピーした状態です。
「エクセル」の回答画像4
    • good
    • 1
この回答へのお礼

あなたに会えてよかった

ありがとうございます。当該月を2行に分けて使うにはどうすればよろしいでしょうか。左11行右13行という縛りがあります。

お礼日時:2023/02/28 12:49

>なお(金)(土)(日)が月を跨ぐ際は、跨がない範囲で表示が必要です。


ご質問者は月末の例を挙げて示されていますが、当然これは月初にも当てはまるものと解釈しました。
つまり、No.1さんの回答では、ご質問者の例示に従って月末のみ考慮された数式になっていますが、同時に月初についても(金)(土)(日)が月をまたぐ場合は、それを考慮した数式にする必要があるのだと思います。
また、「跨がない範囲で表示が必要」ということは、月越えしたら非表示にするための処理も必要だと思います。
一行目に「2023年7月」のように入力すると、数式バーに「2023/7/1」と表示され、シリアル値が入力されるので、これを年月指定セルとします。添付画像をご覧ください。一行目に上記の説明どおり「年月」を入れています。
上記の月初の処理を考慮して、A2セルに

=IFERROR(DAY(MAX((WORKDAY(A$1-1,ROW(A1)-(DAY(WORKDAY(A$1-1,1))>1)))/(WORKDAY(A$1-1,ROW(A1)-(DAY(WORKDAY(A$1-1,1))>1))<=EOMONTH(A$1,0)),A$1))&"日9時~"&DAY(MIN(MAX(WORKDAY(A$1-1,ROW(A2))-1-(DAY(WORKDAY(A$1-1,1))>1),(WORKDAY(A$1-1,ROW(A2))-1-(DAY(WORKDAY(A$1-1,1))>1))*(ROW(A1)<>1)),EOMONTH(A$1,0)))&"日17時","")

という数式を記述し、下方向、右方向へコピーしています。
これで、(金)(土)(日)が月を跨ぐ際は、跨がない範囲で表示するという状態になると思います。
ただ、気になることがあります。
>例えば 2/14(月)・・・・・15日9時〜15日17時 とんで2/18(金),・・・は・・・
という表現の「とんで」の意味がよくわからない点です。
これは、①②のどちらでしょうか?
①例えば 2/14(月)・・・・・15日9時〜15日17時、【(水)、(木)も同様なので次の金曜日の説明に】とんで2/18(金),・・・は・・・
②例えば 2/14(月)・・・・・15日9時〜15日17時、【(水)、(木)は表示しないで次の金曜日に】とんで2/18(金),・・・は・・・
No.1さんの回答も私の回答も①の解釈ですが、万一②の解釈だと、全く異なる回答になってしまいます。
「エクセル」の回答画像3
この回答への補足あり
    • good
    • 1

No1です



もう少しだけ簡単にできましたね。
=DAY(WORKDAY(DATE(A$1,A$2,0),ROW()))&"日9時~"&DAY(MIN(WORKDAY(DATE(A$1,A$2,0),ROW()+1)-1,EOMONTH(WORKDAY(DATE(A$1,A$2,0),ROW()),0)))&"日17時"
    • good
    • 1

こんにちは



何だか以前回答したことがあるような・・・
と思ったら、これかな?
https://oshiete.goo.ne.jp/qa/13353543.html

あの時も書いておいたように、曜日を判定したいのなら「年」、「月」が必要です。
まぁ、早々に締め切ったようなので、読んでないのか無視したんでしょうけれど・・・


仮に、A1に年、A2に月が「数値」で入力されているとして、
添付図は、B1セルに
=DAY(WORKDAY(DATE(A$1,A$2,0),ROW()))&"日9時~"&DAY(MIN(WORKDAY(DATE(A$1,A$2,0),ROW())+IF(WEEKDAY(WORKDAY(DATE(A$1,A$2,0),ROW()))=6,2,0),EOMONTH(DATE(A$1,A$2,1),0)))&"日17時"
の式をコピペして下方にフィルコピーしてあります。
「エクセル」の回答画像1
この回答への補足あり
    • good
    • 2

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