• ベストアンサー

EXCEL:WORKDAY関数の使い方

EXCELで祝日リストを用意し、WORKDAY関数で開始日から何日後の日付をを表示したいと考えています。 しかし、この関数では土日を休日としているため、年に数回のみの土曜営業日(もしくは日曜営業日)をまたぐ日付表示はうまくいきません。 祝日リスト(休業日)とは反対の意味になりますが、別シートに土曜営業日リストを用意してその日を営業日として計算に含む方法はありませんでしょうか? 関数では不可能でVBAで可能であれば、VBAでも構いませんのでどうかEXCELの知識のある方よろしくお願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

以下のページの「特別出勤日に対応させる」の欄にご希望のWorkday関数に相当する配列数式が紹介されています。 http://www.geocities.jp/chiquilin_site/data/110724_workday.html#C01

rightlight
質問者

お礼

MackyNo1さまご回答ありがとうございます。 お教えいただいたWebページを参考にして 私のやりたかったことが可能となりました。 本当にありがとうございました。

その他の回答 (1)

回答No.1

A列の日付に対する休日判定: =IF(ISNA(VLOOKUP($A1,Holiday!$A$1:$B$30,2,FALSE)),IF(WEEKDAY($A1,2)>5,"H",""),IF(VLOOKUP($A1,Holiday!$A$1:$B$30,2,FALSE)="","H","")) Holidayシート: ここに例外勤務日を同居させる。最後に付け足す。B列にマーク。(空白以外:例えばW) A列に祝日(振替え休日になる場合はそちら)を列挙、(土)と重なるものがあっても問題ない。 1月2日(月) 1月9日(月) 2月11日(土) 3月20日(火) 4月30日(月) 5月3日(木) 5月4日(金) 5月5日(土) 7月16日(月) 9月17日(月) 9月22日(土) 10月8日(月) 11月3日(土) 11月23日(金) 12月24日(月) 2012/1/7 (土) W 2012/12/29 (土) W

rightlight
質問者

補足

ご回答ありがとうございます。 また、返答が遅くなってすいませんでした。 お教え頂いた数式はA1セルに入力した日付が営業日かどうか判定する為の数式ということでよろしいでしょうか? もしくは、JazzCorp様が教えて頂いた数式の内容を私がまったく理解できていないのだと思います。 今回、私は、workday関数と祝日リストを使って、 何日後の営業日を表示させたいのですが、 この関数を利用して例えば、 2012/1/6(金)を含む3営業日後は 2012/1/9(月)が成人の日ですので 2012/1/11(水)と表示することまではできたのですが、 例えば今年に限って2012/1/7 (土)も営業日であれば 3営業日後は2012/1/11(水)ではなく2012/1/10(火)となるのですが、 現在の私の知識では2012/1/10(火)と表示させる数式を作ることができません。 (特定の土日営業日をあらかじめリスト化しているとして) 何とかうまく表示させる方法はありませんでしょうか? よろしくお願いします。

関連するQ&A

  • Workday関数のような感じで・・・

    先日、VBAでのWorkday関数の使い方について教えて頂いたのですが これだと土日は自動的に省かれてしまう(省いてくれる?)ということに 今になって気がつきました。 土日が稼働日の場合もあるため Workday関数で祭日を指定する時のような感じでリストを作成し リストに書いてある日付はすべて、曜日に関わらず休日とみなす というような処理の方法はありますでしょうか? よろしくお願いします。

  • workday関数

    workday関数を使って、営業日を表示させようとしています。 2006/11/27の3営業日後は 2006/11/29と表示されますが、 2006/11/29の3営業日後は 2006/12/1ではなく2006/12/4と表示されます。 どうやら金曜日が入ると、土日を含んでいるように 思うのですが、どうなんでしょうか?

  • Excel 2ヶ月後の日付(土日祝日の場合は、直後の平日)

    Excel2007 指定日から1ヶ月後の日付(土日祝日の場合は、直後の平日)の出し方を教えてください。 WORKDAY関数では、できないのです。 よろしくお願いします。

  • EXCEL VBAでWORKDAY関数を使用したい

    こんにちは。 タイトルの通りなのですが シート関数でのWORKDAY関数はうまく使用できるのですが VBAで同じような処理をするにはどうすればいいでしょうか? 例えば、開始日→A1、日数→A2、休日→F1:F10の場合 A3にその値を表示させたい場合 Range("A3")=workday(A1,A2,F1:F10) ではうまく行きません。 [ツール]-[アドイン]の分析ツールと分析ツール-VBAの チェックは付いています。 宜しくお願いします。

  • 【Excel】日付に関する関数について

    はじめまして。初めて投稿いたします。 下記、わかる方いらっしゃいましたら教えていただきたいです。 指定の2つの日付があります。(日付①、日付②とします) 日付②が、日付①の週の日曜〜土曜の7日間におさまっているかをチェックする関数が知りたいです。 例えば、 指定の日付: ①2024/3/7 ②2024/3/18 ①の週にある日曜(3/3)〜土曜(3/9)に、②の日付がおさまっているかを調べる効率の良い関数はないでしょうか。 (この場合、おさまっていないので×と表示させたいです) もう一つの例 指定の日付: ①2024/3/3 ②2024/3/9 この場合は②が①の週の日曜〜土曜におさまっているので◯と表示させたいです。 関数は必ずしも1つにまとめる必要はなく、何段階になっても構いません。 Excelが得意な方々ご教示よろしくお願いいたしますm(__)m

  • WORKDAY関数で日曜日だけを休日扱いにしたい。

    物流関連の仕事をしています。 例えば、関東から北海道への移動の場合、 出荷日から2日後に商品が到着します。 しかし、2日後が日曜日の時は、倉庫が休日 なので、翌日の月曜日に到着します。 WORKDAY関数だと、土曜日も休日として扱われて しまいます。 日曜日だけを休日扱いの出来る書式を知っている方 はいませんか? よろしくお願いします。

  • EXCEL関数の質問です。A列に2010/10/1という日付が並んだ表

    EXCEL関数の質問です。A列に2010/10/1という日付が並んだ表。土日と祝日の日はB列に「休」と返す関数を作成したいです。 土日だけ「休」と返す関数は作成できますが、祝日を追加できません。 =IF(OR(WEEKDAY(A1,1)=7,WEEKDAY(A1,1)=1),"休","") 今このように作成しています。恐らく祝日の一覧を別シートに設けないといけないと思うのですが・・・ ご助力お願いします

  • excelで日付の関数・・・

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

  • Excel2002 休日の入力を禁止したい

    A1に任意の日付を入力して、B1に2営業日後の日付を表示させます。 シート2は「休日カレンダー」という名前にし、 A1からT20まで数年分の休日の一覧がのっています。 休日を避けた営業日のみ表示する為に B1には以下のような関数があって問題なく営業日のみ表示されています。 =WORKDAY(A1,2,休日カレンダー!A1:T20) ここでA1も休日の場合入力出来ないようにしたいのです。 希望としては任意の日付を直接A1に入力して それが休日だった場合翌営業日にしたいのですが 休日カレンダーを利用して入力規制で「リストに乗った日付が選択された場合は エラーメッセージが表示される」でも構いません。 何か方法はあるでしょうか。

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

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

専門家に質問してみよう