• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2003で休日のセルに自動で0と表示させて1ヶ月出勤日数を集計)

エクセル2003で休日のセルに自動で0と表示させて1ヶ月出勤日数を集計

このQ&Aのポイント
  • エクセル2003で休日のセルに自動で0と表示させて1ヶ月出勤日数を集計させたい。
  • 出勤簿を作っています。入力規制(リストより選んで入力)の方法使って数式で集計しない方法はありますか?
  • 1日(B1)のセルを翌月にすると自動で日にち、月(A1)、曜日(B2)が変わることは出来たのですが、休日(土日)のセルは自動で「0」(C3)となり、日計、月計を出したいです。

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

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

 入力規則とは、その名の通り、入力する際に、入力する事の出来る値に制限を設ける機能です。  ですから入力規則では、手入力で新たに入力する際に、0以外の値を入力出来ない様にする事は出来ますが、既に入力済みの値を自動的に0に修正する事は一切出来ません。(私のやり方が悪い訳ではなく、入力規則とは元々そういうものなのです。)  例えば、9月24日(金)に1と入力されていたセルがあったとして、10月に入ってA1セルを10月と書き換えたしたとしても、10月24日(日)の値は1のままです。  それでも宜しければ、次の様な操作となります。 B3セルを選択   ↓ メニューの[データ]をクリック   ↓ 選択肢の[入力規則]をクリック   ↓ 現れた「データの入力規則」ウィンドウの「設定」タグをクリック   ↓ 「入力値の種類」欄をクリック   ↓ 現れた選択肢の中の「ユーザー設定」をクリック   ↓ 現れた「数式」欄の中に以下の数式を入力 =IF(OR(B$2="土",B$2="日"),B3=0,ISNUMBER(B3))   ↓ 「データの入力規則」ウィンドウの[OK]ボタンをクリック   ↓ B3セルにカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[コピー]をクリック   ↓ 土曜日と日曜日には0以外の値を入力する事を出来ない様にする、全てのセルを範囲選択する   ↓ 選択範囲を示す黒い太枠の内側にカーソルを合わせて、マウスを右クリック   ↓ 現れた選択肢の中にある[形式を選択して貼り付け]をクリック   ↓ 現れた「形式を選択して貼り付け」ウィンドウの中にある「入力規則」と記されている箇所をクリックして、チェックを入れる   ↓ 「形式を選択して貼り付け」ウィンドウの[OK]ボタンをクリック  これで、土曜日と日曜日には0以外の値を入力する事を出来ない様になります。  尚、2行目の値が文字列データではなく、シリアル値である場合には、B3セルに入力規則を設定する際に、「数式」欄に入力する数式を、次の様に変更して下さい。 =IF(WEEKDAY(B$2,2)>5,B3=0,ISNUMBER(B3))  それから、各セルに元から関数が設定されている場合には、その関数を仮に、 =元の関数 だとしますと、その関数を次の様な形式に変更すれば、土曜日と日曜日の値が自動的に0に変わる様になります。 *2行目の値が文字列データの場合 =IF(OR(B$2="土",B$2="日"),0,元の関数) *2行目の値がシリアル値の場合 =IF(WEEKDAY(B$2,2)>5,0,元の関数)

haizi-123
質問者

お礼

kagakusukiさま 素早い回答ありがとうございます。 初めて「教えて!goo」に質問をさせてもらったところ こんなに早く回答を頂けて感動です♪ まずは、お礼までにて失礼します。 今からエクセルを開いてみます。

haizi-123
質問者

補足

kagakusukiさま お世話になります。 とても詳しい回答をありがとうございました。 入力規制の件などは、大変勉強になりました。 教えて頂いた土曜日と日曜日には0以外の値を入力する事を出来ない様に出来ました。 「各セルに元から関数が設定されている場合の箇所」のことをまた教えて頂けると助かります。 今回、質問欄に画像を添付した表は、 回答頂いた「*2行目の値が文字列データの場合」に当てはまるのでしょうか? *2行目の値が文字列データの場合 =IF(OR(B$2="土",B$2="日"),0,元の関数)をやってみたところ 土日の列のセルは、「0」と自動になったのですが、 月~金のセルは「####」となってしまいました。 こちらの理解不足の為、ご面倒をお掛けします。 よろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • fate1979
  • ベストアンサー率38% (25/65)
回答No.1

1.自動で0に。  行2が「土」または「日」のときは「0」を、ほかは空白とします。  セルにIF関数を打ち込みます。とりあえずAグループの1日(金)だけ。  あとは全体にコピペしてください。  =IF(OR(B3="土",B3="日"),0,"") 2.自動で休日に色を。  書式で、条件付き書式を使います。「ルールの管理」で、「新規ルール」を  作成していきます。試しに1つのセルに対して、土日の書式を作ってみます。  あとは全体にこれをコピペ。   ※「形式を選択して貼り付け」で「書式」を選択すると便利。  「新規ルール」→「数式を使用して、書式設定する」  数式:IF(B3="土",1,0) 書式:塗りつぶしで青に。  数式:IF(B3="日",1,0) 書式:塗りつぶしで赤に。  書式は、他にもフォントや罫線も選択できます。いろいろ試してください。

haizi-123
質問者

お礼

fate1979さま 素早い回答ありがとうございます。 初めて「教えて!goo」に質問をさせてもらったところ こんなに早く回答を頂けて感動です♪ まずは、お礼までにて失礼します。 今からエクセルを開いてみます。

すると、全ての回答が全文表示されます。

関連するQ&A