ここから本文です

Excelを使って、経過日数の管理をしたいです。

pan********さん

2016/9/101:39:45

Excelを使って、経過日数の管理をしたいです。

A1に受付日時、A2に仕上がり日時を入力して、その結果として A3にA1からA2にかかった日数を自動計算して表示させたいのですが、経過日数は営業日でカウントする(営業日にはカレンダーの土日祝に加えて店で決めた休みの日は含めない)、かつ15時以降に受付したものは翌営業日扱いにする

これを実行するための数式を教えてください

閲覧数:
92
回答数:
4
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

gru********さん

2016/9/108:53:22

「祝日と店で決めた休日」はまとめて一覧にしておけばいいです。

15時以降は (hour(A1)>=15) という論理値がTRUEになるので、起点は workday(A1, (hour(A1)>=15), 休み一覧) ですね。そこからA2までの稼働日数は

=networkdays(workday(A1, (hour(A1)>=15), 休み一覧), A2, 休み一覧)

となります。稼働日数ではなく経過日数だと、受付日は数えないのかな。でもその場合は15時以降云々が矛盾しますね。ちなみに仕上がってない場合はゼロにするためには、全体に isnumber(A2) をかけ算します。表示形式はゼロが消える # がおすすめ。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

mer********さん

2016/9/110:35:21

どのように入力するのか(時間と日は別?)不明なので、一応分かりやすくわけて書いておきます。

まず、土日祝日を含めずに日数を出すならNetworkdays関数ですが、もし店の休日が定期的に決まっている曜日(毎週水曜日など)ならNetWorkdays.intl関数を使います。
=NETWORKDAYS(受注日,仕上がり,祝日)
または
=NETWORKDAYS(受注日,仕上がり,定休曜日,祝日)

Excel2010:独自の定休日(土日以外)での稼働日を出す(NETWORKDAYS.INTL)
http://www.office-qa.com/Excel/ex235.htm

15:00以降次の日なら
IF(B2>=TIME(15,0,0),A2+1,A2)

画像貼っておきますね。

どのように入力するのか(時間と日は別?)不明なので、一応分かりやすくわけて書いておきます。...

mit********さん

2016/9/107:13:30

シート2のA列には今年の祝日と店で決めた休みの日を入力した表を作っておきます。
そのうえでA3セルには次の式を入力すればよいでしょう。

=IF(COUNT(A1:A2)<>2,"",NETWORKDAYS(IF(MOD(A1,1)>="15:00"*1,WORKDAY(A1,1,Sheet2!A:A),A1),A2,Sheet2!A:A))

なお、上の式では受付の日と仕上がりの日を経過日数に数えています。
考え方に合わせて上の式から1を引く、あるいは2を引くなどして使ってください。

heh********さん

2016/9/104:22:16

始めに言います。話せば長くなります。それほど複雑な処理です。
全自動化するには確実にVBAが必要となりますが、関数のみで行うなら、
http://fast-uploader.com/file/7028226790320/
にサンプルを置いてますのでどうぞご活用ください。
パスワードはsampleとなっています。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる