• 締切済み

エクセルで土日祝と水曜日を除く3日後の数値を表示させる方法はありますか

一年間の営業サイクル日カレンダーを作成するにあたり、項目Aには土日祝日を除く3日後の日付を表示、項目Bには土日祝日と水曜日を除いた3日後の数字を表示させたいのですが、項目Aはhttp://www.relief.jp/itnote/archives/001105.php を参照し、作成できたのですが、水曜日を除く方法が見つからず、苦戦しております。 上記の祝日を除く方法のように、別シートで水曜日のみの日付を一つ一つ書き出してリンクさせるなどの方法もあるかと思いますが、もう少し簡単にできる方法などありませんでしょうか。 ちなみにExcel2003を使用しています。 お知恵を拝借できれば幸いです。 よろしくお願いします。

みんなの回答

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.4

例えばE$1:E$30に祝日リストだとして... _____A_____B_____C___E_ 1___日付___項目A___項目B_2009/1/1_ 2_2/17(火)_2/20(金)_2/23(月)_2009/1/12_ 3_2/20(金)_2/25(水)_2/26(木)_2009/2/11_ 4_3/19(木)_3/25(水)_3/26(木)_2009/3/20_ ●祝日リストのとなりにさらに水曜日リストを追加して C2 =WORKDAY(A2,3,E$1:F$60) などと祝日リストの範囲を2列にするのが簡単だと思います。 祝日リストに名前定義をしているときは E$1:F$60を"祝日水リスト"などと別の名前で。 ●無理やり重い式でやるなら... B2 =WORKDAY(A2,3,E$1:E$30) 下方向・↓ A2の翌営業日、翌々営業日、翌々々営業日のどれかひとつが 水曜日なら、B2の翌営業日にする。 そうでなければB2と同じ。と考えて... C2 =WORKDAY(B2,(WEEKDAY(WORKDAY(A2,1,E$1:E$30))=4)+(WEEKDAY(WORKDAY(A2,2,E$1:E$30))=4)+(WEEKDAY(B2)=4),E$1:E$30) 下方向・↓...おすすめはできませんが。 ※余談ですが... B2の式の結果、本当に問題ありませんか? 【翌々々営業日】なら =WORKDAY(A2,3,E$1:E$30) で正しいのですが、 単純に【3日後が土日祝日ならその翌営業日】の場合は =WORKDAY(A2+2,1,E$1:E$30) となります。

ma0210
質問者

お礼

ご回答ありがとうございます。 やはり祝日と水曜日のリストを別に作成する方法が一番わかりやすいようですね。 一年間分の水曜日リストを作成するのはなかなか大変な作業ですが、面倒がらずにやってみようと思います。 ありがとうございました。

回答No.3

ユーザー定義関数を使う方法もありですね。 以下の過去ログにある No.3 の回答者さんが提示したユーザー定義関数 が、利用しやすいかと思います。 http://oshiete1.goo.ne.jp/qa3467869.html WORKDAY関数と同じように使うことができることと、曜日の指定が自由 に設定できますので、利用範囲が高いと思います。 関数を勉強したいとか、関数で処理したいのなら無理に薦めませんが、 アドインツールを利用するようなら同じようなことですから。 2行目の"1,4"だと水曜日と日曜日、祝日になりますが、"1,4,7"にすれば 土曜日も含むことができますので。  Const excptWD As String = "1,4,7"

ma0210
質問者

お礼

ご回答ありがとうございます。 使ってみることを試みたんですが、当方のスキル不足のため、使い方が途中からわからなくなってしまいました。 使いこなせると便利なようですね。

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

祝日を考慮せずに考えた場合 指定日が 月曜の場合・・・金曜日(+4) 火曜・水曜の場合・・・月曜日(+6・+5) 木曜の場合・・・火曜日(+5) 金曜~日曜の場合・・・木曜日(+6~+4) が目的の曜日となります WEEKDAY関数で本日の曜日を拾い出して INDEX関数で+する日数を選択 =日付+INDEX({4;6;5;5;6;5;4},WEEKDAY(日付,2)) とすると目的の日にちにはなります。 祝日がどんな形で参照されているのかが不明ですが、これに祝日を加味した計算式で修正すればよいのでは?

ma0210
質問者

お礼

ご回答ありがとうございます。 なるほど。これの数値を少し変えて近い形にはできましたが、これに祝日を加算した計算式にすることができませんでした。 私の説明が間違っていて申し訳なかったのですが、水曜日が休みのメーカーで、前日の納品が不可のため、その翌日の木曜日を飛ばす形になります。 月曜日・・・金曜日(+4) 火曜日・・・月曜日(+6) 水曜日・・・火曜日(+6) 木曜日・・・火曜日(+5) 金曜日・・・水曜日(+5) になります。 これで祝日を反映させる方法があればいいのですが、やり方がわかりません。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

WEEKDAY関数を利用されたら如何でしょうか。 =WEEKDAY(日付,2)とすると曜日を1~7の数値(月=1~日=7)として戻してくれます。詳しくはHELPを参照して下さい。 例えば、IF関数で「土日祝日を除く3日後の日付」が水(=3)ならば、日付を+1する数式を組み入れたら如何でしょうか。

ma0210
質問者

お礼

ご回答ありがとうございます。 エクセルに関しては初心者で、WEEKDAY関数をどのように数式に活用すればよいかわかりませんでした。 質問欄に初心者であるという明記をし忘れてしまい申し訳ないです。

関連するQ&A

  • エクセル 土日の場合はその前後を表示

    皆様、いつもありがとうございます。 エクセル(2003)での質問です。 例えばセルA1に8/21と表示してあり、セルB1にその3日後の営業日(8/24)を関数で表示させたい。 また、3日後の営業日が土日祝日の場合は翌月曜日の日付を表示させたいです。 【例】 H23.8.21 火曜日 → H23.8.24 金曜日 H23.8.22 水曜日 → H23.8.25 土曜日ではなく H23.8.27 月曜日を表示 宜しくお願いします。

  • 土日祝以外1で表す

    B2から下に、2005/4/18から1日ずつ増えて2005/12/31まで入力されています。 別シートにshukujitsuという名前をつけた祝日が入力されています。 C2から下は、左隣の日付が土日祝日以外なら1を表示する数式を入れたいのですが、 どういう数式を入れたらいいでしょうか?

  • 土日祝以外の日付表示方法について

    エクセルの表示方法を教えてください。 2008年2月3日 2008年3月3日 2008年4月3日 2008年5月3日 ・ ・ と5年間毎月3日を表示させたいたのですが、3日が土日祝日の場合は翌日、翌日が土日祝日の場合は翌々日を表示させたいです。 IF文の条件で1日づつ見ていき、表示させていましたが、GW等で5日程繰越が発生してしまい、うまく表示させる事が出来ませんでした。 どのようにすれば、うまく表示させる事が出来ますでしょうか? よろしくお願いいたします。 エクセルのバージョンは2000です。

  • 土日祝を自動で赤字表示する方法

    先程、Excelで日付・曜日を自動で表示させる方法を質問したのですが、 本当に何度もすみません、これが最後です。 土日祝にあたる日付と曜日を赤字で表示させなければいけないのですが 手で毎回赤字に変更するのは、大変面倒なので、 出来ればこれも自動でできないものかと思うのですが・・。 具体的には以下の通りです。 現在、Excelで以下を表示させています --------------------------- A1セル:年 A2セル:月 A3セル~A33セル:日付 B3セル~B33セル:曜日 --------------------------- A1セルは、年号を手入力 A2セルも、月を手入力 A3セル~A33セルは、以下の式を入力し、日付を自動表示 =IF(MONTH(DATE($A$1,$A$2,ROW()-2))=$A$2,TEXT(DATE($A$1,$A$2,ROW()-2),"m/d"),"") B3セル~B33セルは、以下の式を入力し、曜日を自動表示 =IF($A3<>"",MID("日月火水木金土",WEEKDAY($A3),1),"") 現在は、上記のような状態で、年月日と曜日を表示させているのですが、 土日祝を自動的に取得し、日付と曜日を赤字で表示されるようにする事は できますでしょうか? 祝日が無理なら土日だけでも赤字で自動表示させたいのですが・・。 よろしくお願いします。

  • Excel 日付の3日後を表示し土日は飛ばしたい

    Excel365です。 A1に「10/3(月)」と入っています ※書式(m/d(aaa))で表示 B1に、3日後の日付を表示したいです。 単純な数式だと「=A1+3」→「10/6(木)」と表示されます。 もし、3日後が土日の場合、その日を飛ばして表示することは可能でしょうか? <例> ・A1が「10/5(水)」の場合、3日後は「10/8(土)」の為、「10/10(月)」と表示。 ・A1が「10/6(木)」の場合も、3日後は「10/9(日)」の為、「10/10(月)」と表示。 ・「10/7(金)」の場合、土日は挟みますが、3日後は月曜日なので3日後の日付が表示される。 関数で可能でしょうか?

  • エクセル 平日と土日祝の時間計算表示

    下記のようなエクセルを作りたいのですが、 祝日の7月15日の土日祝残業が、平日の方に表示されてしまいます。 休日表は、別シートでSeet2のB2~E21に作成しています。 Aセルに、日付 Bセルに、始業時間 Cセルに、終業時間  Dセルに、休憩時間として、 Eセルに、実労時間  =C2-B2-D2 Fセルに、平日労働時間  =IF(OR(WEEKDAY(A2,2)>5,COUNTIF(sheet2!B$2:E$21,A2)),"",(E2)) Gセルに、土日祝労働時間  =IF((F2<>""),"",(E2)) Hセルに、平日残業時間  =IF(OR(WEEKDAY(A2,2)>5,COUNTIF(sheet2!$B$2:$E$2,A2)),"",(E2-TIME(8,0,0))) Iセルに、土日祝残業時間  =IF(OR(WEEKDAY(A2,2)<6,COUNTIF(sheet2!$B$2:$E$2,A2)),"",(E2-TIME(8,0,0))) を入れてみたのですが・・・ 祝日の残業時間のところがうまく表示されません。 (WEEKDAY(A2,2)<6 から COUNTIF(sheet2!$B$2:$E$2,A2) 除いた日を""にすれば よいのかなぁと試行錯誤しましたがうまくできませんでした。 そのような式を教えて頂けますか? もしくは他に適切な式があったら教えてください。 宜しくお願い申し上げます。

  • アウトルック2002での土日、祝日の表示

    アウトルック2002で土日祝日の日付の表示を土曜は青、日・祝日は赤色にしたいのですが、どうすればよいのでしょうか?

  • エクセル グラフ 土日を表示させたくない

    わかりにくい説明ですいませんが 今月だったら     A    B    C    D    E    F 1  日付  5/11  12  13  14  15 2  件数    5    3   4   6   3 で、土日の13,14を表示させたくないので列を削除して、     A    B     C    D   1  日付  5/11  12  15 2  件数    5    3   3 で、この表でグラフを作った時に13日14日のところが空白(0件)で表示されてしまいます。 土日を表示させたくない場合はどうすればいいでしょうか? よろしくお願い致します。

  • Excelで何日後かを出したいのですが

    いつもお世話になっています Win2000 Office2000です。 A1に日付を入れるとB1に何日後かを出すようにしたのですが、過去ログなどを見てもし機能的にどうにかなればと思い質問させて頂きました。 B1のセルには 「=A1+30」と入れ30日後が計算できるようにしてあります。ここでネックなのが30日後が土日祝日だった場合は前の平日に繰り上がることです。土曜日曜なら金曜日に、祝日ならその前日の平日にです。カウントする日数は土日も含むため、逆に条件付書式などで土日祝日の場合は色をつけるようにしたり、C1のセルに土日祝日だったらフラグが立つようにしたりとやり方が色々あるとは思いますが、できれば簡単にしたいので(条件付書式はメモリが少ないので避けたいんです。)もしよい方法をご存知でしたらご教授いただけたらと思います。 どうぞよろしくお願い致します。

  • エクセルで土日祝日を除く日付の表示方法は

    あるセルに「平成16年2月2日」と入力されており、この日付から14日以内の日付(土日、祝日を除く)を表示する方法は 表示例) 平成16年2月2日 平成16年2月3日 平成16年2月4日 平成16年2月5日 平成16年2月6日 平成16年2月9日 平成16年2月10日 平成16年2月12日 平成16年2月13日 出来れば最終的には一つのセルに表示したいです(希望)

専門家に質問してみよう