You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets:基于日期与复选框提取缺勤人员姓名的公式需求

Google Sheets 自动提取当日缺勤人员姓名解决方案

核心公式(简洁版)

直接用FILTER+INDEX+MATCH组合实现需求:

=FILTER(B6:B, INDEX(E6:AG, , MATCH(TODAY(), E2:AG2, 0))=TRUE)

公式拆解

  • TODAY():获取当前系统日期,需确保E2:AG2的日期格式与该函数返回格式一致(必须是日期格式,不能是文本)。
  • MATCH(TODAY(), E2:AG2, 0):定位今日日期在E2:AG2中的列位置,返回该列在E2:AG2区域内的序号(比如E列是第1位、F列是第2位)。
  • INDEX(E6:AG, , MATCH(...)):提取出对应日期的整列数据(从第6行开始,与姓名行对齐)。
  • FILTER(B6:B, ...=TRUE):筛选出该列中复选框被勾选(值为TRUE)对应的B列姓名。

异常处理优化版

如果今日日期不在考勤日期范围内,或当日无缺勤人员,公式会返回#N/A,可以用IFERROR添加提示:

=IFERROR(FILTER(B6:B, INDEX(E6:AG, , MATCH(TODAY(), E2:AG2, 0))=TRUE), "今日无考勤数据或无缺勤人员")

注意事项

  • 必须将E2:AG2单元格设置为日期格式:选中该区域,点击工具栏「格式」→「数字」→「日期」,避免因文本格式导致MATCH匹配失败。
  • 复选框默认值为勾选=TRUE、未勾选=FALSE,若你自定义了复选框的值(比如勾选显示「缺勤」),需将公式中的=TRUE改为对应自定义值。

备选QUERY方案

如果偏好使用QUERY函数,可尝试以下公式:

=QUERY(B6:AG, "SELECT B WHERE "&SUBSTITUTE(ADDRESS(1, COLUMN(E2)+MATCH(TODAY(), E2:AG2, 0)-1, 4), "1", "")&"=TRUE", 0)

内容的提问来源于stack exchange,提问作者Snake10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 21:57:19