Home>PCワンポイント活用術>エクセル(Excel)の活用術>コピペで使える数式【翌x曜日の日付を求める数式】

翌x曜日の日付を求める数式
Excel Version: Excel2007 Excel2003 Excel2002 Excel2000 Excel97 Excel95
 この数式は、次のx曜日(日〜土曜日)の日付を求める数式です。

● 数式
 下表中の式、“=TODAY()+……”をコピペしてお使いください。A2セルから順に日曜日〜土曜日の各曜日用です。
 下記の表は、A2〜A8セルに例として2006年12月16日(土)における翌日曜日〜翌土曜日の日付計算結果を表示しています。
  A となりのセル(A列)の内容
1 翌x曜日 上から順に日・月・火・水・木・金・土の各曜日用
2 2006/12/17 =TODAY()+7-WEEKDAY(TODAY(),1)+IF(WEEKDAY(TODAY(),1)<FIND("日","日月火水木金土",1),FIND("日","日月火水木金土",1)-7,FIND("日","日月火水木金土",1))
3 2006/12/18 =TODAY()+7-WEEKDAY(TODAY(),1)+IF(WEEKDAY(TODAY(),1)<FIND("月","日月火水木金土",1),FIND("月","日月火水木金土",1)-7,FIND("月","日月火水木金土",1))
4 2006/12/19 =TODAY()+7-WEEKDAY(TODAY(),1)+IF(WEEKDAY(TODAY(),1)<FIND("火","日月火水木金土",1),FIND("火","日月火水木金土",1)-7,FIND("火","日月火水木金土",1))
5 2006/12/20 =TODAY()+7-WEEKDAY(TODAY(),1)+IF(WEEKDAY(TODAY(),1)<FIND("水","日月火水木金土",1),FIND("水","日月火水木金土",1)-7,FIND("水","日月火水木金土",1))
6 2006/12/21 =TODAY()+7-WEEKDAY(TODAY(),1)+IF(WEEKDAY(TODAY(),1)<FIND("木","日月火水木金土",1),FIND("木","日月火水木金土",1)-7,FIND("木","日月火水木金土",1))
7 2006/12/22 =TODAY()+7-WEEKDAY(TODAY(),1)+IF(WEEKDAY(TODAY(),1)<FIND("金","日月火水木金土",1),FIND("金","日月火水木金土",1)-7,FIND("金","日月火水木金土",1))
8 2006/12/23 =TODAY()+7-WEEKDAY(TODAY(),1)+IF(WEEKDAY(TODAY(),1)<FIND("土","日月火水木金土",1),FIND("土","日月火水木金土",1)-7,FIND("土","日月火水木金土",1))

● 数式を組み立てられるようになりたい人のための解説
  翌火曜日の日付を求める式を例に説明しましょう
  A となりのセル(A列)の内容 解説
1 翌x曜日    
2 2006/12/19 =TODAY()+3 翌火曜日を求める式ということで考えてみましょう。
基本になるのはこの式。
“今日”が計算の起点になるので今日の日付をTODAY関数で発生させ、例えば今日(2006/12/16)が土曜日とすると、翌火曜日まで3日。
3 2006/12/19 =TODAY()+7-4 1週間(7日)から火曜日を起点に今日(土曜日)までの4日を引くという風に考えると残りの日数が計算できる。
4 2006/12/19 =TODAY()+7-WEEKDAY(TODAY(),1)+3 火曜日から今日(土曜日)までの日数(4日)をWEEKDAY関数を使って置き換える。
WEEKDAY関数で発生する数値の範囲を“1(日曜)〜7(土曜)の範囲の整数”で得る“1”にして使い、日曜〜土曜の日数として計算する。そこから更に日曜〜火曜分を加減して求める。
5 2006/12/19 =TODAY()+7-WEEKDAY(TODAY(),1)
+IF(WEEKDAY(TODAY(),1)<3,-4,3)
火曜日〜すべての今日(曜日)までの日数に対応するためには、火曜より前の曜日(3-7)と火曜以降の曜日(3)で加える数値が変わるので、IF関数で処理を切り替える。
6 2006/12/19 =TODAY()+7-WEEKDAY(TODAY(),1)
+IF(WEEKDAY(TODAY(),1)<FIND("火","日月火水木金土",1),FIND("火","日月火水木金土",1)-7,FIND("火","日月火水木金土",1))
処理の切り替えに使う火曜の“3”、火曜より前の曜日で加える“-4”、火曜以降の曜日で加える“3”をFIND関数を使って算出する形に変えると求める曜日の切り替えが分かりやすくなる。



Copyright© Ufuidotnet, 2003〜2011, all rights reserved. Excel翌x曜日の日付を求める数式counter