• 締切済み

エクセル日付関数について

TODAY関数よりもとめた月日からその月の土・日・祭を 除いた月の初日(平日)をもとめたいのです。 (例) 16年8月1日から31日までファイルを開いた場合 平成16年8月の場合は、平成16年8月2日となるよう 宜しくお願いします。

みんなの回答

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.5

No.3です。 No.4の方の考え方を利用すると(11/3もありますが)、 =TODAY()-DAY(TODAY())+1+CHOOSE(WEEKDAY(TODAY()-DAY(TODAY())+1),1,0,0,0,0,0,2+(MONTH(TODAY())=5)*3+(MONTH(TODAY())=11)-(MONTH(TODAY())=1))+(MONTH(TODAY())=1) が、現在の祝日を全て含めた数式になります。 もちろん、祝日法が改正されるたびに数式を修正する必要がありますが。 No.3で紹介したページに祝日に関する情報へのリンクがあるので、参考にして下さい。

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.4

基本的に月初に祭日が絡む可能性がある場合は、1月(月初は常に祭日) or 5月(1日が土曜の場合のみ) なので月初の平日はWEEKDAY関数で求め、1月・5月のみパターン化されたほうが簡単かと思います。 通常月の場合 =TODAY()-DAY(TODAY())+1+((WEEKDAY(TODAY()-DAY(TODAY())+1,2))>6)*(8-(WEEKDAY(TODAY()-DAY(TODAY())+1,2)))

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 WORKDAY関数というのがあります。 ただし、この関数を使用するには、メニューの[ツール]→[アドイン]の[分析ツール]にチェックを入れる必要があります。 使用方法は、 =WORKDAY(TODAY()-DAY(TODAY()),1) となります。 また、第3引数に祝日一覧を指定することが出来ます。 例えば、A1:A3に、 「2004/5/3」「2004/5/4」「2004/5/5」 と5月の祝日を入れておき、 =WORKDAY(TODAY()-DAY(TODAY()),1,A1:A3) とすれば、今日が5月なら、結果は「2004/5/6」になります。 詳細は、ヘルプを参照して下さい。 あと、アドインソフトも一応紹介しておきます。 ここの「kt関数アドイン(Ver2.90)」です。 http://www.h3.dion.ne.jp/%7Esakatsu/

参考URL:
http://www.h3.dion.ne.jp/%7Esakatsu/
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

ユーザー関数をつくりました。 Function shonichi(a) dd = a d = DateSerial(Year(dd), Month(dd), 1) If Weekday(d) = 1 Then d = d + 1 ElseIf Weekday(d) = 7 Then d = d + 2 End If '---- shuku = Array(#1/1/2004#, #1/2/2004#, #1/3/2004#, #5/1/2004#, #5/2/2004# _ , #5/3/2004#, #5/4/2004#, #5/5/2004#, #11/3/2004#) For i = 0 To UBound(shuku) If d = shuku(i) Then d = d + 1 End If Next i If Weekday(d) = 1 Then d = d + 1 ElseIf Weekday(d) = 7 Then d = d + 2 End If shonichi = d End Function (データ) 2004/1/5  2004/1/5 2004/2/6  2004/2/2 2004/3/9  2004/3/1 2004/4/10 2004/4/1 2004/5/12  2004/5/6 2004/6/13  2004/6/1 2004/7/15  2004/7/1 2004/8/16  2004/8/2 2004/9/17  2004/9/1 2004/10/19 2004/10/1 2004/11/20 2004/11/1 2004/12/22 2004/12/1 (関数) B1に=shonichi(A1)と入れ、B2以下に複写する。 (結果)上記のとおり。 毎年祝日の見直し必要。

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

WEEKDAY関数で曜日が1~7の数字で取得できるので、 Date(2000,8,1)の曜日によって日付を適宜プラスすれば土日以外は求められるでしょう。 ただ、祝日は関数が用意されていませんので、祝日データベースを自前で用意しておいて、上記で求めた日付が祝日の場合はさらに1日プラスする必要があります。 振替休日や国民の休日にも注意してください。 http://koyomi.vis.ne.jp/ 頑張ってください(^o^)丿

参考URL:
http://koyomi.vis.ne.jp/

関連するQ&A