• ベストアンサー

エクセルで回数を指定して出勤表を作りたい

e10goの回答

  • ベストアンサー
  • e10go
  • ベストアンサー率38% (47/122)
回答No.4

こんばんわ。 長文になります。 >カレンダーは出来れば1行1週間で5行のものが理想です。 つまり、こういうカレンダーですね。 (行),A列,B列,C列,D列,E列,F列,G列 (1),2006年,1月 (2),日曜日,月曜日,火曜日,水曜日,木曜日,金曜日,土曜日 (3),1,2,3,4,5,6,7 (4),8,9,10,11,12,13,14 (5),15,16,17,18,19,20,21 (6),22,23,24,25,26,27,28 (7),29,30,31,-,-,-,- ( - は、空白) 上のカレンダーの日付の下に、「1班,2班,3班」と出勤日をいれる計算式を使った方法を考えました。 また、西暦と月を変えて使用できるようにしました。 下のような表示になります。 (行),A列,B列,C列,D列,E列,F列,G列 (1),2006年,1月 (2),日曜日,月曜日,火曜日,水曜日,木曜日,金曜日,土曜日 (3),1,2,3,4,5,6,7 (4),-,1班,2班,3班,1班,2班,- (5),8,9,10,11,12,13,14 (6),-,3班,1班,2班,3班,1班,- (7),15,16,17,18,19,20,21 (8),-,2班,3班,1班,2班,3班,- (9),22,23,24,25,26,27,28 (10),-,1班,2班,3班,1班,2班,- (11),29,30,31,-,-,-,- (12),-,3班,1班,-,-,-,- なお、出勤日日数を調整するため、A17~A36に、非出勤日を設定できるようにしています。 つまり、例として、A17に「11」を入れると、「11日」の下は空白になり、次の「12日」の下が「2班」になります。 下に、各セルの設定と、入力を載せました。 表示形式 A1=「0年」,B1=「0月」 入力 A1「2006」(今年の年号を、数値で入れる) B1「1~12」(表示月を、数値で入れる) C1(式を入れる) =WEEKDAY(DATEVALUE($A1&"/"&$B1&"/"&1)) D1(式を入れる)、 =DAY(DATEVALUE($A1&"/"&$B1+IF($B1=12,-1,1)&"/1")-1) A2~G2「日曜日,月曜日~土曜日」(各曜日を入れる) A3(式を入れる) =IF($C1=COLUMN(),1,"") B3~G3(全て選択して、B3に式を入れて、[Ctrl]+[Enter]) =IF($C1=COLUMN(),1,IF($C1<COLUMN(),A3+1,"")) A5,A7,A9(全て選択して、A5に式を入れて、[Ctrl]+[Enter]) =G3+1 B5~G5,B7~G7,B9~G9(全て選択して、B5に式を入れて、[Ctrl]+[Enter]) =A5+1 A11(式を入れる) =IF(G9+1<=$D1,G9+1,"") B11~G11,B13~G13(全て選択して、B11に式を入れて、[Ctrl]+[Enter]) =IF(A11="","",IF(A11+1<=$D1,A11+1,"")) A13(式を入れる) =IF(G11="","",IF(G11+1<=$D1,G11+1,"")) B4~F4,B6~G6,B8~F8,B10~F10,B12~F12,B14~F14(全て選択して、B4に式を入れて、[Ctrl]+[Enter]) =IF(OR(B3="",COUNTIF($A$17:$A$36,B3)),"",IF(COUNTIF($B$2:$F2,"1班")+COUNTIF($A4:A4,"1班")=COUNTIF($B$2:$F2,"3班")+COUNTIF($A4:A4,"3班"),"1班",IF(COUNTIF($B$2:$F2,"2班")+COUNTIF($A4:A4,"2班")=COUNTIF($B$2:F2,"3班")+COUNTIF($A4:A4,"3班"),"2班","3班"))) A16「非出勤日」(入力) C16「出勤日」(入力) B17~E17「1班,2班,3班,計」(入力) B18~D18(全て選択して、B18に式を入れて、[Ctrl]+[Enter]) =COUNTIF($B$4:$F$14,"1班") E18(式を入れる) =SUM(B18:D18)

関連するQ&A

  • 出勤表を作りたいのです。

    写真のように年月日と曜日を付けて、出勤日に丸をつけて出勤表を作ってます。 年月を入力すると日付と曜日が切り替わるように設定してありますが(DATEとTEXTの関数を使ってます)、これに連動して出勤日のセルに丸が自動でつくようにしたいです。 ・月~金の出勤者 ・毎週金曜の出勤者 ・月初金曜のみの出勤者 関数でなんとかしたいです。方法を教えてください。お願いします。

  • エクセルの計算式について

    エクセルで勤務表を作っているのですが、曜日の所で困っています。 以下の条件ですので、よろしければ計算式を教えてください (1)-(1)A3からA33?に日付を入力する欄として、例とすると「9月26日始まり、10月25日締め」などの条件になるようにする。日付を入力する欄には、月・曜日は表示されないように書式を設定する。 (1)-(2)日付欄には26から31、1から25を入力する(31日まで必ず入力する。31日の下からは1日になるようにする。) (2)A1に年度を入力し(2007などと入力)、A2に月を入力する(例として10月なら10と)。 (3)各月ごとの「土日」には条件書式として「灰色」に塗りつぶされるように設定する。 (4)各年度、各月が変わると自動でその月の「土日」が灰色に塗りつぶされるようにする。 わかりにくいと思いますがよろしくお願いします。

  • Excelでの集計表の作り方

    Excelで1ヶ月の集計表を作っていますがどうしてもわからない事があります。まず縦に1ヶ月分の日付を入れて横に純売上(B列)と消費税(C列)と総売上(D列)の表を作りました。日付は月を入力すると自動で変わる様にして月末も30日までの月は最後のセルも空白になる様に、土日祝は曜日の文字の色も変わります。その後が問題なんですが、曜日毎の集計を自動計算するだけならSUMIF関数ですぐに出来るんですが日祝の合計を1つのセルに集計させたいんです。月によって祝日の曜日も変わりますしどうしてもその方法がわかりません。説明が下手で申し訳ありませんがわかる方がいればお願いします。

  • エクセルで表を作りたいです。

    出勤表を作りたいので、エクセルシートに年月を入力したら日付、曜日が出るようにしたいです。また、月~金まで出勤する人、毎週金曜だけ出勤する人、月初の金曜だけ出勤する人に合わせて◯が自動でつくようにしたいのですが、どうしたらいいのでしょうか?

  • エクセルで悩んでいます

    Sheet1のA1に西暦(2008)B1に月(9月) B3~AF3まで日付(固定)その下の行に曜日表示(月を変えると自動で変わります)A5~A22まで個人名(固定)が入っています、そして B5~B22迄(出勤・欠勤)などその日の出勤状況が入ります(手入力) CDE~同じようにその日の出勤状況が入ります この(出勤・欠勤)等の状況を他のシートに移したいです。 Sheet3に通常のカレンダー(壁に掛かってるような)のような表示があります A33(日曜日)B33が空白セルでC33が(月曜日)D33が空白セルの様に空白を挟み土曜日まで続いています、そして34行目~38行目までは曜日の下に日付けが表示されています。シート1の(月)を変更すると日付けが自動で変わります(曜日は固定) その日にちの脇にある空白セルにシート1の(出勤・欠勤)等の表示を 自動で表示させたです(カレンダーは個人別に人数分作ってあります)月を変えると日にちがずれてしまいますので(カレンダーとして使うなら問題ないのですが、月別の出勤状況を解るようにしたいので どうしていいか解りません。 ちなみにシート1は出勤簿でシート3は個人別の給料明細です。 給料明細の中に小さなカレンダーを作り出勤状況を解るように出来ないか考えています。空白セルに手入力も出来るのですが、時間が掛かり過ぎるので・・・VBAなどは解らないので簡単な関数などで出来ればと思います。 解りにくい説明で申し訳ありませんが、お願いします。

  • エクセルで、指定曜日を表示させる関数、及び方法をお教えください。

    エクセルで、指定曜日を表示させる関数、及び方法をお教えください。 Aさん  10/22~10/28  "□" 第4日曜日 Bさん  10/29~11/04  "□"  Cさん  11/05~11/11  "□" 第2水曜日 上記例でのご説明です。 "○さん"の指定された期間内に、任意に指定した曜日が含まれる場合、 上記例では"□"中に4を入れると"第4日曜日"を、2を入れると"第2 水曜日"を表示するように作っています。  …が、現在"□"内はカレンダーを見ながら、手入力しています。 "□"を自動入力できる関数なり方法を考えてみましたが、妙案が 見つかりません。 良案がございましたら、お教えいただきたいと思います。  指定曜日は、随時変更になります。指定曜日を変更できる 方法でお願いいたします。  期間計算は、日曜日から土曜日までを自動計算させています。 たとえば"Aさん"の担当日は、表面では見えない別セルで、すべての 日を計算させて、曜日も算出させています。そのセル郡よりデータを 抽出することも可能です。

  • エクセルで給料計算(残業)

    お世話になります。 表計算については殆んど無知なのですが、何とかパートさんの給料計算を楽にそして確実にできないものかと、こちらのサイトや本などを調べて自分なりに作ってみたものがあります。 1つのシートに出勤簿と給料明細を作り、出勤簿に出社時間と退社時間を入力すれば、総出勤日数や時間、支給額などが計算され、自動で給料明細に入力されるというものです。 なんとかそれで今までやってこれたのですが、今月から残業時間も発生することになりました。 ややこしいことに時給が、 ●平日1000円・土日祝1300円 ●平日17:00を超えるものは1300円・土日祝は残業しても1300円 となっています。 1| A | B |C |  D   |  E   |F | G|  H   | 2|日付|曜日|☆|出社時間|退社時間|★|×|勤務時間| 3|   |   |  |       |       |  |  |       | 4|   |   |  |       |       |  |  |       | ※Cはその月の全ての土日祝に☆をつけます。 ※Fはパートさんが出勤した土日祝だけに★をつけます。 私なりに残業代も出せる計算式を考えた結果、 =IF(C3="☆",H3*1300,IF(H3="","",IF(H3<7,H3*1000,IF(H3>=7,(H3-7)*(1000*1.3)+7*1000)))) という恐ろしく長いものになってしまいました・・。もうどういう思考回路でこんなものができあがったのか、自分でも思い出せません。 この式には問題が2つあります。 (1)土日祝に出勤している場合はきちんと計算されるが、出勤していない(空白)と#VALUE!と出てしまう。 (2)この計算式では「7時間を超えるものは」として作っていますが、必ずしもそうではない状況も起こりうるということ。(9:00~17:00の勤務ならこの式でいけるのですが、10:00~17:00勤務のパートさんが残業する場合、この式に当てはまらなくなってしまいます。) 随分と長くややこしい説明になってしまいましたが、私がお聞きしたいのは、 ■出勤していない土日祝に#VALUE!がでないようにしたい。 ■「7時間を越えるものは・・」という条件でなく、「17:00を超えるものは・・」という条件にしたい。 以上を満たした計算式はできないものか?ということです。 よろしければ、力をお貸し下さい。何卒、よろしくお願いします。

  • エクセルで出勤表から出勤者の名前を出したいのですが。

    エクセルで出勤表から出勤者の名前を出したいのですが。 介護施設に勤務しています。A~E(職員名とする)までの5人が勤務しているとします。今ここに、縦がA~E、横が月日のエクセルの表(表1とする)があるとします。 仮に6月1日はA,B,Cの3人が出勤で表の該当セルに○が入力されています。6月2日はB,D,Eが出勤で同様に○が入力されています。こんな感じで月末までの勤務表が出来ているとします。 ここで別のシートに「今日の出勤者」として当日の出勤者を表(表2)に出したいと思っています。 私が望んでいるのは、表1の希望の月日をクリック、もしくは入力すると、自動で表2のセルにその日の出勤者だけの名前が返せればいいのですが・・・。 本日の出勤者として本部に名前入りの表をあげないといけなく、これまでは表1から該当日の○を数えては、その職員名を手書きで書いて送っていました。この煩雑な作業を効率化したいと思っています。 よろしくご教授お願いいたします。

  • エクセルで土日列の非表示方法を教えて下さい

    各シートに各月の暦を作成しています。 B5に月の1日を入力すると横列C5D5・・・に 1日、2日・・・31日まで自動的に日にちが入るようにしています。 また、その下のB6の行に曜日が出るようにしていますが、 土日の列幅を0(非表示)にしたいのですが、方法を教えてください。 よろしく、お願いいたします。

  • EXCELで休日出勤を計算する

    お世話になります。 知恵をお貸しいただければ幸いです。 EXCELでひと月ごとのの出勤報告書を作っています。 そこで、休日(土、日、祝)出勤手当てを支払われる日が何日あるかを自動表示させようとしています。 今のシートの構成は A列:日付(2008/9/1の形で入力し、「1」のように表示 A5:A35) B列:曜日(A列から参照し、表示形式でaaaとし「月」のように表示) C列:休日(仕方なく手入力で「休」と入れている) D列:休日出勤したか判定(=IF(OR((C5>0)*(E5>0)),"休出","")C列とE列とも入力された場合に休日出勤とし「休出」と表示) E列:出勤した日はその日の仕事内容を入力 D列の最下部で「休出」が何回あるかカウント(=COUNTIF(D5:D35,"休出")) 祝日は関数が無いので、祝日一覧を作り該当する日付から祝日を割り出すのは分かったのですが。 =IF(WEEKDAY(A5)=1,"休","")&IF(WEEKDAY(A5)=7,"休","") よろしくお願いします。