• ベストアンサー

EXCEL 時間の識別

時間超過分としてA1に1分でもオーバーしたら×を入力する関数があります。 IF(A1>=TIME(0,1,0),"×","○") と作成しました。 A1は時間計算に無関係な場合“ - ”(ハイフン)などの文字列を記入するルールになっていて、 この場合○を期待しているにもかかわらず、×になってしまいます。 様は時間が入力されている場合のみ、IF関数を稼動したいわけです。 どうしたらいいでしょうか? ちなみに A1の書式は [h]:mm;"" としています。関係ないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

Excelの内部では時刻は数値として表されます。1時間が 1/24 です。 ワークシート関数には「そのセルが数値かどうか」判断するものはありますが、「時刻であるかどうか」を判断するものがありません。 ですからA1が「数値なら」という判定を加える方法で我慢してください =IF(ISNUMBER(A1),IF(A1>=TIME(0,1,0),"×","○"),"") なお書式は関係ありません。

kinco
質問者

お礼

どうもありがとうございました。 お礼が送れて申し訳けございませんでした。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

文字の場合は"○"でいいのでしょうか? =IF(AND(ISNUMBER(A1),A1>=TIME(0,1,0)),"×","○") または =IF(OR(ISTEXT(A1),A1<TIME(0,1,0)),"○","×") でできませんか?

kinco
質問者

お礼

どうもありがとうございました。 お礼が送れて申し訳けございませんでした。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

行いたい内容をよく理解してないのですが、時間は数値として 認識されますので、その識別はISNUMBERを利用すればいいと思います。 もう一段IFを活用して、ISNUMBERでA1の値が数値(時間)かどうか 判断する。 IF(ISNUMBER(A1),・・・・・・)

kinco
質問者

お礼

どうもありがとうございました。 お礼が送れて申し訳けございませんでした。

関連するQ&A