- ベストアンサー
曜日によって自動的に”出勤”、”週休”表示方法
初めまして。エクセル初心者です。どうしても、仕事上、改良したいエクセルがあるのですが、どうすればよいのか、全然わかりません。 今仕事で使用しているエクセルが、曜日によって○、×が自動的に表示される式が組まれたものを使用しています。その表示を、出勤、週休表示に変えたいのですが、 元の式『=IF(C7="","",IF(OR(C7=7,C7=1),"×","○"))』 の×を週休に、○を出勤に変えても、『入力した値は正しくありません。ユーザーの設定によって、セルに入力できる値が制限されています。』という表示が出て、動きません。しかし、×の部分だけを週休に変えると、土日は×ではなく、週休という表示が出るので、○も出勤に変えると、制限コメントが出てきます。また、○だけを出勤に変えても、制限コメントがでます。どうすれば、曜日によって自動的に”出勤”、”週休”を表示させることができますか?? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
入力される値を制限する機能として考えられるのが「入力規則」です。 該当するセルをクリックした後、メニューバーのツール→入力規則を確認して下さい。 特に制限を加える必要が無いのであれば、「すべてクリア」ボタンを 押して制限を解除して下さい。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
既出回答のように、セル範囲に入力規則が設定されていて、関数式の入力は、入力データとして解釈されて,受け付けないのではないかと思います。 ーー それより全体の仕組みを質問に書いてみては。 回答者が改良を提案できるかもしれない。 以下のように質問の意味不明。 ーー >曜日によって○、×が自動的に表示される式が組まれたものを使用しています の意味がわかりません。 出勤かどうかは 実績ですか 予定ですか ただ土日は週休と表示するだけのこと? ーー 個人の実績・予定なら 出勤かどうかは人によって違うのでは。 具体的に出勤日はどういう日の指定になっているのですか。 ーー 質問の『=IF(C7="","",IF(OR(C7=7,C7=1),"×","○"))』 から推測するとWEEKDAY関数を使った結果の1と7(土日)を 使っている風に推測されるが 日付(シリアル値、わかりますか?)のある列をA列として、式を入れるなら =IF(A1="","",IF(OR(WEEKDAY(A1)=7,WEEKDAY(A1)=1),"週休","出勤")) になるのかなと推測します。 シートをコピーしテストのこと。もちろん現在のその列の入力規則など消してテスト。
お礼
具体的に、ありがとうございます!! 確かに、入力規制が入っていました。入力規制をのけると、○、×を出勤、週休に変えることができました。 このエクセルの全体の仕組みは、基本シートと個人シートがあり、基本シートに年月を入力すると、日にちの隣の曜日が自動的に変わり、それとともに、平日は○、土日は×の表示がされ、個人シートも基本シートと全く同じように変わります。個人シートのセルは、基本シートのセルを参照(=基本!K8)しています。その後個人の実績に応じて、出勤状況をリストから選んでいます。リストから選ぶと、式がなくなって直すのがわからないので、とりあえず、使い捨てで、毎月使っています。 基本シートの○×表示のセルK8には、『=IF(C8="","",IF(OR(C8=7,C8=1),"×","○"))』という式が入っていて、C8で、曜日が表示され、その中の式は『=IF(B8="","",WEEKDAY(A8,1))』が入っており、A8を見ると、『=DATE($E$3+1988,$G$3,2)』の式が入っており、E3のセルは、平成の年を、G3のセルには月を入れています。 基本シートがあるから、個人シートでは、入力規制も使えるように作られている?!のですね?!? 仕組みはちんぷんかんぷんですが、何より○×が出勤、週休に変わり、個人シートにも反映されたので、よかったです。 皆様、本当にありがとうございました。
お礼
ありがとうございました!!確かに、入力規制が入っていました。○、×を無事、出勤、週休に変えることができました。 ○、×が表示されたセルをクリックすると、▼が表示され、その他の勤務対応(年休、出張など)が選べるリストが出てくるので、それが入力規制だったようです・・・。