一個(gè)公式制作如圖所示的簡易萬年歷,指定年份和月份自動更新。 注意: 里面用到了office365公式, 不支持低版本 獲取當(dāng)月第1天 DATE引用指定的年份和月份,獲取該月份的第1天: =DATE(D2,E2,1) 獲取當(dāng)月第1周的星期一 由于周一到周日的排列方式,D4單元格應(yīng)該是當(dāng)月第1周的星期一。 2023/7/1是當(dāng)月第1周的星期六, D4單元格的日期是2023/7/1減去5天。由此總結(jié): 當(dāng)月1日是星期一,當(dāng)月第1周的星期一等于當(dāng)月1日減0天; 當(dāng)月1日是星期二,當(dāng)月第1周的星期一等于當(dāng)月1日減1天; 當(dāng)月1日是星期三,當(dāng)月第1周的星期一等于當(dāng)月1日減2天; …… 當(dāng)月第1周的星期一 = 當(dāng)月1日 – (當(dāng)月1日的星期數(shù)-1) 上一步中已經(jīng)獲取了當(dāng)月1日:=DATE(D2,E2,1) (當(dāng)月1日的星期數(shù)-1):=WEEKDAY(DATE(D2,E2,1),3) WEEKDAY的作用是返回日期的星期數(shù),第二參數(shù)設(shè)置為3表示“從0(星期一)到6(星期天)的數(shù)字”,如:2023/7/1是星期六,則返回?cái)?shù)字5. 兩者相減: =DATE(D2,E2,1)-WEEKDAY(DATE(D2,E2,1),3) 遞增隊(duì)列 =SEQUENCE(6,7,0) 日期的遞增隊(duì)列 把上2步的首個(gè)日期和隊(duì)列相加,即得到42個(gè)連續(xù)的日期隊(duì)列: =DATE(D2,E2,1)-WEEKDAY(DATE(D2,E2,1),3)+SEQUENCE(6,7,0) 弱化顯示非本月日期 條件格式中用公式判斷:單元格月份不等于指定月份,則執(zhí)行條件格式,用淺灰色將其弱化顯示: =MONTH(D4)<>$E$2 |
|