• ベストアンサー

EXCELの時刻入力制限の設定

教えていただきたいことがあります。 セルA1に 4月11日11時20分と入力したとします。(この時刻と日付は毎回かわります) 次に セルA2に入力する日時と数字は「セルA1以上の数値」でなければ入力をうけつけないようにしたいのですが、その場合はどのような設定にすればよいでしょうか? 日付と時刻のセルをわけた場合 A1「日付」 B1「時刻」<A2「日付」 B2「時刻」 のように設定することも可能でしょうか?

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 分けない場合は、 A2セルを選択   ↓ Excelのバージョンが、 Excel2007以降の場合は、[データ]タグ、 Excel2007よりも前の場合は、メニューの[データ]ボタン をクリック   ↓ Excel2007以降の場合は、「データツール」グループの中にある[データの入力規則]、 Excel2007以降の場合は、現れた選択肢の中にある[入力規則] をクリック   ↓ 現れた「データの入力規則」ウィンドウの[設定]タグをクリック   ↓ 「入力値の種類」欄をクリックし、現れた選択肢の中にある[時刻]をクリック   ↓ 「データ」欄をクリックし、現れた選択肢の中にある[次の値以上]をクリック   ↓ 「次の時刻から」欄に =A1 と入力   ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック  これで、A2セルには、A1セルに入力されている日時以上の値しか、入力出来ない様になります。  因みに、質問者様が仰る「セルA1以上の数値」という表現では、「セルA1と同じ日時」も入力可となります。  もしも、「セルA1と同じ日時」を入力可能な値に含めない場合には、「セルA1以上の数値」ではなく、「セルA1の値を超える数値」という表現になります。  そして、「セルA1の値を超える数値」のみを入力可とし、「セルA1以下の数値」を入力不可とする場合には、同様の操作で、 「データの入力規則」ウィンドウの[設定]タグの「データ」欄をクリックした際に、現れた選択肢の中にある[次の値より大きい]をクリックして下さい。(その他の操作は同じです)  尚、A3セルにA2セルよりも大きな値を入力してから、後でA2セルの値をA3よりも大きな値に変更した場合には、A3セルの値がA2セルよりも小さくなってしまいますから、注意して下さい。  もし、後から途中の日時を変更する場合にも、上のセルに入力した日時以上で、下のセルに入力した日時以下の値しか入力出来ない様にする場合には、次の様な操作となります。 A1セルを選択   ↓ Excelのバージョンが、 Excel2007以降の場合は、[データ]タグ、 Excel2007よりも前の場合は、メニューの[データ]ボタン をクリック   ↓ Excel2007以降の場合は、「データツール」グループの中にある[データの入力規則]、 Excel2007以降の場合は、現れた選択肢の中にある[入力規則] をクリック   ↓ 現れた「データの入力規則」ウィンドウの[設定]タグをクリック   ↓ 「入力値の種類」欄をクリックし、現れた選択肢の中にある[時刻]をクリック   ↓ 「データ」欄をクリックし、現れた選択肢の中にある[次の値以下]をクリック   ↓ 「次の時刻から」欄に =A2 と入力   ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック   ↓ A2セルを選択   ↓ Excelのバージョンが、 Excel2007以降の場合は、[データ]タグ、 Excel2007よりも前の場合は、メニューの[データ]ボタン をクリック   ↓ Excel2007以降の場合は、「データツール」グループの中にある[データの入力規則]、 Excel2007以降の場合は、現れた選択肢の中にある[入力規則] をクリック   ↓ 現れた「データの入力規則」ウィンドウの[設定]タグをクリック   ↓ 「入力値の種類」欄をクリックし、現れた選択肢の中にある[ユーザー設定]をクリック   ↓ 「数式」欄に =AND(ISNUMBER(A2),A2>0,COUNTIF(A$1:A1,">"&A2)=0,COUNTIF(A:A,"<"&A2)=COUNTIF(A$1:A1,"<"&A2)) と入力   ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック   ↓ A2セルを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ A3以下の、入力規則を設定する範囲を選択   ↓ 選択範囲を示している黒い太枠の内側にカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ウィンドウの「入力規則」と記されている箇所をクリックして、チェックを入れる   ↓ 「形式を選択して貼り付け」ウィンドウの[OK]ボタンをクリック  以上です。

kobuttori
質問者

お礼

詳細な回答ありがとうございます。 問題解決しました!!

その他の回答 (3)

  • aoumiushi
  • ベストアンサー率45% (234/512)
回答No.3

データの入力規則を使うとできるのでは? ※Excel2010の場合です。 ▼A1、A2のセルの書式を変更します。 ・対象セルで、右クリックします。 ・ポップアップメニューから[セルの書式設定]を選択します。 ・"セルの書式設定"ダイアログの[表示形式]タブをクリックします。 ・"分類"で[ユーザー定義]を選択し、種類に[m"月"d"日" h"時"m"分";@]と入力します。かっこ→[ ] は入力しません。 ・[OK]ボタンをクリックします。 ▼データの入力規則を設定します。 ・A2セルで、メニューの[データ]→[データの入力規則]の順に選択します。 ・"データの入力規則"ダイアログが表示されます。 ・[設定]タブをクリックします。 ・"入力値の種類"で[日付]を選択する。 ・"データ"で[次の値以上]を選択します。 ・"次の日付から"で =A1 を入力するか、A1セルをクリックします。 ・[エラーメッセージ]タブをクリックします。 ・[無効なデータが入力されたらエラーメッセージを表示する]にチェックを入れます。 ・"スタイル"で[停止]を選択します。 ・"タイトル"と"エラーメッセージ"に適当な文字を入力します。 ・[OK]ボタンをクリックします。 日付入力で 2011/4/11 15:01 と入力すると 4月11日 15時1分 と表示されます。 A2セルでA1セルの日付より古い日付を入力すると、エラーメッセージが表示されるようになります。 日付と時刻を分けてもできますが、ちょっと複雑になります。

kobuttori
質問者

お礼

詳細な回答ありがとうございます。みなさんの回答でいろいろな方法でファイルが作成できました。 あちがとうございました。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

2003までの操作ですが、 データ→入力規則→設定タブ→入力値の種類:ユーザー設定、データ:=A2>=$A$1 ↓ OK 日付と時刻を分けると、日付は○/○ 00:00、時刻は1900/1/0 ○○:○○時と判定すると思うので、どこか別のセルで二つを合わせて一つの日時を作り、それを判定する事になるかと思います。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

4月11日11時20分などとセルに入力した場合には文字列の扱いとなって時間などの計算などにそのまま使うことができません。できれば4/11 11:20などとセルに入力し書式設定の表示形式で4月11日11時20分と表示させるのがよいでしょう。しかしここでは文字列として入力する場合について述べます。 最初のご質問ではA1セルから下方にデータが入力されるとしたらA2セルから下方を範囲として選択してから「データ」タブの「入力規則」で入力値の種類で「ユーザー設定」にして数式の窓には次の式を入力します。 =VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"月","/"),"日"," "),"時",":"),"分",""))>VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"月","/"),"日"," "),"時",":"),"分","")) なお、この式を数式の窓に入力するに当たっては一度この数式をエクセル画面に描きそれをコピーして、貼り付けるようにするのがよいでしょう。あるいはこの式をコピーしてそれを直接貼り付けてもよいでしょう。 式が誤りのような表示がされるかもしれませんがそのままの式でOKします。 これでお望みの日付と時刻のみが入力できます。 次のご質問では入力したデータは文字列とはならずにシリアル値として入力されます。したがって上記の場合とは異なります。 A2セルを選択してから同じように入力規則ではユーザー定義とし =A2>=A1 と入力します。 B2セルを選択してから同じように入力規則のユーザー定義で =A2+B2>A1+B1 と入力します。

関連するQ&A

専門家に質問してみよう