Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7 Professional : Excel 2010)
入力した日を参照して、同一週の初日と最終日を取得したい
投稿日時: 18/08/10 08:35:01
投稿者: おで

教えてください。
 
A1セルに日付を入力すると、
稼働日カレンダーを元に、B1・C1セルにその週の初日と最終日が表示されるようにしたいです。
 
稼働日カレンダーとは、下表で、その日付がその月の何週なのか記載されてます。
 
日付       月    週
2018/8/24    8    3
2018/8/27    8    4
2018/8/28    8    4
2018/8/29    8    4
2018/8/30    8    4
2018/8/31    8    4
2018/9/3    9    1
2018/9/4    9    1
2018/9/5    9    1
2018/9/6    9    1
2018/9/7    9    1
2018/9/10    9    2
※稼働日カレンダーは8/24-9/10までを抜粋したものです
 
たとえば、
 
A1セルに 『2018/8/28』 と入力すると、
 
B1セルに 『2018/8/27』、  ・・・同一週の初日
C1セルに 『2018/8/31』   ・・・同一週の最終日
 
と表示できるようにしたい。
 

回答
投稿日時: 18/08/10 11:03:13
投稿者: WinArrow
投稿者のウェブサイトに移動

考え方(ヒント)
(1)稼働日カレンダーの週の右側に1列(作業列)追加します。
(2)作業列のセルに
 例 "8-3"となるような数式を入力します。
(3)稼働日カレンダー(追加した列を含めて)に名前を定義します。例:CALENDAR
   
セルA3
=VLOOKUP(A1,CALENDAR,4,0)
セルA4(A3の先頭行)
=MATCH(A3,INDEX(CALENDAR,,4),0)
セルA5(最終行までの行数)
=COUNTIF(INDEX(CALENDAR,,4),A3)-1
   
セルA6(先頭日付)
=INDEX(CALENDAR,A4,1)
セルA7(最終日付)
=INDEX(CALENDAR,A4+A5,1)
 セルA6、A7の表示形式を日付形式を設定します。

回答
投稿日時: 18/08/10 11:19:59
投稿者: ブルー

その稼働日カレンダーというのは土日を抜いてるだけですか?
 
B1にその週の月曜日、C1にその週の金曜日を表示させたいだけなら
カレンダーを参照しなくてもできますね。
 
それとも月曜が祝日なら、B1にはその翌日の火曜日を表示ということでしょうか?
 
そうだとしても祝日一覧をどこかに入力しておけば、WORKDAY関数でできそうな気がします。
 
1週間まるまる非稼動の週もあるんでしょうか?

投稿日時: 18/08/10 11:26:13
投稿者: おで

WinArrow さん>
 回答ありがとうございます。これから内容確認したいと思います。
 
ブルー さん>
 
 回答ありがとうございます。
 
 >その稼働日カレンダーというのは土日を抜いてるだけですか?
 
 土曜日が稼働日になることもあれば、平日が休みになることもありますので、
 1週間まるまる非稼働という週もあります。
 稼働日カレンダーは、非稼働日を抜いたものになります。
 
 

回答
投稿日時: 18/08/10 14:01:54
投稿者: WinArrow
投稿者のウェブサイトに移動

追加レス
 

引用:
セルA3
=VLOOKUP(A1,CALENDAR,4,0)

 
ここでは、セルA1に指定した日が稼働日カレンダーに存在しないことを考慮していません。
 
必要ならば、数式を改変してください。
以下のセルの数式も同様です。

回答
投稿日時: 18/08/12 07:18:51
投稿者: Mike

おで さんの引用:
稼働日カレンダーとは、下表で、その日付がその月の何週なのか記載されてます。
参考までに確認させてください。
「下表」に示されている「週」はどのようにして算出された数値ですか?それとも数式に頼らずに貴方が暗算した結果とか?
それから、「2018/8/24」の「週」が3なら、2018/8/1(水)の「週」は何になりますか?

トピックに返信