- ベストアンサー
エクセルで日数計算をしたい
すみません、どうしてもわからないので教えて下さい。 エクセルで開始日から終了日までが何日かを関数を使用して計算したいのです。例えば開始日1/1、終了日1/17だとしたら、答えが17日という具合です。 ただし、予め作成してある休日リストにある日付が開始日と終了日の間に含まれていた場合、それを除外した日数を出したいのですが、どのような計算式にしたらよいでしょうか? 会社の定休日などが決っていれば、NETWORKDAYS.INTL関数を使用してできるのはわかったのですが、曜日指定がない場合の関数がどうしても見つけられませんでした。 どなたかお力を貸していただければ嬉しいです。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
「=開始日セル-終了日セル+1-COUNTIFS(休日リストにある日付範囲絶対参照,">="&開始日,休日リストにある日付範囲絶対参照,"<="&終了日)」
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
>会社の定休日などが決っていれば、NETWORKDAYS.INTL関数を使用してできるのはわかったのですが、曜日指定がない場合の関数がどうしても見つけられませんでした。 「予め作成してある休日リストにある日付」と言うことなのでNETWORKDAYS.INTL関数を使えば算出できます。 =NETWORKDAYS.INTL("2016/1/1","2016/1/17","0000000",[休日リスト]) "0000000"は週休無しです。 不定期の休日は[休日リスト]へすべてを羅列する必要があります。
お礼
回答ありがとうございました。 上記の式をコピペして入れてみたのですが、うまくいきませんでした。 でも、考えていただき大変ありがたく思っております。
- msMike
- ベストアンサー率20% (364/1804)
=NETWORKDAYS.INTL(開始日,終了日,"0000000",休日リスト) 会社の休日(創立記念日、年末年始等)は「休日リスト」(祝日)に追加しておきます。
お礼
回答ありがとうございました。 上記の式でやってみたのですが、うまくいきませんでした。 でも、考えていただいて感謝しています。
- catpow
- ベストアンサー率24% (620/2527)
そういう関数を私は知りません。たぶん無いんじゃないでしょうか? 私が会社の勤務表を処理するプログラム作成を依頼されたときは、エクセルVBAを使ってプログラミングしました。
お礼
回答ありがとうございます。 開始日セルと終了日セルを入れ替えたら答えたでました! この計算をするのにかなり時間を費やしていたので大変助かりました。 ありがとうございました。