![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
初めて質問させていただきます。
Excelファイルで毎月お客様に送付状を作成しており、その送付状内に次月作業日程(何月何日何曜日)を載せて送付しております。
弊社は基本的に第1水曜日など曜日で定期日程を組んでいるお客様が多い状態です。
現在カレンダーと睨めっこしながら手入力しておりますが、自動表示したいです。
色々調べた結果
=DATE(YEAR(B2),MONTH(B2)+1,1)+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),2)+1
の数式を使うとできるようなのですが、この数式だと第一週の始まりが日曜日に限定されている?ようです。
例えば、今月2012年10月の送付状を作る時、来月の日程が第一土曜日の場合。
=DATE(YEAR(B2),MONTH(B2)+1,1)+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),2)+6
※B2には2012/10/8と記入されている。
と入力すると、11月10日と第二土曜日が入力されてしまいます。
この部分を11月3日と表記されるように数式を入力したいのです。
何かいい方法はありませんでしょうか?
分かりにくい文章ですいません。宜しくお願いします。
No.11ベストアンサー
- 回答日時:
質問の式を使うのはやめます。
これ、全部一般的にうまくいくように関数で表現するのは、面倒です。たとえば、5週目の曜日はうまく出ない。これを避けるのはできないこともないが、関数でやるのは生産的ではないでしょう。
で、第4週分、28曜日(4週目土曜日)までを出すことにして、それ以上は、保証しないとすれば、次式ではどうでしょう。
=IF(WEEKDAY(EOMONTH(B2,0)+1)>IF(MOD($C$1,7)=0,7,MOD($C$1,7)),EOMONTH(B2,0)+1-WEEKDAY(EOMONTH(B2,0)+1)+7+$C$1,EOMONTH(B2,0)+1-WEEKDAY(EOMONTH(B2,0)+1)+$C$1)
$C$1に曜日の数値を入れます。どこでも適当に決めるか、直接曜日を表す数値を入れても構わないが、4つありますね。
第1週 1~7
第2週 8~14
第3週 15~21
第4週 22~28
第5週 29~ やめといたほうがいい
okormazdさん
ありがとうございました!
こんなに短時間で解決できるとは。。。
皆さんのおかげです!
分かり易い回答ありがとうございました。
また何かありましたら、どうぞよろしくお願いいたします。
No.10
- 回答日時:
他の回答を読まずに回答してすみませんでした。
第n曜日は
=DATE(YEAR(B2),MONTH(B2)+1,8+(n-1)*7-WEEKDAY((YEAR(B2),MONTH(B2),A)))
但しAは
日曜日の時 7
月曜日の時 6
火曜日の時 5
水曜日の時 4
木曜日の時 3
金曜日の時 2
土曜日の時 1
jk7343tfgさん
ありがとうございます。
こんなにたくさんの方々に回答いただけると思いませんでした。
皆さん詳しいですね。羨ましい。
こちらの回答でもやりたい事ができました。
ありがとうございました!
No.9
- 回答日時:
来月の日程が第一土曜日の場合
=DATE(YEAR(B2),MONTH(B2)+1,8-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1)))
No.8
- 回答日時:
#3です。
曜日の指定をフレキシブルに行うため、B3に曜日の番号を入力しておくものとします。例:日曜="1"
=DATE(YEAR(B2),MONTH(B2)+1,1)
+IF(WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1)<=B3,
B3-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1),B3+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1))
何度もありがとうございました!
こちらでも出来ました。
ベストアンサーは二つ付けられないのですね。。。
同じくらいベストアンサーなのですが。。。
minosenninさんまた何かありましたら宜しくお願い致します!
No.7
- 回答日時:
B2セルに
2012/10/8
と入力されている場合において、2012/10/8は2012年10月の第2月曜日ですから、翌月の第2月曜日である2012/11/12を求める関数は次の様なものとなります。
=IF(ISNUMBER(1/DAY(B2)),DATE(YEAR(B2),MONTH(B2)+1,1)+MOD(WEEKDAY(B2,3)-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),3),7)+INT((DAY(B2)-1)/7)*7,"")
尚、この関数では、B2セルに第5○曜日の日付を入力した場合で、且つ、翌月に5週目のその曜日の日が存在しない場合には、翌々月の第1○曜日が表示される事になります。
また、例えば、2012年10月の第2月曜日を求める際に、
B1セルに「2012」といった西暦年数、
C1セルに「10」といった月を表す数、
D1セルに「2」といった第何番目の曜日かを表す数、
E1セルに「月」といった曜日
を入力するとしますと、目的の日付を求める関数は次の様なものとなります。
=IF(ISNUMBER((B1&"/"&C1&"/"&FIND(E1,"月火水木金土日"))+0),DATE(B1,C1,1)+MOD(FIND(E1,"月火水木金土日")-1-WEEKDAY(DATE(B1,C1,1),3),7)+(D1*7-7),"")
尚、上記の関数で、第5○曜日を求めようとした際に、その月には第5○曜日が無い場合には、翌月の第1○曜日が表示される事になります。
ありがとうございます。
こちらもすごい関数ですね。上手く利用できれば一番便利かもです。。。
ただ現状B2のセルには前月の作業日程日は入れていません。
送付状を送るお客様ごとの締日が入力されているため、その日付から年・月を読み取って来月の日程を自動で表示させたいです。
ただ、この関数も上手く使えるように検討してみます。
ありがとうございました。
No.6
- 回答日時:
#3です。
第一水曜日の表示はこんな感じでいかがでしょうか。=DATE(YEAR(B2),MONTH(B2)+1,1)
+IF(WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1)<=4,
4-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1),11-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1))
素晴らしいい!
ありがとうございます!
凄い知識ですね。。。
第一水曜日と第一土曜日の関数の違いの法則がわからないため、他の曜日の出し方が分かりません。。。
他の曜日はどのように出せば良いですか?
お忙しい中大変恐縮ですが、宜しくお願いします。
No.5
- 回答日時:
#3です。
曜日の形式を日曜始まりに変更すれば、もっと簡単になります。
=DATE(YEAR(B2),MONTH(B2)+1,1)
+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1)
minosenninさん
ありがとうございます!
第一土曜日は出来ました!
ただ、第一水曜日などに応用するため、
=DATE(YEAR(B2),MONTH(B2)+1,1)+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1)+4で試した所
B2のセルに2011/10/1と入れてみた所、11月9日の第2水曜日が表示されてしまいました。
種類を変えればいいのかと思い以下の式を入れてみましたが、=DATE(YEAR(B2),MONTH(B2)+1,1)
+7-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),13)+1
B2のセルに2011/05/01と入れた所2011年06月08日と表示されてしまいました。
何かうまい方法はございますでしょうか。
何度もすいません宜しくお願いします。
No.4
- 回答日時:
#1です。
たびたびすみません。B列にどのようなデータがあるのかわからないので。
土曜日でしたね。たぶん、
=DATE(YEAR(B2),MONTH(B2)+1,1)-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1)+7
ですかね。
okormazdさん
何度も返答ありがとうございます!
試した所出来ました。
ただ、これを第一月曜日などに応用する場合は
=DATE(YEAR(B2),MONTH(B2)+1,1)-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),1)+2ですかね。
試した所、前の月の末日が出てしまう場合があります。
どのような式を入れればいいですか?
たびたびすいません。
No.3
- 回答日時:
式を、1日が土曜日以前の場合と日曜日に分けて対応すればよいようです。
=DATE(YEAR(B2),MONTH(B2)+1,1)
+IF(WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),2)<7,
6-WEEKDAY(DATE(YEAR(B2),MONTH(B2)+1,1),2),6)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
エクセルで第2、第4土曜日を抽出する方法
Excel(エクセル)
-
エクセルの数式で第三水曜日に色を付ける
Excel(エクセル)
-
エクセルで毎月第2週日の水曜日に〇が表示される 関数の組み合わせを教えてくれませんか? 毎週水曜日な
Excel(エクセル)
-
-
4
第一、第三、土曜日のセルに条件付書式設定で色を付けたいのですが、そのよ
Excel(エクセル)
-
5
Excel 条件付き書式 第4月曜日のみ色塗りしたい
Excel(エクセル)
-
6
EXCEL 火曜日と金曜日だけを抜き出したい
Excel(エクセル)
-
7
Excelで予定表を作成中です。予定表に自動的に第1、3月曜に休日と入力したいのですが…
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
月の第一週とは
-
ユーザー定義の(aaa)
-
[Excel] ある日の曜日が当月の"...
-
よくある 『 第○(1・2・3・4・...
-
土曜日の26時って何曜日の何時...
-
毎週同じ曜日にラブホに行くと...
-
エクセルで毎月第2週日の水曜日...
-
Excel VBA 第〇△曜日の場合休日...
-
日本語問題 昨日は何曜日ですか...
-
thunderbird 送信日時の曜日表示
-
週2回のペースって だいたい何...
-
週に一日だけ、愛人が来る、と...
-
エクセルで 自動的に◯や数字を...
-
ExcelVbaファイルを.xls から ....
-
毎○曜日って、使いますか?
-
エクセルで相対パスの書き方を...
-
perl5について
-
apacheでPerl CGIが作動せず、5...
-
クライアントのIPとマシン名を...
-
アンケートなどの1日1回の投...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
月の第一週とは
-
週2回のペースって だいたい何...
-
エクセルで毎月第2週日の水曜日...
-
エクセルで 自動的に◯や数字を...
-
よくある 『 第○(1・2・3・4・...
-
毎○曜日って、使いますか?
-
VBA。複数のChangeイベントをま...
-
[Excel] ある日の曜日が当月の"...
-
毎週同じ曜日にラブホに行くと...
-
今週とは何曜日から何曜日まで...
-
Excelで第一〇曜日を求める方法...
-
曜日を求めるプログラムはどう...
-
曜日のなぞ
-
土曜日の26時って何曜日の何時...
-
第○曜日であるかを取得する関数
-
日本語問題 昨日は何曜日ですか...
-
一年の第何週目であるかを判断...
-
日付から曜日を求めたい
-
指定曜日にMsgBox表示は可能で...
-
Excel関数で当月の第一日曜日の...
おすすめ情報