实现了随日期变化的考勤表头,如下:
今天有朋友说,根据工作数据的需要,有必要把日期垂直化,具体如下:
如何实现?
公式实现I。
第一步:设置单元格格式。
将B6单元格的自定义格式设置为仅显示“年、月、日”中的“日”,如下所示:
第二步:输入公式计算日期。
在B6单元格中输入公式:
=如果(月(日期($ b $3,$ e $3,行(a1)))=$ e $3,日期($ b $3,$ e $3,行(a1)),""),则获得第一个日期,公式填写所有可用日期:
第三步:输入计算星期的公式。
在单元格A6中输入公式:
=text (B6,“AAA”)),""),也就是将第一个日期转换为一周中的某一天,并用公式填写所有可用的周:
第四步:条件格式突出周末。
(这一步可以不根据情况设置。)
选择所有日和周单元格,[开始]——[条件格式]——[新规则],输入公式:=OR($A6=“六”,$A6=“日”),并设置背景颜色,这样所有周六和周日将以不同的颜色显示:
公式分析
日期(B$3,E$3,ROW(A1):
由B3、E3和ROW(A1)组成的日期,其中B3是一年,E3是一个月,ROW(A1)是一天;其中ROW(A1)为变量,公式向下填充成为ROW(A2),ROW(a3)……“日”也逐行增加1。
MONTH(DATE(B $ 3,E$3,ROW(A1)):
从上一个日期算起的月份。
IF(MONTH(DATE(B $ 3,E$3,ROW(A1)))=$E$3,DATE(B $ 3,E$3,ROW(A1)),""):
如果上一步中取出的月份正好等于E3单元格的月份,则公式返回由B3、E3和ROW(A1)组成的日期,否则返回空值。