A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
エクセルのある範囲にカレンダーを作成している、又はカレンダーを作成すると仮定して
(1) カレンダーの範囲が『A1:A31』だったとします。
(2) 次に調べたい曜日を設定するセルを決める。
(ここでは『C1』のセルにします。)
(3) 『C1』のセルに調べたい曜日を次の条件で数字を入力します
日曜日:1 月曜日:2 火曜日:3 水曜日:4
木曜日:5 金曜日:6 土曜日:7
(4) 適当なセルに次の式
=COUNT(IF(WEEKDAY(A1:A31)=C2,1,""))
を入力し、Ctrl キーと Shift キーを押しながら Enter キーを押します。
すると式の前後に波括弧『 { } 』が付くと思います。
{=COUNT(IF(WEEKDAY(A1:A31)=C2,1,""))}
↑こんな感じです
この波括弧付きの式をコピペしてもだめです。
(5) 上記の式で 調べたい曜日の数がカウントできると思います。
{ } 付きにする意味とかは『配列数式』でググってください。
回答するのは初めてなので、重複回答・見にくい点等あったらご容赦ください。
ご参考になれば幸いです。
大変参考になりました、ありがとう御座います。
時間の関係で御礼が遅れましたすみませんでしたぁ。
叉何か在りましたら よろしくお願いします。
No.6
- 回答日時:
#5 さんと大差ないかも知れませんが、私も トリッキー な式を考えてみました。
A1・B1 セル の内容は #5 さんと同じ条件です。
=4+(DAY(EOMONTH(A1,0))>35-WEEKDAY(A1-B1))
1)#3 同様に考えてみます。
先ず、29日以降の日数は
DAY(EOMONTH(A1,0))-28 ・・・ [式A]
になります。これは #3(3) の式と等価です。
2)月初めの日付から求める曜日の インデックス(B1)を引いて
A1-B1
曜日の インデックス
WEEKDAY(A1-B1))
を求めるてみると、「7」から下に数えて、(1) で求めた数の分だけが、1ヶ月に「5」回ある曜日になりました。
逆に
7 - WEEKDAY(A1-B1)) ・・・ [式B]
としてみると、「0」から上に数えて、(1) で求めた数の分だけが、1ヶ月に「5」回ある曜日になりました。
3)従って、
[式A] > [式B]
つまり
DAY(EOMONTH(A1,0))-28 > 7 - WEEKDAY(A1-B1))
の場合には、1ヶ月に「5」回ある曜日になります。
4)(3) の不等式を整理すると、
DAY(EOMONTH(A1,0)) > 35 - WEEKDAY(A1-B1))
になりますが、この値が「TRUE」の場合に、1ヶ月に「5」回ある曜日になりますので、#3 と同様に、この「TRUE/FALSE」の値を「4」に足して、
=4+(DAY(EOMONTH(A1,0))>35-WEEKDAY(A1-B1))
となりました。
なお、(2) の考え方は、ワークシートに曜日の インデックス(●:1 ~ 7)を並べておいて、
WEEKDAY(A1-●))
や
7 - WEEKDAY(A1-●))
を一覧で表示しておくことで、規則性を見出しました。
そういう意味で「トリッキー」と書きました。
大変参考になりました、ありがとう御座います。
時間の関係で御礼が遅れましたすみませんでしたぁ。
叉何か在りましたら よろしくお願いします。
No.4
- 回答日時:
#3 DOUGLAS_ です。
式に誤りがありました。
2つ目の式は、
=5-ISERR(FIND(A2,MID("日月火水木金土日月",WEEKDAY(A1),DAY(EOMONTH(A1,0))-28)))
です。
大変失礼いたしました。 <(_ _)>
No.3
- 回答日時:
ベタな計算式ですが。
。。=5-ISERR(FIND("日",MID("日月火水木金土日月",WEEKDAY("2010/1/1"),DAY("2010/2/1"-1)-28)))
1)例えば、今年の1月の「日曜日」の数を数えることにします。
2)1ヶ月の内、28日までの曜日はすべて4回ずつありますので、29日以降の曜日を調べることにします。
3)1月の月末日は31日
DAY("2010/2/1"-1)
ですので、それから28日を引くと
DAY("2010/2/1"-1)-28
余りが3になります。
つまり、1月1・2・3日と29・30・31日とは同じ曜日になります。
4)1月1日の曜日は
WEEKDAY("2010/1/1")
で「6」、つまり「金曜日」になります。
ということで、「金曜日」から数えて3日間の曜日は5回ずつあることになります。
5)[WEEKDAY 関数] では「種類」を省略して求めると、日曜日が「1」になりますので、
MID("日月火水木金土日月",WEEKDAY("2010/1/1"),DAY("2010/2/1"-1)-28)
とすることによって『「金曜日」から数えて3日間の曜日』、つまり「金土日」を求めることができます。
月末日は32日以上になることはありません。つまり、(3)の「余り」が「4」以上になることはありませんので、「"日月火水木金土」の後は「日月"」で十分かと存じます。
6)従って、調べたい「日曜日」が「金土日」に入っているかどうかを調べ、
FIND("日",MID("日月火水木金土日月",WEEKDAY("2010/1/1"),DAY("2010/2/1"-1)-28))
入っていれば「1・2・3」という数値が返りますので、
ISERR(FIND("日", ~~ -28)))
の値は「FALSE」となり、
=5-ISERR(FIND("日", ~~ -28)))
の答えが「5-0=5」となりますので、1ヶ月に5回あることになります。
入っていなければ
FIND("日", ~~ -28))
の値が「#VALUE!」という「エラー値」になりますので、
ISERR(FIND("日", ~~ -28)))
の値は「TRUE」となり、
=5-ISERR(FIND("日", ~~ -28)))
の答えが「5-1=4」となりますので、1ヶ月に4回あることになります。
#2 さんのご回答の様に「年月」や「検索する曜日」が セル に入っている場合は
=5-ISERR(FIND(A2,MID("日月火水木金土日月",WEEKDAY(A1),EOMONTH(A1,0)-28)))
としてください。
ただし、A1 セル には「2010/1/1」というような日付の シリアル値、A2 セル には「日」というような曜日の漢字が入っているものとします。
[EOMONTH 関数] を利用する場合は、[ツール(T)] - [アドイン(I)...] - [分析ツール] に チェック を入れてください。
No.2
- 回答日時:
A1セルに2010/5/1と入力してセルの表示形式のユーザー定義で yyyy"年"mm"月" とし、セルの表示を2010年5月と表示させます。
A2セルには日曜日は1、月曜日は2、火曜日は3・・・土曜日は7のように検索したい曜日に応じて数値を入力します。
そこでA1セルで指定した月とA2セルで指定した曜日における、その月での該当日数は次の式で表すことができます。
=IF(AND(MONTH(A$1-WEEKDAY(A$1)+A$2)=MONTH(A$1),MONTH(A$1-WEEKDAY(A$1)+A$2+28)=MONTH(A$1)),5,4)
大変参考になりました、ありがとう御座います。
時間の関係で御礼が遅れましたすみませんでしたぁ。
叉何か在りましたら よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 当番表の作成 2 2022/06/15 07:40
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- その他(Microsoft Office) エクセルの曜日別の参加者名簿に姓しかなく、下の名前を入れるには、全曜日の名簿を一度作り、曜日別に抽出 2 2023/02/28 23:22
- Excel(エクセル) エクセルの条件付き書式について エクセルでカレンダーを作りました。縦に日付が並んでいて、横にスケジュ 3 2022/10/10 15:32
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) エクセル「社員の重なっている仕事時間の算出方法について」教えてください。 6 2023/02/06 00:10
- Excel(エクセル) 月日と曜日の情報から年を特定するには? 8 2023/07/08 10:00
- その他(ビジネススキル・経営ノウハウ) 事務してる方教えてください 1 2022/04/14 20:50
- Excel(エクセル) エクセルに詳しい方 よく読んでからのご回答お願いします 外部からデータが来ますが、日付が202201 7 2022/06/29 16:15
- 知人・隣人 一軒家、ゴミ捨て場掃除当番について。 一軒家に住んで5年になります。年に2回ほどゴミ捨て場の掃除当番 2 2022/05/21 10:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
エクセル
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】A列にある、日付(本...
-
エクセルの循環参照、?
-
【マクロ】3行に上から下に並...
-
【マクロ】WEBシステムから保存...
-
【マクロ】EXCELで読込したCSV...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
【条件付き書式】シートの中で...
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
派遣会社とかハローワークとか...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報