excel按行检索(index+match)
假设你的数据表如下:
假设
数据区域是 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)), “未找到数据”)
这样就能动态查询指定人名和日期的数据值了!
原文地址:https://blog.csdn.net/weixin_47771206/article/details/145130938
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!