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

エクセル初心者です。
IF関数で時間の計算をしたいのですが、
=IF(T14-Q14>="9:00","01:00",IF(T14-Q14>="05:30","00:30","00:00"))
こちらの関数でおかしいところはありますか?
セルの書式は時間になっています。

9:00以上は1:00と出力
それ以外で
5:30以上は0:30と出力、
それ以外は0:00と出力したいのですが、、

うまく動作しません。原因がわからないので、ご教授いただけると幸いです。

A 回答 (4件)

=IF(T14-Q14>="9:00"*1,"01:00"*1,IF(T14-Q14>="05:30"*1,"00:30"*1,"00:00"*1))



って、時間表記に*1しておけばいいのでは?(最後の最後は0でいいと思いますが)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!皆さんの式で無事問題解決できました!(T_T)
ありがとうございました!

お礼日時:2018/01/11 11:04

こんにちは!



時間計算等の場合、ちゃんとシリアル値になっているかどうかが大切です。
"9:00"
だと文字列になってしまうコトがありますので、数値にする必要があります。

表示したいセルの表示形式は 時刻 またはユーザー定義から
[h]:mm
としておき
=IF(T14-Q14>="9:00"*1,"01:00"*1,IF(T14-Q14>="05:30"*1,"00:30"*1,0))

としてみてはどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!×1をすることで数値化出来るんですね!
エクセルの関数、簡単なようでなかなか手こずりますね(T_T)本当助かりました、有難うございます

お礼日時:2018/01/11 11:02

> T14-Q14>="9:00"



この式だと文字列として比較しているじゃないですか。なので、セルに時刻形式で入力してあるんだったら文字列と数値を比較となり、一致するはずがないですよね。なので以下のように、VALUE関数かTIMEVALUE関数で数値に変換してください。

=IF(T14-Q14>=VALUE("9:00"),VALUE("01:00"),IF(T14-Q14>=VALUE("05:30"),VALUE("00:30"),VALUE("00:00"))

TIMEVALUE関数の方が時間であることが明白なので、解りやすい場合もありますが、TIMEVALUE関数は式が長くなること、TIMEVALUE("24:00") がエラーになってしまう欠点があり、私的にはあまり使いません。VALUE("24:00")は、正常に1を返します。これじゃあ全く、何のための時間計算専用関数だよって思っちゃいますよね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます(T_T)時間計算の場合数値化が必要だったんですね。。
無知ですみません、大変助かりました!

お礼日時:2018/01/11 10:59

構文には間違いが見られませんが、問題は比較対象の属性の違いでしょう。



空きセルに、以下を入力して、結果を見て下さい。
=(T14-Q14>="9:00")

> うまく動作しません。
その内容のご提示が大事です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!^^IF関数で時間の計算をする場合、
数値化しないといけないようでした(T_T)問題解決できました!ありがとうございます。

お礼日時:2018/01/11 10:57

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