Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2013)
workday関数ではできません。
投稿日時: 19/07/09 14:51:55
投稿者: moon light

配送日を自動で入れる数式を作っているのですが、前提として「原則発注日から2日後に配送」、「土日は配送しないし、受付もしない」「連休があった場合は連休明けに配送」です。
 
下記の式の「L4」に発注日を入れていますが、TODAY関数で今日の日付を自動で入れる予定です。
 
=IF(COUNTIF(_2019年休日一覧,IF(WEEKDAY(L4,1)=5,L4+4,IF(WEEKDAY(L4,1)=6,L4+3,L4+2))),IF(WEEKDAY(L4,1)=5,L4+4,IF(WEEKDAY(L4,1)=6,L4+3,L4+2))+1,IF(WEEKDAY(L4,1)=5,L4+4,IF(WEEKDAY(L4,1)=6,L4+3,L4+2)))
 
上記の式の場合、7/11や7/12に発注した場合、自動的に7/16配送の日付が出てくれますが、連休が長い場合(今年の5月の連休や今後8月の夏季休暇、年末年始休暇など)は、正しい日にちになってくれません。例えば連休前の4/26を発注日にした場合、4/30が配送日になってしまいます。勿論「_20019年休日一覧」には、4/30や5/1,5/2等を入れていますし、5/5の代休5/6も入れています。
 
かといって単純にWORKDAY関数を使うと、5/7でなく5/8を配送日にしてしまいます(発注日から2日後配送だから)。ifで分岐させてみましたが、これで出来たと思ったら、12/27を発注日にすると、31日を配送日にしてしまいます。勿論「年末年始休暇」として、12/30,31日,1/2,1/3等は登録しています。
=IF(COUNTIF(_2019年祝日・休日一覧,WORKDAY(L4,2,_2019年休日一覧)-1)=0,WORKDAY(L4,2,_2019年休日一覧)-1,WORKDAY(L4,2,_2019年祝日・休日一覧))
 
 
自分で色々試してみましたがお手上げです。どの様に式を書けばうまく配送日を設定できるのか、お助けください。。

回答
投稿日時: 19/07/09 16:02:04
投稿者: んなっと

必ず以下のような具体例を添えて質問してください。
 
      L     M        N
 3   本日   2日後 _2019年休日一覧
 4 3/19(火) 3/22(金)     1/1(火)
 5 3/20(水) 3/25(月)     1/14(月)
 6 4/23(火) 4/25(木)     2/11(月)
 7 4/24(水) 4/26(金)     3/21(木)
 8 4/25(木)  5/7(火)     4/29(月)
 9 4/26(金)  5/7(火)     4/30(火)
10  5/7(火)  5/9(木)     5/1(水)
11  5/8(水) 5/10(金)     5/2(木)
12  5/9(木) 5/13(月)     5/3(金)
13 5/10(金) 5/13(月)     5/4(土)
14 5/13(月) 5/15(水)     5/5(日)
15               5/6(月)
16               7/15(月)
17               8/11(日)
18               8/12(月)
19               9/16(月)
20               9/23(月)
21              10/14(月)
22              10/22(火)
23               11/3(日)
24               11/4(月)
25              11/23(土)
 
M4
=WORKDAY(L4,1+(WORKDAY(L4,1,_2019年休日一覧)<=L4+2),_2019年休日一覧)
下方向・↓

投稿日時: 19/07/09 16:32:18
投稿者: moon light

失礼しました。追記します。
 
 
休日一覧は別シート
 
        _2019年休日一覧
2019/1/1  元日        
2019/1/14 成人の日    
2019/2/11 建国記念の日    
2019/3/21 春分の日    
2019/4/29 昭和の日    
2019/4/30 国民の休日    
2019/5/1 新天皇即位の日    
2019/5/2 国民の休日    
2019/5/3 憲法記念日    
2019/5/4 みどりの日    
2019/5/5 こどもの日    
2019/5/6 振替休日
2019/7/15 海の日        
2019/8/11 山の日        
2019/8/12 振替休日
2019/9/16 敬老の日    
2019/9/23 秋分の日    
2019/10/14 体育の日    
2019/10/22 即位礼正殿の儀    
2019/11/3 文化の日    
2019/11/4 振替休日
2019/11/23 勤労感謝の日    
2020/1/1  元日
2019/8/12 夏季休暇    
2019/8/13
2019/8/14
2019/8/15
2019/8/16
2019/12/29 年末年始休暇    
2019/12/30
2019/12/31
2020/1/2
2020/1/3
----------
ここまでが登録されている休日一覧
        
 
入力用シート
 
 
L1
L2
L3
L4 本日
L5 配送日(原則営業日2日後配送。但し、土日は受付も配送も無い為木金の
注文はどちらも月曜配送。連休の場合は連休明けでは、金曜日でも一日は
足さない)
 
 
以下の様な結果になる数式を作りたいのです。
 
  発注日  配送日
  L4    L5
 4/4(木)  4/8(月)
 4/5(金)  4/8(月)
 4/23(火) 4/25(木)     
 4/24(水) 4/26(金)    
 4/25(木)  5/7(火)    
 4/26(金)  5/7(火)    
  5/7(火)  5/9(木)    
  5/8(水) 5/10(金)    
   5/9(木)  5/13(月)     
  5/10(金)  5/13(月)     
  5/13(月)  5/15(水) 
 
   7/1(月)  7/3(水)
  7/11(木) 7/16(火)
 7/12(金) 7/16(火)
  8/8(木) 8/19(月)
  8/9(金) 8/19(月)
 
  12/26(木) 1/6(月)
  12/27(金) 1/6(月)
 
連休を挟んだ時がややこしくなります。よろしくご教示ください

回答
投稿日時: 19/07/09 16:55:21
投稿者: Suzu

んなっと さん の提示された式では希望の通りになりませんか?
 
8/8、8/9 の 求めたいデータ 8/19 であっていますか? 8/16でなくて?
 
土日計算で混乱するのであれば 始めから休日カレンダーに土日も含んでしまえば?

投稿日時: 19/07/09 17:10:21
投稿者: moon light

んなっとさん Suzuさん
 
ありがとうございました。できあがりました。そして勉強になりました。
 
Suzuさん
 
土日を休日一覧に含めるという手もありますね。参考に致します。
本当にお世話になりました。

投稿日時: 19/07/09 17:19:28
投稿者: moon light

解決済みです。すっきりとわかり易い数式のご指示、ありがとうございました。