鄙人图中,是一个以礼拜几为主,来显示各月日期的万年曆,若何在 Excel 的工作表中成立这个万年曆?
有了这个万年曆,只要改变贮存格A1(年份),便可显示昔时的月份和礼拜几的对比。是以,例如:可以快速找到各月週六的日期。要若何来设计公式?
【公式设计与解析】
贮存格B2:=VALUE(TEXT(DATE($A$1,COLUMN(A:A),1)-WEEKDAY(DATE($A$1,
COLUMN(A:A),1),2)+ROW(1:1)北京拓展公司,"dd"))
(1) DATE($A$1,COLUMN(A:A),1)
藉由 DATE 函数获得各年各月的第一天日期,Excel 会传回一个数值。
(2) WEEKDAY(DATE($A$1,COLUMN(A:A),1),2)
先藉由 DATE 函数获得各年各月的第一天日期,再操纵 WEEKDAY 函数来找出每一个月的第一天的传回值。本例是拔取参数 2,代表礼拜一到礼拜日,传回数字 1 到 7。
公式中的 COLUMN(A:A) 乃用于向右複製时,COLUMN(A:A)=1→COLUMN(B:B)=2→ ... →COLUMN(M:M)=12。
(3) 完全公式
贮存格B2:=VALUE(TEXT(第(1)式-第(2)式+ROW(1:1),"dd"))
第(1)式-第(2)式+ROW(1:1):获得每一个月的第一个贮存格(贮存格B2)应当显示的日期,而 ROW(1:1) 向下複製时,会发生 ROW(1:1)=1→ROW(2:2)=2→ ... →ROW(31:31)=31。
TEXT(第(1)式-第(2)式+ROW(1:1),"dd"):透过 TEXT 函数将上式的日期掏出日期中的『日期数值』,并以二码显示("dd")。当向下複製公式时,便可发生持续的日期数值。
最后再以 VALUE 函数将上式 TEXT 获得的成果(文字)转换为数字。
複製贮存格B2,贴至贮存格B2:M43。
创作者先容 vincent