14歳の自分に衝撃の事実を告げてください

宜しくお願いします。

24時間表示(0:00~23:59)で記載されている時間を下記のように区分をしたいです。
A1セルに記載されてるとします

0:00~8:29  深夜
8:30~17:00 日中
17:01~23:59 夜間

下記のようにしたのですがうまくいきません。全部夜間になってしまいました
教えていただけないでしょうか。

if(and(A1>="0:00",A1<="8:29","深夜",if(and(A1>="8:30",A1<="17:00"),"日中","夜間")

すみません。知恵を貸してください。

A 回答 (8件)

1日は数値「1」と考えます。


24時間が「1」ですから、
12:00だと半分の「12/24」で「0.5」。
8:30は、「8.5/24」
17:00は、「17/24」
という具合になるわけです。
計算式で入れている時間を、上記の小数や分数に置き換えれば、臨んだ結果になるはずです。

ANDで複数条件にしなくても、ちょっと整理して、これで良いと思いますが、いかがでしょう?

=IF(A1<8.5/24,"深夜",IF(A1>17/24,"夜間","日中"))
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
出来ました。
本当に助かりました。

お礼日時:2020/02/01 15:55

計算式の中に時刻を入れる場合に、8:00のように文字列だと計算ができません。


また、他の回答者さんのように特殊な数値を使うと、後に自分でもわからなくなります。

時間や月日を表す場合にシリアル値という0:00から23:59までに連続くした数値を当てます。
№4の方が示しているのがシリアル値です。EXELには時刻をシリアル値に変換する関数があります。それがTIMEVALUE関数です。
TIMEVALUE("8:00")のように書きます。

if(and(A1>="0:00",A1<="8:29","深夜"),if(and(A1>="8:30",A1<="17:00"),"日中","夜間")
→=IF(AND(A1>=TIMEVALUE("0:00"),A1<=TIMEVALUE("8:29")),"深夜",IF(AND(A1>=TIMEVALUE("8:30"),A1<=TIMEVALUE("17:00")),"日中","夜間"))
とします。
これだと長くなるうえに、8:29と8:30の間がすべて夜間になってしましまうので、№1さんの式の形式にするのがいいと思います。

=IF(A1<TIMEVALUE("8:30"),"深夜",IF(A1=<TIMEVALUE("17:00"),"日中","夜間"))
こうすれば、後から見てもどのような計算だったかわかります。

これだと、秒の問題もクリアーされます。
0:00:00~8:29:00  深夜
8:30:00~17:00:00 日中
17:00:01~23:59:59 夜間
となります。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
勉強になりました。

お礼日時:2020/02/10 14:20

=IF(AND(A1>="0:00"*1,A1<"8:30"*1),"深夜",IF(AND(A1>="8:30"*1,A1<"17

:01"*1),"日中","夜間"))
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
*1 の意味はなんでしょうか。

教えていただければ幸いです。

お礼日時:2020/02/10 14:21

回答者の皆様へ



「<=17時」のような判定はダメです。
A1セルに「17:00:59」と入力すると「17:00」表示されているという事なので「<17時1分」のような判定をしないといけません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2020/02/10 14:22

こんにちは!



横からお邪魔します。
>A1>="0:00"
だと文字列になりますので、
>A1>="0:00"*1
のようにすれば数値として扱ってくれます。

No.1さんが回答されている通り、「and関数」にしなくても大丈夫だと思います。

24時を超えるコトはないという前提であれば
=IF(A1<"8:30"*1,"深夜",IF(A1<="17:00"*1,"日中","夜間"))

といった感じでしょうかね。m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
勉強になりました。

お礼日時:2020/02/10 14:24

=IF(A1<0.354166666666667,"深夜",IF(A1<0.709027777777778,"日中","夜間"))


ではいかがでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2020/02/10 14:25

一般的には、時間情報を記入すると当日の年月日まで記録されることがあるので、


ここから時間情報だけを取り出す必要があります。
区分をB1に記載する場合は、
B1=
IF(MOD(A1,1)<"08:30","深夜",
IF(MOD(A1,1)>"17:00","夜間","日中")
)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2020/02/10 14:26

A1セルに「8:29:59」と入力すると、どのように表示されますか?


⓪ そもそも秒単位が入力される事は無い
①「8:29」
②「8:30」
③「8:29:59」
A1セルに「17:00:59」と入力すると、どのように表示されますか?
⓪ そもそも秒単位が入力される事は無い
④「17:00」
⑤「17:01」
⑥「17:00:59」
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

共に①、④のように秒は表示されません。

ただし、数式バー上には8:29:00と表示されます。

お礼日時:2020/02/01 15:58

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A