單元格值隨月份變化

單元格值隨月份變化

當我在儲存格中輸入月份時,我試圖確定一周中從第一天到該月最後一天的某些日期,例如:

如果儲存格「I6」包含「三月」或任何月份:

                      " MARCH "

然後:

  • 儲存格“F10”= 3 月 1 日 -太陽(每月第一個星期日)
  • 儲存格「F11」= 3 月 5 日 - 星期四(該月的第一個星期四)
  • 儲存格“F12”= 3 月 8 日 -太陽(每個月的第二個星期日等等)
  • 單元格“F13” = 3 月 12 日 - 星期四

這可能嗎?我在不同的網站上查看過,但沒有運氣,非常感謝。

答案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提出了一個很好的觀點,即如何管理日期S週日&時間星期四超過 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"))
    

注意 這包括週日和週四,其中SunThu是可編輯的。

  • 公式為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 check & ROW COUNT 以及 Cell K27&中的公式K29,限制 Excel 僅產生所有星期日和星期四的日期。
  • K23現在,根據K25需要繼續更改儲存格中的日期和年份。
  • 根據需要調整公式中的儲存格引用。

答案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+選擇(工作日(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))

相關內容