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

0:00が表示されたら 日付が変わるようにしたい。

黄色いセルは手入力し その他は自動表示。
月日は B 列が0:00の場合は日付が1日増えるようにしたい。
月をまたいだ場合も同様。


例:B7が0:00なので7/2に日付が変わる。

お手数ですがご教授ください。

「0:00が表示されたら 日付が変わるよう」の質問画像

A 回答 (4件)

表の中に日付をまたぐ部分が1箇所であれば簡単に出来ます。



画像の表を元にすると
セル[A4]=IF(HOUR(B4)<>0,"〃",$A$3+1)
セル[A5]=IF(HOUR(B5)<>0,"〃",$A$3+1)
セル[A6]=IF(HOUR(B6)<>0,"〃",$A$3+1)
以降、HOUR(B*)の*の部分を1つづつ増やしてください。

しかし、日付をまたぐ部分が2箇所以上ある場合は厄介です。
1箇所の場合は日付を入力しているセルが分かっている為、そのセルの値に+1するだけで次の日が取得できますが、2箇所目以降は何回目の[0:00]なのか判断する必要が出てきてしまいます。

そこで、日付をまたぐ部分が2箇所以上ある場合はEXCELで取り扱われる日時のデータがシリアルデータである事を利用します。
具体的に書きますと、EXCELの日時データは実際は[1900/1/0 0:00:00]を[0]として整数部が日付、小数部が時間になります。
セルに日付を入力した場合、時間は[0:00:00]になり、時間を入力した場合日付は[1900/1/0]になります。
時間を入力したセル以降に入力された日付のデータも持たせてあげることで、[0:00]になった場合、そのセルの日付のデータを取得すれば良い事になります。


セル[D3]=A3+B3+TIME(1,0,0)
セル[D4]=B4+TIME(1,0,0)
セル[D5]=B5+TIME(1,0,0)

セル[B4]=D3
セル[B5]=D4
セル[B6]=D5

セル[A4]=IF(HOUR(B4)<>0,"〃",B4)
セル[A5]=IF(HOUR(B5)<>0,"〃",B5)
セル[A6]=IF(HOUR(B6)<>0,"〃",B6)
    • good
    • 0

Aセルの手入力をやめ、B3セルを基準にして、他のA,B,D列のセルを自動入力する方法で回答します。



まず質問にある表で、
B3セルの入力を「2011/7/1 20:00」と日付付の時刻形式で入力し、
A3セルには「=B3」を、D3セルには「=B3+"1:00"」を入力します。

次に、
A4セルには「=if(left(b4,5)=left(b3,5),"〃",b3)]を
B4セルには「=B3+"1:00"」を
D4セルには「=B4+"1:00"」と入力し、
4行目をコピーして表の下まで貼り付けします。

更に、
A列のセルの書式設定で表示形式を「日付:3/14」を選択
B,D列のセルの書式設定では表示形式を「時刻:13:30」を選択します。

これでいかがでしょうか?

質問の表の雨量のように長期の測定データを扱う場合、あとになってグラフ化したい
という要望が出ることが予想されますが、それに備えるためにも、日付時刻形式で
入力しておいた方が扱いやすいと思います。
※Bセルを横軸に、Eセルを縦軸にとって分布図でグラフ形式表示し、横軸の書式を
「ユーザー設定:0/0 0:00」、目盛間隔を「3:00」などに設定すれば見目の良いグラフになるでしょう。
    • good
    • 0

>B7が0:00なので7/2に日付が変わる。


A4セルに
=IF(B4=0,A3+1,A3)
下へコピー

少し発想を変えて
上の行の時刻より小さくなったら 日にちを1日分加算する
ということで
A4セルに
=IF(B3>B4,A3+1,A3)
下へコピーしてみては
    • good
    • 0

A3=40725 で表示形式が日付の3/14で 7/1 の表示なら


A4=IF(B4="","",IF(B4>B3,"〃",MAX($A$3:$A3)+1))
※表示形式はA3と同じにしてください。
でA4の式を下方にコピーしてください。
    • good
    • 0

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