教えて!しごとの先生
教えて!しごとの先生
  • 解決済み

Excel初心者です 日当たりの仕事の依頼数を昼勤と夜勤それぞれ何件ずつか カレンダーのような表にしたいとき

Excel初心者です 日当たりの仕事の依頼数を昼勤と夜勤それぞれ何件ずつか カレンダーのような表にしたいときどうしたらよいでしょうか?(依頼内容等はどうでもよく、昼夜それぞれの依頼件数のみをカレンダーにしたい。”カレンダーに”というのはその形が一番見やすいかと思っただけなのでもっといいのあったらそれでもいいです) 材料としては、過去の依頼データの表はありますが、1件ずつ依頼別に分けて表になっています。 (B2 依頼日(列のタイトル),B3~B○○に「2023/4/3 8:20:00」 のような書き方で依頼日時がズラーっと書いてある感じです) 昼勤の定義はAM4:46~PM17:15、PM17:16~AM4:45を夜勤とします 作成するにあたって足りないことがあれば初心者でもわかる聞き方で聞いていただけると嬉しいです。

続きを読む

75閲覧

回答(1件)

  • ベストアンサー

    マクロでよろしければ。。。 こんな感じでしょうか。 Option Explicit Sub sample() Dim i As Long, j As Long Dim minR As Long, maxR As Long Dim dat1, dat2, ary1(), ary2() Dim wb As Workbook, ws As Worksheet Application.ScreenUpdating = False dat1 = Range("B3:B" & Cells(Rows.Count, "B").End(xlUp).Row) dat2 = Range("B3:D" & Cells(Rows.Count, "B").End(xlUp).Row) For i = 1 To UBound(dat2) dat2(i, 2) = CLng(Int(dat2(i, 1))) dat2(i, 3) = dat2(i, 1) - dat2(i, 2) ReDim Preserve ary1(i - 1) ary1(i - 1) = dat2(i, 2) Next Set wb = Workbooks.Add Set ws = wb.Sheets(1) j = 1 minR = WorksheetFunction.Min(ary1) maxR = WorksheetFunction.Max(ary1) For i = minR To maxR j = j + 1 ws.Cells(j, 2) = i ReDim Preserve ary2(j - 2) ary2(j - 2) = i ws.Cells(j, 3) = Format(i, "aaa") Next For i = 1 To UBound(dat2) j = WorksheetFunction.Match(dat2(i, 2), ary2, 0) If dat2(i, 3) > #4:45:59 AM# And dat2(i, 3) < #5:15:01 PM# Then ws.Cells(j + 1, 4) = ws.Cells(j + 1, 4) + 1 ElseIf dat2(i, 3) < #4:45:01 AM# Then ws.Cells(j, 5) = ws.Cells(j, 5) + 1 Else ws.Cells(j + 1, 5) = ws.Cells(j + 1, 5) + 1 End If Next ws.Cells(1, 2) = "日付" ws.Cells(1, 3) = "曜日" ws.Cells(1, 4) = "昼勤" ws.Cells(1, 5) = "夜勤" ws.Columns(2).NumberFormatLocal = "yyyy/mm/dd" ws.Columns(2).ColumnWidth = 13 ws.Columns(3).ColumnWidth = 5 ws.Columns(3).HorizontalAlignment = xlCenter ws.Rows(1).HorizontalAlignment = xlCenter ws.Range("B1").CurrentRegion.Borders.LineStyle = xlContinuous Set ws = Nothing Set wb = Nothing Application.ScreenUpdating = True End Sub << 参考までに >> ① メニュー「開発」-「Visual Basic」 ② 「挿入」-「標準モジュール」 ③ コードの貼付け << 使い方 >> ① メニュー「開発」-「マクロ」 ② 「sample」-「実行」

    なるほど:1

    ありがとう:1

< 質問に関する求人 >

初心者(東京都)

この条件の求人をもっと見る

< 平日勤務で週末はリフレッシュしたい人におすすめ >

正社員×土日祝休み(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

    「#夜勤がある」に関連する企業

    ※ 企業のタグは投稿されたクチコミを元に付与されています。

    < いつもと違うしごとも見てみませんか? >

    覆面調査に関する求人(東京都)

    この条件の求人をもっと見る

    Q&A閲覧数ランキング

    カテゴリ: 仕事効率化、ノウハウ

    転職エージェント求人数ランキング

    • 1

      続きを見る

    • 2

      続きを見る

    • 3

      続きを見る

    あわせて読みたい
    スタンバイプラスロゴ

    他の質問を探す

    答えが見つからない場合は、質問してみよう!

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

    スタンバイ アプリでカンタン あなたにあった仕事見つかる