[[20220622082052]] 『カレンダーで出勤日数を出したい』(ゆきみ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『カレンダーで出勤日数を出したい』(ゆきみ)

またまた質問をさせてください。
宜しくお願いいたします。
下記のとおりカレンダーを作成しているのですが、土日祝日と会社指定日を除く出勤日数を出したいのですが上手くできません。

2023年1月分の縦型カレンダーを作成しています。
B5に2023年、C5に1月と入力しています。

A7セルに1(日)=IF(MONTH(DATE($B$5,$C$5,ROW()-6))<>$C$5,"",DATE($B$5,$C$5,ROW()-6))
A8セルに2(月)=IF(MONTH(DATE($B$5,$C$5,ROW()-6))<>$C$5,"",DATE($B$5,$C$5,ROW()-6))と31日(A37セル)まで入っており、

B7〜B37セルには別シートの「祝日」から読み込んだ祝日と更に別シートの「会社休日」から読み込んだ会社独自の休日を入れています。
=IF(IFERROR(VLOOKUP(A9,祝日!$A$2:$B$18,2,FALSE),"")<>"",VLOOKUP(A9,祝日!$A$2:$B$18,2,FALSE),VLOOKUP(A9,会社休日!$A$2:$B$9,2,FALSE))

C38セルに出勤日数を出したいのですが、どのようにしたら良いのかご教授頂けないでしょうか。
現状
=NETWORKDAYS(A7, A37, 祝日!A2:A18)しか辿り着いていません…

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 =NETWORKDAYS(A7, A37, 祝日!A2:A18)-COUNTIFS(会社休日!A2:A9,">="&A7,会社休日!A2:A9,"<="&A37)
 ではどうだろうか?
 COUNTIFS関数で開始日から終了日の間の会社休日の個数を数えている。
(ねむねむ) 2022/06/22(水) 09:07

 >=NETWORKDAYS(A7, A37, 祝日!A2:A18) 
 小の月、つまり A37が「""」の時、この式だったらエラーになりませんか?

 ついでに・・・
 A列とB列も、前回質問の「助言」は参考にならなかったようですが
 B列がその式だったら、結局 #N/A になるのでは?

 A列の式は、前回回答の他に
 A7 =IF(COUNT(B5:C5)<2,"",DATE(B5,C5,1))
 A8 =IF(A7="","",IF(MONTH(A7+1)=$C$5,A7+1,""))
 A8をA37まで下コピー、でも

 以上、「助言」まで
(笑) 2022/06/22(水) 10:27

ねむねむ様・笑様

ご教授ありがとうございました。
両者のパターンとも出来ました!
(笑様の前回のご教授も今回のご教授もやってみました)

ただ何れの式も2月や4月等31日まで無い月は#VALUE!になってしまうので、
エラーを出さない方法も教えて頂けないでしょうか。

度々の不躾な問で申し訳ありませんがどうぞ宜しくお願いいたします。
(ゆきみ) 2022/06/22(水) 11:00


 >ただ何れの式も
「何れの式」というのが何と何を指しているのかわかりませんが・・・
 祝日と会社休日は日付が重複することはないのなら

 =IF(A7="","",NETWORKDAYS(A7,EOMONTH(A7,0),祝日!A2:A18)-COUNTIFS(会社休日!A2:A9,">="&A7,会社休日!A2:A9,"<="&EOMONTH(A7,0)))
                             ~~~~~~~~~~~~~                                                                 ~~~~~~~~~~~~~~
 祝日と会社休日は 1つのシートにまとめた方がいいと思います。

 以上
(笑) 2022/06/22(水) 11:34

笑様

ご返信ありがとうございます。

文章を間違えていました。
何れの式もではなく、ねむねむ様に教えて頂いた

 =NETWORKDAYS(A7, A37, 祝日!A2:A18)-COUNTIFS(会社休日!A2:A9,">="&A7,会社休日!A2:A9,"<="&A37)
とすると、2月や4月等31日まで無い月は#VALUE!になってしまうということでした。
この点、再度エラーにならない方法をご教授頂けますか。

なお、笑様の祝日と会社休日は 1つのシートにまとめた方がいいと思います。というご提案ですが、
土日は青色、祝日は紫色、会社休日はピンク色という具合に色分けしていまして、
条件付き書式で
土日=WEEKDAY($A7)=1および=WEEKDAY($A7)=7
祝日=COUNTIF(祝日!$A$2:$B$18,$B7)=1
会社休日=COUNTIF(会社休日!$A$2:$B$7,$B7)
としていまして、祝日と会社休日を別シートにしないと条件付き書式で色分け管理ができないものと認識しております。
同シートでも色分け管理出来るものなのでしょうか…
この点も教えて頂けましたら助かります。

(ゆきみ) 2022/06/22(水) 12:10


 祝日と会社休日で、祝日シートの範囲を分ければいいのでは?

 例)祝日シート
 A2:A20 → 祝日の日付
 A21:A30 → 会社休日の日付
 ※A2:A30 に文字列を入力しないように!

 1)条件付き書式
     土日:=WEEKDAY($A7,2)>5
     祝日:=AND($A7<>"",COUNTIF(祝日!$A$2:$A$20,$A7))
   会社休日:=AND($A7<>"",COUNTIF(祝日!$A$21:$A$30,$A7))

   ※COUNTIFの範囲は祝日シートの A列だけ(B列は必要なし)
    ※検索値は $A7

    検索値を $B7 にするのなら
      祝日:=AND($B7<>"",COUNTIF(祝日!$B$2:$B$20,$B7))
   会社休日:=AND($B7<>"",COUNTIF(祝日!$B$21:$B$30,$B7))

 2)出勤日数
    C38 =IF(A7="","",NETWORKDAYS(A7,EOMONTH(A7,0),祝日!A2:A30))

 3)B列
   B7 =IFERROR(VLOOKUP(A7,祝日!$A$2:$B$30,2,FALSE),"")
   下コピー

 以上
(笑) 2022/06/22(水) 13:04

笑様

ありがとうございました!
12月まで綺麗に完成しました。

これで来年以降カレンダー作成の時間を大幅削減できるようになります。
本当に助かりました。
(ゆきみ) 2022/06/22(水) 16:22


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.