假设你的数据表如下:
假设
数据区域是 A1:D4。
你想查询某人在某个日期的数据。
实现步骤
- 公式
在某个单元格中使用以下公式:
excel
复制代码
=INDEX(A2:D4, MATCH(“张三”, A2:A4, 0), MATCH(“2025/01/02”, A1:D1, 0))
2. 公式拆解
MATCH(“张三”, A2:A4, 0)
查找“张三”在范围 A2:A4 中的位置,返回行号。
MATCH(“2025/01/02”, A1:D1, 0)
查找日期 2025/01/02 在范围 A1:D1 中的位置,返回列号。
INDEX(A2:D4, …, …)
将行号和列号传递给 INDEX,返回交叉点的数据值。
- 动态输入
如果想让人名和日期可通过输入框动态调整,可以假设:
人名输入在 F1。
日期输入在 G1。
公式改为:
excel
复制代码
=INDEX(A2:D4, MATCH(F1, A2:A4, 0), MATCH(G1, A1:D1, 0))
4. 注意事项
确保日期的格式一致(可以用 TEXT 函数检查)。
MATCH 默认是精确匹配(match_type=0)。
如果查找不到值,公式会返回错误 #N/A,可以用 IFERROR 包裹,避免报错,例如:
excel
复制代码
=IFERROR(INDEX(A2:D4, MATCH(F1, A2:A4, 0), MATCH(G1, A1:D1, 0)), “未找到数据”)
这样就能动态查询指定人名和日期的数据值了!