• ベストアンサー

書式によるセルの入力規制の仕方について

エクセルで勤怠管理をしています。 通常出勤した場合と休日出勤した場合で、時間を入力できる列を分けたいのですが、間違って違うセルに入力してしまう(例えば、休日出勤なのに通常出勤の列に入力してしまう)ミスは防げないでしょうか。 土日と、祝日の曜日の文字が赤で、平日の曜日の文字を黒くしています。 できれば、この曜日の書式で、入力できる列を指定したいのですができますか? もし、他にこうしたらどうかという意見がありましたら教えて下さい。 ちなみに、私はマクロやVBAは詳しくないので、なるべく易しい方法を教えて頂ければと思います。 よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

色の判定は結構難しいです。それこそマクロやVBAを使う方法ですので... このサイトでも土日祝日に自動で色をつける方法というのがよく出てきます。 その応用すれば設定は可能です。 土日の判定「WEEKDAY(日付,2)>5」WEEKDAY関数は日付を曜日(1~7の数字)に直します。 祝日の判定「COUNTIF(祝日の表の範囲,日付)=1」祝日の日付を別表に作成して、該当するかのチェックを行います。 上記を使うなら入力規則で入力値の種類を「ユーザー設定」で数式を 平日のセルは「=AND(WEEKDAY(日付,2)<6,COUNTIF(祝日の表の範囲,日付)=0)」 祝日のセルは「=OR(WEEKDAY(日付,2)>5,COUNTIF(祝日の表の範囲,日付)=1)」 手動でいい場合は、1列追加して平日なら0、土日祝日なら1として 平日は「=(セル=0)」、祝日は「=(セル=1)」

cloud05
質問者

お礼

みなさん、色々な回答をいただき、ありがとうございました。 まとめてお礼申し上げます。 これらの方法を試してみたいと思います。

その他の回答 (2)

  • nemocci
  • ベストアンサー率35% (35/100)
回答No.2

曜日の書式とかではありませんが 入力すべきセルのロック(書式→セル→保護→ロック)を外し シート保護(ツール→保護→シートの保護:パスワード無しでOK)をかけてはいかがですか シートの保護がかかると、そのロックを外したセルにしか入力できなくなります ついでに、入力可能なセルの色を変えておくと、ここだなという感じになります 一つ一つ面倒ですが簡単に出来ます

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

(1)入力する表上の日付け (2)現実の入力している日付 は必ず一致するのでしょうか。 2005/11/14 2005/11/15 2005/11/16 2005/11/17 とA2:D2に入れて(エクセルの通常の日付シリアル値で入れること。文字列はだめ) データ-入力規則-設定-ユーザー設定-数式に =A$2=TODAY() と入れて OK。 これで今日(2005/11/16)の列以外にデータを入れようとするとエラーになった。 日が変わった場合のテストができてないのですが。