Google Sheets:如何基于今日日期自动高亮未填当日考勤的人员
自动匹配当日日期的考勤高亮条件格式设置
核心思路
通过公式自动定位当日日期对应的列,无需手动修改列号,也不需要新增辅助列。前提是你的考勤表第一行(B1、C1...)是真实的日期格式单元格(不是文本格式)。
操作步骤
选中A列需要应用格式的姓名区域(比如
A2:A100,从第一个姓名所在行开始,不要包含A1表头)打开条件格式设置面板,选择「使用公式确定要设置格式的单元格」
输入以下公式(二选一即可):
- 方案1(易理解,适合新手):
公式拆解:=INDIRECT(CHAR(64+MATCH(TODAY(),$1:$1,0))&ROW())=""TODAY():获取系统当前日期MATCH(TODAY(),$1:$1,0):找到当前日期在第一行的列位置(比如8月3日在C列就返回3)CHAR(64+列号):把列号转成对应的字母(64是ASCII码中大写字母A的前一位,3+64=67对应C)&ROW():拼接当前行号,生成对应单元格引用(比如第2行就是C2)- 最终判断该单元格是否为空,为空就触发高亮
- 方案2(非易失性,性能更优):
注意:=INDEX($2:$100,ROW()-1,MATCH(TODAY(),$1:$1,0))=""$2:$100要替换成你实际的数据行范围(从姓名行开始到最后一行),ROW()-1是因为选中的是A2开始,对应数据区域的第1行。
- 方案1(易理解,适合新手):
设置你需要的高亮格式(填充色、字体颜色等),确认保存即可。
额外优化(可选)
如果周末/节假日不需要考勤判断,可以在公式前加工作日判断:
=AND(WEEKDAY(TODAY(),2)<=5,INDIRECT(CHAR(64+MATCH(TODAY(),$1:$1,0))&ROW())="")
WEEKDAY(TODAY(),2)返回1=周一,5=周五,<=5就只在工作日触发高亮。
内容的提问来源于stack exchange,提问作者Paul Chung
相关产品推荐
相关产品推荐

