2023年8月7日【ID:0】
【Excel】未来の日付のみを入力許可
今後のスケジュール表や、商品が購入された後の発送日であったり、過去の日付が入力されることのない項目があるとします。
このような項目は、特に年末あたりに入力ミスが増えてきます。
年を省略して月日を入力すると、自動で今年の年が入力されます。
そのため、年末あたりの入力ミスの原因として、年明けの日付を入力したつもりが、過去の日付になってしまていることが考えられます。
そのような項目に対し、過去の日付を入力できないようにする設定方法について解説していきます。
入力できる値を制限するには「データの入力規則」を活用します。
例として、以下の表に対して、過去の日付が入力できないような設定をしていきます。
まず初めに、対象の範囲を選択し、[データ]タブから[データの入力規則]を選択します。
次の画面で以下のように設定します。
※関数の説明については記事の最後にまとめて記載しています。
・入力値の種類:日付
・データ:次の値より大きい
・開始日:=TODAY()
こちらの開始日には、関数や数式を用いることができます。
必要に応じて、[エラー メッセージ]を設定することで、入力エラー時に、任意の内容を表示させることができます。
[スタイル]を"停止"にすることで、条件を満たしていない値の入力を禁止することができます。
[エラー メッセージ]を設定した場合と、していない場合では、以下のような違いがあります。
・設定した場合
・設定していない場合
このように、入力できる日付を未来の日付のみに制限することができました。
過去に入力した日付に関しては、過去の入力時に未来であれば、そのまま保持されます。
上記の画像の場合、「2023/7/19」などが、「過去に入力された」過去の入力時に未来であった日付です。
※再度、同じ日付を入力し直すとエラーになります。
他にも以下のような設定も可能です。
・本日から3日以降でないと入力することができない
・今年の年の日付しか入力できない
他にも、色んな関数を組み合わせて応用できるかと思います。
今回、使用した関数は以下になります。
=TODAY()
// 今日の日付を表す数値を返す
=DATE(年, 月, 日)
// 指定した年月日から日付を表す数値を返す
=YEAR(日付)
// 指定した日付が該当する年を返す