• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで出勤表をつくる)

エクセルで出勤表を作る方法

このQ&Aのポイント
  • エクセルで1年分の出勤表を作成する方法を解説します。
  • 勤務時間を手書きしてもらうために、エクセルで出勤表を作成する方法を教えてください。
  • エクセルを使用して、月別の出勤表を作りたいと思っています。日付や曜日の表示方法が分からず困っています。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.6

>(1)セルA1に年を設定し、A2に月を設定する 手入力ですね? >(2)=DATE($A$1,$A&2,1~31)で、日付を出す 1日のセル位置と日付の数式を設定するセル範囲が明確ではありません。 推測ですがA3=1日、A4=2日、・・・・、A33=31日と言うことですか? >(4) (2)の日付の横のセルに=TEXT(WEEKDAY((2)のセル,1),"aaa")で曜日を表示 曜日はB3~B33でよろしいでしょうか? >これを、その月の月末の日付までしか表示しないようにしたいです。 A3=IF(DATE($A$1,$A$2,ROWS(A$3:A3))>EOMONTH(DATE($A$1,$A$2,1),0),"",DATE($A$1,$A$2,ROWS(A$3:A3))) B3=A3 としてA3とB3を下へ33行目までコピーしてください。 A3~A33セルの書式はユーザー定義「d」で良いですがB3~B33はユーザー定義「"aaa"」にします。 B3~B33は日付のシリアル値ですが表示形式で曜日を指定すればTEXT関数で文字列に変換する必要はありません。

faye963
質問者

お礼

EOMONTHの使い方を初めて知りました。 ありがとうございました!

その他の回答 (5)

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.5

1日がA3から開始とします。 A3式は=DATE(A1,A2,1)ですね。 28日まではdate関数でも=A3+1と足していっても構いません。 A31:29日目 A31式 =IFERROR(IF($A$2=MONTH(A30+1),A30+1,""),"") B31式 =IF(A31="","",TEXT(WEEKDAY(A31),"aaa")) A31~B31を下方へオートフィル 添付が画像は3~26日を非表示としています。

noname#231195
noname#231195
回答No.4

=DATE($A$1,$A&2,1~31) の代わりに =If (Month(Date($A$1,$A&2,1~31))=$A$2, Date($A$1,$A&2,1~31, "") としたらどうでしょう。 つまりDATE($A$1,$A&2,1~31)の結果が、A2に指定してある月と違う場合は、長さ0の文字列("")を返します。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

=IF(MONTH(DATE(A$1,A$2,29~31))<>A$2,"",DATE(A$1,A$2,29~31)) といった組立にします。 実際には1日から28日までのセルには関数を入れるまでも無く1から28までの数字を生で記入しておき、曜日のセルの側で =TEXT(DATE(A$1,A$2,1から28のセル),"aaa") と計算 さらに29日以降の曜日は =IF(上述の29~31日のセル="","",TEXT(A$1,A$2,29から31のセル),"aaa")) のようにしておけば十分です。

faye963
質問者

お礼

ありがとうございました。 いろいろな方法がありますね、参考になりました。

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

 1日(ついたち)の日を表示させるセルがどのセルなのかが具体的に判らなければ、明確な回答をする事が出来ませんので、取り敢えず仮の話として1日の日を表示させるセルがB4セルであるものとして話を進める事に致します。  その場合、まず、B4セルに次の関数を入力して下さい。 =IF(ISERROR(($A$1&"/"&$A$2&"/"&ROWS(B$4:B4))+0),"",ROWS(B$4:B4))  次に、C4セルに次の関数を入力して下さい。 =IF(ISNUMBER($B4),TEXT($A$1&"/"&$A$2&"/"&$B4,"aaa"),"")  そして、B4~C4のセル範囲をコピーして、B5~C34の範囲に貼り付けて下さい。  尚、上記の場合にはセルの書式設定を標準にして下さい。  それからもし、どうしても >書式設定をユーザー定義「d」にして日のみを表示 にされたい場合には、B4セルの関数を =IF(ISERROR(($A$1&"/"&$A$2&"/"&ROWS(B$4:B4))+0),"",($A$1&"/"&$A$2&"/"&ROWS(B$4:B4))+0) に、C4セルの関数を =IF(ISNUMBER($B4),TEXT($B4,"aaa"),"") にして下さい。

faye963
質問者

お礼

日付がどのセルなのかわからないというところは、 すみませんセルじゃなくて手入力のつもりでした。。 ISERROR関数を知らなかったので参考になりました!ありがとうございました。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

ヒントだけネ。 [条件付き書式で]でフォント色を白に設定

faye963
質問者

お礼

そういうのもありですね! 参考になりました、ありがとうございました。

関連するQ&A