
當我在儲存格中輸入月份時,我試圖確定一周中從第一天到該月最後一天的某些日期,例如:
如果儲存格「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"))
注意 這包括週日和週四,其中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 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))