• 締切済み

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

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/17068)
回答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

  • エクセルで日付け

    TODAY関数ですと、月日が入力されますが、日にちだけ自動的に表示される関数教えてください。(例)11/21を21だけ自動表示したい。

  • エクセルでのTODAY関数

     TODAY関数は、そのファイルを読み込んだ日を自動的に表示させるものだと思うのですが、たとえば、平成19年1月21日にファイルを開いたとすると、その日付が設定した箇所に自動的に入力されます。  したがって、同じファイルを後日開くとその日付は、その後日、たとえb、平成19年2月1日に開くとその日付が入力されてしまいます。  たとえば、シートのある箇所の設定を シート1 契約書の契約日として、そのファイル読み込み日(ファイルを開いた日)を自動入力。ただし、日付の更新はしない。上記読み込み日に固定。 シート2 報告書の契約日として、シート1の日付を自動入力。入力日はシート1の入力日と同じこともあれば、違う日のこともある。 というような設定にするには、TODAY関数をどうカスタマイズすればいいのでしょうか。 表計算、関数、マクロはあまり得意ではありません。特にマクロはやったことがありません。よろしくお願いします。

  • Excel 関数日付

    平成27年12月 1日→2015/12/1 平成27年4月 1日→2015/4/1 平成26年5月 19日→2014/5/19 関数で変換の仕方を教えてください。

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

     日付関数について先ほども質問した者ですが、再度よろしくおねがいします。  生年月日から学年(例:小6)を表示する式を組みたく、サイトを検索していたら、下記のような式がありました。 =DATE(YEAR(TODAY())-(MONTH(TODAY())<=3)*1,4,1) これは、今日現在で学年を導く基準年の4月1日を表示する式です。(今日2009/1/4現在ならば2008/4/1と表示する式) この式が理解できません。DATEと後の”,4,1”は理解できます。 YEAR(TODAY())は2009 MONTH(TODAY())は1 (MONTH(TODAY())<=3)の意味は? 多分3月までなら2009-1を表示する? だけど2月になったら2009-2 ではおかしい。 あと*1は構文上必要なのか? 以上雑駁ですが、この式を簡単に説明してくださる方、おねがいします。

  • エクセルの関数について

    DATE関数について教えてください。 エクセルで、シート1のA1セルにTODAY関数で本日の日付が入るようにセットし、 A2にVLOOKでシート2よりコメントを引き込むように設定しています。 シート2はA列に1月1日から12月31日まで順に並べ、B列にコメントを入れた 表になっています。 ここで質問なのですが、A1やシート2の日付はすべて2008年が入ってしまい、 A1セルが2009年になってしまうと、シート2から引き込まなくなってしまいます。 これを回避するために、A1とシート2ともに年を省き 月日のみで永続的に引き込みが出来るようにしたいのですが、 DATE関数などを利用して可能でしょうか? よろしくお願いします。

  • エクセルの関数

    エクセルで、A1に平成○年×月△日とあるのを、平成○+1年×月△日と出す式を教えてください。うるう年でも日付がずれないものをお願いします。 例:平成19年9月1日→平成20年9月1日

  • Excelの関数について。

    いつもお世話になっております。 Excelの関数について教えて下さい。 実は、 "この資料は平成17年11月1日現在のものです。" という文を作りたく、日付の所は、「TODAY」を 使用したいと思っています。 これを一つのセルの中だけで作りたいのですが、やりかたが分かりません。 一応過去の質問を見てみたのですが、よく分かりませんでした。 皆様お忙しいと思いますが、教えて下さい。 宜しくお願いします。

  • エクセルの日付関数について教えてください。

    エクセルの日付関数について教えてください。 上司から、データの修正をかけたごとの表を提出するようにいわれています。 エクセルのToday関数ですと、ファイルを開いた日付に変更されてしまうので 困っています。 ファイルを開いただけでは変更されず、内容を更新したときだけ、その処理日が表示されるような 関数があれば教えてください。 ひとつのファイルに何枚かのシートがあるので できればシートごとにできればよいのですが 無理でしたら、別ファイルを作ります。 よろしくお願いします。

  • Excel 関数を使って曜日を自動的に出したい

    Excel関数を使って曜日を自動的に出るようにしたいです。 通常 10月1日 木 10月2日 金 10月3日 土 ・ ・ と表示したい場合、CHOOSE関数とWEEKDAY関数を使って 曜日を自動的に出すやり方はわかるのですが、 月と連動させて表示をさせたい (例) 10月 ← ★ここに「月」を入力すると ★その月に準じた日数が自動的に出てきて・・・ (10月なら31日まで、11月なら30日までというように) ↓ 1日 木 ←★さらに曜日も自動的に出る 2日 金 3日 土 という仕組みにしたいです。 どのように作ればよいでしょうか? わかりづらく申し訳ございませんが お知恵を貸してくださいm(_ _)m

  • エクセルの関数でこんなこと・・・

    office20002です エクセルで 1年間のカレンダーがあります 別に 講習の報告書が 数十件あります (1件あたり 1シートづつ) カレンダーの 講習予定する日に(数日間連続で)それぞれの講習名を アルファベットで(例:Aが連続で日数分)データ入力します。すると 報告書に自動的に 講習初日と最終日 を入力できるようにしたいのですが しかも 形式は  平成何年何月何日 ~ 平成何月何日実習しました となるよおにしたいのですが 関数を使ってできないでしょうか

専門家に質問してみよう