アイコン | 種類 | 用途 |
停止 | ユーザーがセルに無効なデータを入力できないようにします。 停止エラー メッセージは[再試行] または [キャンセル] の2つ |
|
注意 | 入力されたデータが無効であることを警告しますが、データの入力は許可します。 [はい] をクリックして無効な入力を続ける、[いいえ] をクリックして無効な入力値を編集、[キャンセル] をクリックして無効な入力値を削除 のいずれかを選択できます |
|
情報 | 入力されたデータが無効であることを通知しますが、データの入力は許可します。 情報エラー メッセージが表示された場合は、[OK] をクリックして無効な入力を続けるか、[キャンセル] をクリックして無効な入力値を削除できます。 |
入力規則
年月日をリストから選択して入力できるような入力規則を設定します。
年 | |
これは単純に年のリストが定義された名前を使用しているだけ セルB9,C9,D9 には、それぞれ、年,月,日 セルF10:F16,G10:G40 には、それぞれ、年リスト,連番 の名前が定義済み。 |
|
月 | |
=OFFSET(連番,,,12) =1,2,3,4,5,6,7,8,9,10,11,12 としても同じ結果になりますが、ここではリスト範囲を再定義して、もっと項目が多い場合にでも対応できるようにしています。 連番は範囲G10:G40に定義された名前 OFFSET関数の書式 OFFSET(基点アドレス,シフトする行数,シフトする列数,行の高さ,列数) OFFSET(連番,,,12)とすることで、基点アドレスはそのまま(省略時は既定値)、行の高さを12、列数はそのまま(=1)となり、 連番の先頭を基点に、12行1列のセル範囲ができます。 |
|
日 | |
同様に、日にちリストの範囲を作成しますが、ただし、今度は日にちの終わりが不定。 日にちの終わり(その月の日数)は、今月最終日の日にちを調べることで求められます。 DAY関数、DATE関数を用いて =OFFSET(連番,,,DAY(DATE(年,月+1,0))) 月+1で翌月、日に0を指定することで1日の前の日=前月の最終日 となります。 または、翌月の1日の日付から今月の1日の日付を引いても得られる =OFFSET(連番,,,DATE(年,月+1,1)-DATE(年,月,1)) |
条件付き書式
日付の正当性チェック
日付が正しいかはIS関数では判定できません。
ISERROR(DATE(2014,11,31))としてもエラーにはなりません。
DATE(2014,11,31)はDATE(2014,12,1)と同等なのです。
よって、ここではDATE関数の日に入力された日にちを入れて、その日付の月が入力されている月と等しいかで判定しています。
たとえば、MONTH関数でMONTH(DATE(2014,11,31)) → 12が返り、11とは一致しないことを利用します。