人生のプチ美学を教えてください!!

セル内の表記が「16:30」など正しく数字が反映されているかどうかのチェックできる関数を組もうと考えております。セル内に「16:ああ」や「★★:★★」のような時間表記ではないものはNG、正しい時間表記であればOKとする関数を教えていただけますでしょうか。できるだけ複雑ではない関数がありがたいです。よろしくお願いします。

A 回答 (2件)

時刻として認識できないものを弾くのは


ワークシート関数ではメンドイのでは?
1:62とか色々・・・
VBAではIsDate関数が有りますが、直接ワークシートに呼び出せないので
標準モジュールにユーザー定義関数を作成し、これを呼び出せば?

Function MyIsDate(RG As range) As String
Dim v As String
v = RG.Text
If IsDate(v) = False Then
MyIsDate = "NG"
Else
MyIsDate = "OK"
End If
End Function

もっともセル上では数値・時刻型のデータは右詰で文字型は左詰めですから
セル幅を広げてみれば判るので関数もVBAも不要でお手軽。

ps.IsDate関数は24時間超は時刻ではないと判別しますが
セル上では25:01は時刻と判別されちゃいますね。
    • good
    • 0
この回答へのお礼

ありがとう

VBAのほうがやりやすそうですね!
ご回答いただきありがとうございました!

お礼日時:2024/02/28 16:04

=IF(ISNUMBER(FIND(":", A1)), IF(ISNUMBER(VALUE(A1)), "OK", "NG"),

"NG")
    • good
    • 0
この回答へのお礼

Thank you

お礼日時:2024/02/28 16:04

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

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


おすすめ情報