
No.2ベストアンサー
- 回答日時:
こんばんは!
画像の配置通りだと
祝日を考慮しない場合は
E2セルに
=SUMPRODUCT((WEEKDAY(A$2:A$1000,2)<6)*(HOUR(A$2:A$1000)=ROW(A1)-1))
H2セルに
=SUMPRODUCT((A$2:A$1000>0)*(WEEKDAY(A$2:A$1000,2)>5)*(HOUR(A$2:A$1000)=ROW(A1)-1))
という数式を入れフィルハンドルで下へコピーしてみてください。
祝日を考慮する場合は結構厄介なので、作業用の列を1列設けてみてはどうでしょうか?
Sheet2のA列に祝日データがシリアル値で作成してあるとします。
作業列B2セルに
=IF(A2<>"",(WEEKDAY(A2,2)>5)+(COUNTIF(Sheet2!A:A,INT(A2))),"")
という数式を入れこれ以上データはない!というくらいまで下へコピーしておきます。
E2セルに
=SUMPRODUCT((A$2:A$1000>0)*(B$2:B$1000=0)*(HOUR(A$2:A$1000)=ROW(A1)-1))
H2セルに
=SUMPRODUCT((A$2:A$1000>0)*(B$2:B$1000>0)*(HOUR(A$2:A$1000)=ROW(A1)-1))
という数式を入れフィルハンドルで下へコピー!
※ セル範囲を指定する場合は文字列セル(項目行など)は範囲に入れないようにしてください。
(SUMPRODUCT関数で範囲内に文字列セルがあるとエラーになります)
※ 作業列が目障りであれば、遠く離れた列にするか
非表示にしてください。m(_ _)m
ありがとうございます!!!
教えてもらった関数は、9割理解できませんが、
カウントできました。
祝日については、明日職場で試してみます。
本当にありがとうございます。助かりました。
No.5
- 回答日時:
マクロで作ってみました。
6万行で2秒位で完了です。☆ 事前準備
私のHP( https://luckshp.web.fc2.com/index.html )から「holiday_list.zip」をダウンロードして解凍して得られた「祝日一覧.csv」をこのマクロを書き込んだファイルと同じフォルダに置いて下さい。
※ レイアウトが違うと誤動作します
☆ コード
Sub Sample()
Dim 祝日データ As String
Dim 日付 As Date
Dim 祝日名 As String
Dim 表 As Variant
Dim 位置 As Long
Dim 行 As Long
Dim 横 As Long
Dim 祝日 As Object
Range("E2:E25,H2:H25").ClearContents
Set 祝日 = CreateObject("Scripting.Dictionary")
Open ThisWorkbook.Path & "\祝日一覧.csv" For Input As #1
Do Until EOF(1)
Line Input #1, 祝日データ
日付 = CDate(Left(祝日データ, 10))
祝日名 = Mid(祝日データ, 12)
If 祝日.Exists(日付) = False Then 祝日.Add 日付, 祝日名
Loop
Close #1
表 = Range(Cells(2, 4), Cells(25, 8))
For 行 = 2 To Cells(Rows.Count, 1).End(xlUp).Row
日付 = Int(Cells(行, 1).Value)
位置 = Format(Cells(行, 1).Value, "h") + 1
If 祝日.Exists(日付) Then
表(位置, 2) = 表(位置, 2) + 1
Else
If 日付 Mod 7 <= 1 Then
表(位置, 5) = 表(位置, 5) + 1
Else
表(位置, 2) = 表(位置, 2) + 1
End If
End If
Next
Range(Cells(2, 4), Cells(25, 8)) = 表
Set 祝日 = Nothing
End Sub
No.4
- 回答日時:
マクロ(VBA)を使っても良いですか?
なお祝日データですが、私のHPに置いてありますので必要ならダウンロードして下さい
URL「 https://luckshp.web.fc2.com/index.html 」の左側にある「祝日名一覧」からダウンロードして下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- Excel(エクセル) 【Excel関数、count系】どなたか教示下さると助かります。 Excelでシフトを管理しており、 2 2022/07/09 06:34
- その他(Microsoft Office) 【スプレッドシート】白色のセルをカウントしたい 2 2023/02/24 07:39
- アルバイト・パート バイトの応募をしたら希望時間帯、希望曜日、勤務日数を聞かれたのですが、 返信はこれで問題ないでしょう 2 2023/02/06 20:24
- Excel(エクセル) エクセルで当番表を作成したいです。 1 2023/08/09 19:53
- Visual Basic(VBA) 日付の計算方法 2 2022/07/01 23:35
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) Excelの関数で可能でしょうか、日付や式の値の自動更新 4 2023/05/19 17:17
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】列を折りたたみ非表...
-
9月17日でサービス終了らし...
-
【マクロ】アクティブセルの時...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルの循環参照、?
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報