エクセルで、指定曜日を表示させる関数、及び方法をお教えください。
Aさん 10/22~10/28 "□" 第4日曜日
Bさん 10/29~11/04 "□"
Cさん 11/05~11/11 "□" 第2水曜日
上記例でのご説明です。
"○さん"の指定された期間内に、任意に指定した曜日が含まれる場合、
上記例では"□"中に4を入れると"第4日曜日"を、2を入れると"第2
水曜日"を表示するように作っています。
…が、現在"□"内はカレンダーを見ながら、手入力しています。
"□"を自動入力できる関数なり方法を考えてみましたが、妙案が
見つかりません。
良案がございましたら、お教えいただきたいと思います。
指定曜日は、随時変更になります。指定曜日を変更できる
方法でお願いいたします。
期間計算は、日曜日から土曜日までを自動計算させています。
たとえば"Aさん"の担当日は、表面では見えない別セルで、すべての
日を計算させて、曜日も算出させています。そのセル郡よりデータを
抽出することも可能です。
No.6ベストアンサー
- 回答日時:
A B C D E
1 名前 開始日 終了日 指定曜日 第
2 Aさん 10/22 10/28 日 4
3 Bさん 10/29 11/04
4 Cさん 11/05 11/11 水 2
E2: =IF(D2="","",LEN(LEFT(MID(REPT("0123456",6),FIND(MOD((EOMONTH(B2,-1)+1),7),REPT("0123456",6)),EOMONTH(B2,0)-EOMONTH(B2,-1)),DAY(B2+FIND(D2,"土日月火水木金")-1-MOD(B2,7)+7*(FIND(D2,"土日月火水木金")<MOD(B2,7)+1))))-LEN(SUBSTITUTE(LEFT(MID(REPT("0123456",6),FIND(MOD((EOMONTH(B2,-1)+1),7),REPT("0123456",6)),EOMONTH(B2,0)-EOMONTH(B2,-1)),DAY(B2+FIND(D2,"土日月火水木金")-1-MOD(B2,7)+7*(FIND(D2,"土日月火水木金")<MOD(B2,7)+1))),FIND(D2,"土日月火水木金")-1,"")))
短時間での複雑な数式投稿ありがとうございました。恐れ入りました。御礼が遅くなりましてすいませんでした。所要が多忙で、今週末に検証させていただきたいと思いますのでそれまでよろしくお願いいたします。
No.5
- 回答日時:
まず最初に
これってマルチポストですね
私も規約違反常習者なのでとやかくは言えませんが… (*^_^;)ゞ
本題ですが
このやり方では関数やマクロなどで表現できたとしても
実用に耐えるものには成らないと思います
なぜなら
エクセルに頼るということは
ある意味人間の思考を肩代わりしてもらうことになるわけですが
そうなると極端な場合
Cさん 11/05~11/11 "4" 第??? ???曜日(当然ながら期間中に第四週は含まれない)
と言うことも起こりかねます
人なら
「あ!これ駄目じゃん 違う書き方にしよ…」
と
ほぼ無意識下レベルで判断が入りますが
エクセルだと
「#N/A!」で終わってしまい
これを修正するためにまたカレンダーを見て
関数を消してしますかマクロがはき出した内容を
書き換えることになると思います
このファイルの操作をする全員に
エクセルの高度な教育
(このサイトでのエクセルに関する質問など起こり得ない位に)
を施すことを前提にしているなら
これでも構わないかも知れませんが
費用対効果があまりにも薄すぎ
実用に踏み切ってもメリットを見いだせないと思います。
此方に回答を寄せられている方々のような
空き時間のスケジュールを管理しているテーブルを作っておいて
その中で期間中の指定曜日で
スケジュールが空いているタイミングをリストアップする…
とか
指定した期間中で指定曜日はこの日とこの日と…
と言う具合なリストアップをする
なら出来ると思いますが
自動化に向けるには何らかの変更が必要に思えます
ご投稿ありがとうございます。
まずマルチポストについてですが、第1回目の質問した後に、言葉足らずが見つかりまして、いろいろな意味に取れて、かえってややこしくなりそうなので、削除もできませんので、補足を付け足して再送いたしました。
その後直ぐに管理者に削除依頼メールを送ったのですが、削除されるまでのタイムラグがありまして、ご迷惑をおかけいたしました。
ご回答いただきましたように、一見簡単そうにも見える作業ですが、論理構成が難しいのは、未熟ではありますが、私なりに熱を出して考えてみても答えがなかなか出せませんでした。
論理構成の妙案があればと思い、投稿させていただきました。
おかげさまで、ヒントいただけましたので、今週末に検証させていただきたいと思います。
Noubleさんのご意見も参考にさせていただきます。ありがとうございました。お礼が遅くなりすいませんでした。
No.4
- 回答日時:
だびたびで~す。
。。♪そそっかしいので
よく見たら
D列に、表の様に曜日が出ていませんでしたね~。。。
式を訂正します。
D1: =TEXT(INT((DAY(MAX(INDEX((TEXT(((B1+ROW(INDIRECT("1:"&C1-(B1-1))))-1),"aaa")=D1)*((B1+ROW(INDIRECT("1:"&C1-(B1-1))))-1),)))-1)/7)+1,"第0;;;")&TEXT(D1,";;;@曜日")
D列の書式は、標準でいいです。。。
でした。。。Ms.Rin~♪♪
短時間での複雑な数式投稿ありがとうございました。恐れ入りました。御礼が遅くなりましてすいませんでした。所要が多忙で、今週末に検証させていただきたいと思いますのでそれまでよろしくお願いいたします。
No.3
- 回答日時:
こんにちは~♪
こんな表の場合で~す。。。
A B C D E
1 Aさん 10/22 10/28 日 第4日曜日
2 Bさん 10/29 11/04 月 第5月曜日
3 Cさん 11/05 11/11 水 第2水曜日
★2つの日付の期間に、同じ曜日が複数ある場合は
考慮していません。。
★式が長くなりますので~。10/22~10/28 の日付は
B列とC列に、分けて入力します。
★D列は、指定曜日を文字で入力します。
(表の様に。。。)
(ドロップダウンリストを使えば、入力も楽になります)
指定曜日は、数値(WEEKDAY No)よりわかりやすいと思って
そうしました。
数値のが良かったでしょうか?
★式は
D1: =INT((DAY(MAX(INDEX((TEXT(((B1+ROW(INDIRECT("1:"&C1-(B1-1))))-1),"aaa")=D1)*((B1+ROW(INDIRECT("1:"&C1-(B1-1))))-1),)))-1)/7)+1
下にコピーします。
★D列の書式をユーザー定義から
"第"0"曜""日";;;
に、します。。
。。。Ms.Rinでした~♪♪
短時間での複雑な数式投稿ありがとうございました。恐れ入りました。御礼が遅くなりましてすいませんでした。所要が多忙で、今週末に検証させていただきたいと思いますのでそれまでよろしくお願いいたします。
No.2
- 回答日時:
#1です。
月をまたぐ場合の処理を組み込みました。
="第"&(IF(TEXT(A2,"mm")=TEXT(A2+X,"mm"),ROUNDDOWN((TEXT(A2,"dd")+X+WEEKDAY(TEXT(A2,"yyyy/mm/")&"01")+1)/7,0),1))&TEXT(A2+X,"aaa")&"曜日"
要領はさっきと同じです。
Xとなっている部分に各曜日の数値を当てはめてください。
すばやいご回答ありがとうございます。質問してから"チョウ"短時間でのレスポンス恐れ入りました。御礼が遅くなりましてすいませんでした。所要が多忙で、今週末に検証させていただきたいと思いますのでそれまでよろしくお願いいたします。
No.1
- 回答日時:
=ROUNDDOWN((TEXT(A2,"dd")+X+WEEKDAY(TEXT(A2,"yyyy/mm/")&"01")+1)/7,0)
A2セルへは、対象となる週の初めの年月日を入力します。
10月であれば2006/10/1、2006/10/8。11月であれば2006/11/5日、2006/11/12日など。
式の中に「X」とある部分に曜日に応じて数値を入力します。
日曜=1 月曜=2 火曜=3 ~~ 土曜=7
これでその週の指定曜日が第何週なのかがわかりますが、
月をまたぐ日付が指定されている場合の考慮はしていませんので、組み込む必要があります。
すばやいご回答ありがとうございます。質問してから"チョウ"短時間でのレスポンス恐れ入りました。御礼が遅くなりましてすいませんでした。所要が多忙で、今週末に検証させていただきたいと思いますのでそれまでよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELピボットテーブル関数について 2 2023/04/10 20:35
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- Excel(エクセル) Excel2019、2021の日付、曜日の表示について 2 2022/11/29 15:01
- Excel(エクセル) 条件付き書式で文字入力 6 2022/08/29 10:40
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- その他(恋愛相談) 日程打診してきたのに、その日に自分の予定入れる人 6 2022/06/07 00:40
- 労働相談 有給計算について 回答お願いします。 建設業経営です。休日は日曜のみ 従業員の有給計算について 雇い 2 2023/03/26 06:12
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
6月の第2 第4火曜日は何日...
-
よくある 『 第○(1・2・3・4・...
-
週2回のペースって だいたい何...
-
月の第一週とは
-
VBA。複数のChangeイベントをま...
-
[Excel] ある日の曜日が当月の"...
-
エクセルで毎月第2週日の水曜日...
-
ユーザー定義の(aaa)
-
毎○曜日って、使いますか?
-
ジンクスやデジャブは昔起きた...
-
土曜日の26時って何曜日の何時...
-
今日の曜日の取得方法について
-
週の始まりは?
-
日付から曜日を求めたい
-
毎週同じ曜日にラブホに行くと...
-
曜日を求めるプログラムはどう...
-
曜日のなぞ
-
Excel関数で当月の第一日曜日の...
-
DBを10件毎に表示ページング...
-
file_get_contents でリダイレ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
6月の第2 第4火曜日は何日...
-
毎○曜日って、使いますか?
-
週2回のペースって だいたい何...
-
燃えるゴミの日は何曜日ですか?
-
[Excel] ある日の曜日が当月の"...
-
【機械式腕時計のメカニズムの...
-
VBA。複数のChangeイベントをま...
-
Excelで第一〇曜日を求める方法...
-
日本語問題 昨日は何曜日ですか...
-
毎週同じ曜日にラブホに行くと...
-
曜日のなぞ
-
c言語の質問です。 ある月のカ...
-
ユーザー定義の(aaa)
-
今週とは何曜日から何曜日まで...
-
カレンダープログラム、曜日の...
-
曜日と曜の使い分けがわかりま...
-
西暦・月からカレンダーを表示
おすすめ情報