• ベストアンサー

エクセル 関数 当月月末の直前営業日を日付で表示

関連の関数で下記までは調べられました。 月末の日付を表示  =EOMONTH(TODAY(),0) 土日祝を除く直前の営業日を表示 =WORKDAY(today(),+1,$D$1:$D$18) 当月月末で直前営業日を日付で表示したい場合の方法 どうぞよろしくお願いします。

  • gyauc
  • お礼率70% (22/31)

質問者が選んだベストアンサー

  • ベストアンサー
  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.3

興味がある内容でしたので既に回答されているお二方の意見を参考に色々と確かめていておかしな点を発見しましたのでご報告まで。 (ひょっとしたら当然の内容なのかもしれませんが) 「直前営業日」を額面どおり月末日より前(月末日は含まない)営業日と捉えるのか、最終営業日と捉えるのかで式が変わってきてしまう。 ANo2さんの情報をもとに =WORKDAY(EOMONTH(TODAY(), 0), -1, $D$1:$D$18) とすると、ANo2さんの回答どおり6/27が返る。 ここで、ANo1さんの言われている月末日も含めた「最終営業日」を求めようと =WORKDAY(EOMONTH(TODAY(), 0), 0, $D$1:$D$18) とすると6/30が返る。 これは一見正しいのだが、テストとして$D$1:$D$18の祭日リストに6/30を入れても、祝日をカウントせず6/30を返してしまう。 そこで =WORKDAY(EOMONTH(TODAY(), 0) + 1, -1, $D$1:$D$18) とすると きちんと6/27日を返すようになる。 どうもWORKDAY関数は開始日当日を含める場合は日数に0を指定するのではなく、翌日から1日前(もしくは前日から1日後)としなければいけないようです。

gyauc
質問者

お礼

大変参考になりました、有難うございました。また機会がございました節もよろしくおねがいします。

その他の回答 (3)

回答No.4

Masa2072さん曰く、 > ここで、ANo1さんの言われている月末日も含めた「最終営業日」を求めようと > =WORKDAY(EOMONTH(TODAY(), 0), 0, $D$1:$D$18) > とすると6/30が返る。 そう、workday関数には0日って指定しちゃダメ。土日祝日関係な く当日が帰ってくる。だって、翌営業日を返すのか前営業日を返す のか進行方向が特定できないでしょ。だから私の回答では「翌月1日 の1営業日前」って回避してます。

gyauc
質問者

お礼

有難うございました参考にさせていただきます。

回答No.2

「月末の直前営業日」ってのは、今月でいうと27日ってことのよう な気がしますが、質問文ではtoday(),+1,と普通は「翌営業日」と 呼ばれる日を出してますねぇ。 workday関数の第二引数が-1であればちゃんと1営業日前を指します から、素直に今月末の1営業日前でいいんですよ。 もちろん、月の最後の営業日なら翌月1日の1営業日前でオッケー。

gyauc
質問者

お礼

有難うございました参考にさせていただきます。

  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.1

アドインで分析ツールを組み込めば、EOMONTH関数、WORKDAY関数が使えますが、そうでなければ通常は組み込まれていない関数です。WORKDAY関数は休日を除いて+N日後の日付を求める関数ですから、あまり今回は意味がないと思います。 「当月月末で直前営業日」とは、「当月の最終営業日」ということですよね。そういうことであれば、月末の日付が営業日にあたらなければ、1日前はどうか、それでも当たらなければその1日前というようにIF関数を使って調べるしかないかと思います。その際、多分$D$1:$D$18に休日の一覧があるのでしょうから、MATCH関数を使って該当があるかどうかで判定すればいいかと思います。

gyauc
質問者

お礼

有難うございました参考にさせていただきます。

関連するQ&A

  • excelで日付の関数・・・

    すごく初心者的な質問ですみません。 excelで日付関数を使いこなせなくて困っています。色々ネットで調べたり、本を見たりしましたが、出来なくて。。。 ある列に入力した日付(例えば2004/2/19とか・・)の 10日後の日にちを別のセルに出したいのです。 それはいとも簡単にできるんですが(当り前か??) その10日後ってゆうのが曲者で、10日後が、土日祝にあたる場合は月曜日若しくは祝日の翌日の日にちが入るように指定したいのです! ちなみにWORKDAY 関数だと、10日間カウントするにも土日祝を抜いて計算 してしまいますよね??? 皆さんならどうやって処理されますか???? 明日、処理したいのですみませんが早めにご回答お願いいたします!

  • Excel関数で当月の第一日曜日の日付を表示したい

    Excel関数で当月の第一日曜日の日付を表示したいです。 例えば2009年7月の第一日曜日は7月5日です。 このように当月の第一日曜日の日付を○月○日のように 文字列で表示させる関数を教えてください。 ちなみに、同シート内には当月の開始日を入力しています。 以上宜しくお願い致します。

  • EXCELの日付を自動的に表示する関数は?

    TODAY関数を使うと、土日明けの表示がうまくいかない(例えば前日の日計表を当日の朝作成するときに日計表に前日「月曜日の朝に作成するなら金曜日の日付」の日付を表示したいのに、どうやって関数をかんがえればいいのかわかりません。いい方法があったら教えてください。

  • 最終営業日がうまく算出されません

    最終営業日を算出するために、以下のように関数を使用しています。 -------------------------------------------------- H1:月初の日付を入力 ⇒2009/5/1 H2:下記の関数で月末を求める    =EOMONTH(H1,0) ⇒2009/5/31 H3:下記の関数で最終営業日の1日前を求める    =WORKDAY(H2,-1,data!D1:D36) ここでH3には、今月の最終営業日は5/29なので5/28と求められて 欲しいのですが、5/29と求められてしまいます。 同様に最終営業日から2日前、5日前と他のセルで求めてたりして いますが、同様に1日ずれてしまっています。  2日前:=WORKDAY(H2,-2,data!D1:D36)  5日前:=WORKDAY(H4,-2,data!D1:D36)  ※H4に上の2日前の値を求めようとしています H5に最終営業日を一応求めるために下記のように関数を使い5/29と求められています。  =WORKDAY(EOMONTH(H2,0)+1,-1,data!D1:D36) WORKDAY関数の使い方が悪いのか、数式自体が間違っているのか 分からなくなってしまい困っております。 間違っている部分など、ご教示いただけませんでしょうか。 よろしくお願い致します。

  • 日付に関する関数

    すいません。教えてください。 A2に =WORKDAY($A1,1,休日マスター!$C$1:$C$30) の算式を入れ A1に、9/20 を入力し土日祝でなければ、A2へ9/20を返し 土日祝であれば、次の平日を表示したいのですが 上記算式ですと9/20が平日であっても常に9/21をかえします。       A     B     C 1    9/20 2 根本的に使用する関数が間違っているのか、算式が誤っているのか?

  • エクセルの日付についてご指導お願いします

    関数を使用し、以下2点の自動計算は可能でしょうか。可能であればご伝承をなにとぞお願い致します。 特定の日付がA1に入力されています。 【1】A1から45日後の月の月末日。(例:A1が11/1の場合、12/31) 【2】A1から45日後の月の二十日。但し45日後が当月二十一日など二十日を経過していれば、次月の二十日となる。(例:A1が11/1の場合、12/20。 A1が11/10の場合、1/20) なお、[分析ツール]アドインに含まれる関数EOMONTH関数等の使用をせずにお願い致します。

  • Excel 3ヶ月決算の決算日の表示

    Excel2002です。 3ヶ月決算(3・6・9・12月)の決算日の表示について教えて下さい。 決算日(15日)が休日であれば翌営業日が決算日となります。 毎月決算であれば、 =WORKDAY(TEXT(TODAY(),"y年m月")&"14日",1,祭日!祭日) となりますが、 当月が 1~3月なら    3月の決算日 4~6月なら    6月の決算日 7~9月なら    9月の決算日 10~12月なら   12月の決算日 と表示させたいので =IF(TEXT(TODAY(),"m")<=3,WORKDAY(TEXT(TODAY(),"y年")&"3月"&"14日",1,祭日!祭日),IF(TEXT(TODAY(),"m")<=6,WORKDAY(TEXT(TODAY(),"y年")&"6月"&"14日",1,祭日!祭日),IF(TEXT(TODAY(),"m")<=9,WORKDAY(TEXT(TODAY(),"y年")&"9月"&"14日",1,祭日!祭日),WORKDAY(TEXT(TODAY(),"y年")&"12月"&"14日",1,祭日!祭日)))) としました。 今日は4月ですので今回の決算日を平成20年6月16日と表示させたいのですが、 結果は平成20年12月15日となり、うまく行きません。 何処がどう間違っているのか分かりません。 何卒よろしくご教授下さい。

  • エクセルの日付関数

    エクセルの日付関数 申し訳ありませんが、教えてください。 1ヵ月後の同じ日(2010/9/10 であれば 2010/10/10)と、 1ヵ月後の月末(2010/9/30 であれば 2010/10/31)を表示させる関数を教えてください。

  • エクセル 目的の日付の算出

    目的の日付を算出したいのですが・・・ WORKDAY関数では土曜日が休日とされますよね?! 日曜だけを休日としたいのですが。 何か良い方法を教えて下さい。 例えば、 2008年4月1日の4営業日後= WORKDAY関数では 4/7 となりますが 4/5 となるような設定

  • エクセルでn稼働日後の日付を表示

    使用しているエクセルのバージョンは2003です。 n稼働日後の日付を表示したいのですが、 土日が稼働日だったり、平日で休みの日があったりする 場合を考えたいので、WORKDAYが使えません。 皆様、知恵を貸していただけないでしょうか。

専門家に質問してみよう