
初めて質問させていただきます。
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Excel(エクセル) 至急です><Excelの関数を教えてください。 2 2022/03/22 17:56
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Visual Basic(VBA) 【再投稿】VBAのシフト表でバグが出て困っています 3 2022/09/24 08:29
- Excel(エクセル) エクセルでカレンダーを作りたい 5 2023/05/16 07:32
- Visual Basic(VBA) ExcelのVBAでシフト表を作っていますが、バグが出て困っています 2 2022/09/13 11:33
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで毎月第2週日の水曜日に〇が表示される 関数の組み合わせを教えてくれませんか? 毎週水曜日な
Excel(エクセル)
-
エクセルの数式で第三水曜日に色を付ける
Excel(エクセル)
-
Excelで予定表を作成中です。予定表に自動的に第1、3月曜に休日と入力したいのですが…
Excel(エクセル)
-
-
4
エクセルで毎月第一木曜日の日付のみを表示したい
Excel(エクセル)
-
5
第一、第三、土曜日のセルに条件付書式設定で色を付けたいのですが、そのよ
Excel(エクセル)
-
6
エクセルで第2、第4土曜日を抽出する方法
Excel(エクセル)
-
7
excelで第二月曜日を返す、ただし祝日の場合はその次の日
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
[Excel] ある日の曜日が当月の"...
-
c言語の質問です。 ある月のカ...
-
VBA。複数のChangeイベントをま...
-
毎○曜日って、使いますか?
-
よくある 『 第○(1・2・3・4・...
-
日本語問題 昨日は何曜日ですか...
-
毎週同じ曜日にラブホに行くと...
-
西暦・月からカレンダーを表示
-
6月の第2 第4火曜日は何日...
-
C言語初心者なんですが
-
都心環状線のルーレット族は何...
-
Excelで第一〇曜日を求める方法...
-
曜日と曜の使い分けがわかりま...
-
ExcelVbaファイルを.xls から ....
-
ファイルメーカー
-
ユーザー定義の(aaa)
-
ぱっと出てくる人がいます。何...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
毎○曜日って、使いますか?
-
週2回のペースって だいたい何...
-
[Excel] ある日の曜日が当月の"...
-
よくある 『 第○(1・2・3・4・...
-
VBA。複数のChangeイベントをま...
-
Excelで第一〇曜日を求める方法...
-
ユーザー定義の(aaa)
-
c言語の質問です。 ある月のカ...
-
週の始まりは?
-
日本語問題 昨日は何曜日ですか...
-
毎週同じ曜日にラブホに行くと...
-
土曜日の26時って何曜日の何時...
-
都心環状線のルーレット族は何...
-
曜日と曜の使い分けがわかりま...
-
今月は1日が日曜日で、31まであ...
-
Excel VBA 第〇△曜日の場合休日...
-
曜日ごとの集計をしたい
-
日付から曜日を求めたい
おすすめ情報