キングは、セルがhh:mmまたは[h]:mmとしてフォーマットされていて、誤ってセルに3:555を入力した場合、3:55ではなく12:15になると述べています。

Excelは、555を55分半ではなく555分として解釈しています。彼は、データ検証を取得して処理できないため、このようなデータ入力エラーを防ぐ方法があるかどうか疑問に思います。

キングは正しいです。データ検証では、このタイプのエラーは処理されません。セルへの時間入力を許可するようにデータ検証を設定してから、境界を午前12:00:00から午後11:59:59に設定すると(いつでも許可されるように)、3:555を受け入れて誤って解釈します。 3時間555分、つまり12:15です。 12:15は許容時間内であるため、データ検証に問題はありません。

ただし、時間入力を2つのセルに分割した場合は、データ検証を引き続き使用できます。ユーザーが1つのセルに時間、別のセルに分を入力できるようにし、データ検証を使用して各セルに許容可能な入力パラメーターを適用できるようにします。これにより、555が有効な分数として受け入れられなくなります。次に、次の方法で2つのセルを有効な時間に変換できます。

=A1/24+B1/(24*60)

いくつかの加入者は、マクロを使用してセルの内容を確認し、タイプミスのエントリを停止することを提案しました。各提案は、非常に有望であると思われるWorksheet_Changeイベントハンドラーに依存していました。ただし、提供されたソリューションはいずれも、3:555のエントリを誤ったものとしてキャプチャしませんでした。その理由は、ExcelがWorksheet_Changeイベントに制御を渡すまでに、その内部ルーチンがすでにエントリを解析して12:15に変更していたためです。 3:555にプログラムでフラグを付けて調整することはできますが、解析された12:15はできませんでした。それでも有効な時間と見なされるため、Worksheet_Changeマクロのいずれかを通過しました。

したがって、唯一のマクロベースのソリューションは、ユーザーが入力ボックスを使用して時間を入力し、マクロがそれをワークシートに挿入する前に確認できるソリューションです。ただし、このアプローチは、分と秒のセルを別々に使用してそれらのセルにデータ検証を適用するよりも、ユーザー入力を簡単にするのにはるかに混乱を招くようです。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13248)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。