月によるセル値の変化

月によるセル値の変化

たとえば、セルに月を入力するときに、1 日目から月の最終日までの特定の日付を取得しようとしています。

セル「I6」に「3月」などの月が含まれている場合:

                      " MARCH "

それから:

  • セル「F10」 = 1-Mar for-太陽(毎月第一日曜日)
  • セル「F11」 = 5-Mar、-Thur (その月の最初の木曜日)
  • セル「F12」 = 8-Mar -太陽(毎月第2日曜日など)
  • セル「F13」=12-Mar、-Thur

これは可能ですか? さまざまなサイトを調べましたが、見つかりません。どうもありがとうございます。

答え1

これも使用できます:

ここに画像の説明を入力してください

使い方:

  • セル にK23、月の最初の日付を入力します ( を使用したように02/01/2020、形式は ですMM/DD/YYYY)。
  • MMM YYセルに適用します。
  • セル内の数式K25:

=K$23+MOD(7-WEEKDAY(K$23,2),7)

  • 次に、セル内の数式K26:

=K$23+MOD(4-WEEKDAY(K$23,2),7)

注意:上記の式では、7& は4日曜日と木曜日を表しており、必要に応じて編集できます。

  • セルの最終式K27と下方向への記入:

    =IFERROR(IF(AND(MONTH(K26)=MONTH(K$23),COUNT(J$25:J25)=7),"",K25+7),"")
    
  • 次に、この数式をセルに入力してJ25下方向に塗りつぶします。

=IF(ISBLANK(K25),"",K25)


編集済み:

OPは、日付を管理する方法について良い点を指摘しました。日曜日 &T木曜日は8以上(5月、8月は日曜日が5日、木曜日が4日です)。

ここに画像の説明を入力してください

  • セルに次の数式を入力しますL25:

    =SUMPRODUCT(N(TEXT(ROW(INDIRECT(K25&":"&EOMONTH(K25,0))),"ddd")="Sun"))+SUMPRODUCT(N(TEXT(ROW(INDIRECT(K25&":"&EOMONTH(K25,0))),"ddd")="Thu"))
    

注意 これには日曜日と木曜日がカウントされます。SunこれらはThu編集可能です。

  • K27:

=K$25+MOD(7-WEEKDAY(K$25,2),7)

  • セル内の数式k28:

=K$25+MOD(4-WEEKDAY(K$25,2),7)

  • セルに数式を入力してくださいK29:

      =IFERROR(IF(AND(MONTH(K28)=MONTH(K$25),COUNT(J$27:J27)>=(L$25-1)),"",K27+7),"")
    

注意

  • セル内の数式で MONTH チェックと ROW COUNT を使用するとK27K29Excel はすべての日曜日と木曜日の DATE のみを生成するように制限されます。
  • 必要に応じて、セルK23または の日付と年を変更し続けますK25
  • 必要に応じて数式内のセル参照を調整します。

答え2

したがって、この問題は次の 2 つの部分に分けることができます。

条件付き書式

あなたが望むこと:

cell "F10" = 1-Mar for- Sun (first Sunday of the month)

A6含むことに基づくMARCH

したがって、セルF10に次のように配置できます。

=IFERROR(IF(FIND("MARCH",A6)<>0,"contains March","Does not contain march","")

=Find("MARCH",A6)「MARCH」が見つからない場合はエラーが発生します=IFERROR()。これが を使用する理由です。エラーがない場合は正常に見つかったことを意味し、必要なロジックを適用します。

毎月第一日曜日

月の最初の日曜日を見つけるには、次の式を使用します。

'=(A4+CHOOSE(WEEKDAY(A4,1),7,6,5,4,3,2,1))'

私の場合、A4 は参照する日付で、次の日曜日に進み検索します。このメソッドを最初に入力すると、必要な結果が得られるはずです。

セル A11、A12、A13 に関しては、まったく同じ方法に従うことができます。

答え3

試す:

F10:  =DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1)
F11:  =DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5)
F12:  =F10+7

F12必要なところまで選択して記入してください

G10: =F10

カスタムフォーマットG10:"dddd"

G10必要なところまで選択して記入してください

ここに画像の説明を入力してください

注記:月によっては、最初の木曜日が最初の日曜日より前に来ることがあります。最初の木曜日または最初の日曜日の早い方から始めて、その後シーケンスを続ける場合は、次の式を使用します。

    F10:=MIN(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1),
DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5))

    F11: =MAX(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-1),
DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))+7-WEEKDAY(DATEVALUE("1/"&I6 & "/" & YEAR(TODAY()))-5))

関連情報