如何在Google Sheets中按姓名提取含指定日期的考勤数据?
解决动态列下按姓名+日期提取考勤数据的方法
方法一:XLOOKUP+MATCH(Excel 365/2021及以上适用)
如果你的Excel版本支持XLOOKUP,这是最简洁的方案。假设姓名列是A列,日期行是第1行,数据区域为A1:Z100,提取指定姓名和日期的公式如下:
=XLOOKUP("张三", A:A, XLOOKUP("1.24", 1:1, A:Z))
内层XLOOKUP定位到目标日期所在的整列,外层XLOOKUP再匹配姓名对应的行数据,完全不需要固定列位置。
方法二:INDEX+MATCH组合(全版本兼容)
针对旧版Excel,用经典的交叉匹配组合就能解决问题,公式如下:
=INDEX(A:Z, MATCH("张三", A:A, 0), MATCH("1.24", 1:1, 0))
MATCH("张三", A:A, 0):精准定位目标姓名所在的行号MATCH("1.24", 1:1, 0):精准定位目标日期所在的列号INDEX根据行号和列号直接返回交叉单元格的数据
关键注意事项
- 日期格式要统一:如果表头是系统日期格式,公式里的日期建议用
DATE(年份,1,24)(比如DATE(2024,1,24)),避免文本与日期格式不匹配导致匹配失败。 - 数据区域可自定义:把公式里的
A:Z换成你实际的数据范围(比如$A$1:$AA$50),加上绝对引用后可直接下拉填充批量提取。
内容的提问来源于stack exchange,提问作者Danel Lau
相关产品推荐
相关产品推荐

