用excel的match函数做查找匹配,操作非常简单:先明确你要搜的值,再选好待查找的区域,直接套公式 =match(查找值,查找区域,0) 就行。wps表格也能完全照着做,第三个参数先填0代表精确匹配,查姓名、编号、产品名这类文本的时候用最方便。
第一步:整理查找区域
先把要检索的那一列整理成连续的整块,比如水果名称都放在A1:A10,旁边的销量列不用管,只是辅助信息。注意MATCH返回的结果是「查找值在选中区域里排第几个」,不是单元格地址,也不会直接返回对应行的销量。

第二步:输入 MATCH 精确匹配公式
在要出结果的单元格里输入 =MATCH(D2,A1:A10,0)。这里D2就是你要找的内容,A1:A10是被搜索的那一列,末尾的0意思是内容必须完全一模一样才算匹配。查文本的时候要注意,单元格里多一个看不见的空格都有可能搜不到结果。

第三步:确认返回的序号
按回车之后,结果会直接显示位置序号。示例里的“香蕉”在A1:A10的第8位,所以返回8。这里有个很容易踩的坑:如果你的查找区域是从A2开始选的,返回值会自动把A2算作第1位重新计数,别和表格原生行号搞混了。

第四步:看懂三个参数
MATCH的语法是 =MATCH(lookup_value, lookup_array, [match_type])。lookup_value 就是要找的值,lookup_array 只能选单独的一行或者一列,match_type 常用的取值是0、1、-1:0是精确匹配;1会找小于或等于查找值的最大值,要求查找区域必须提前按升序排好;-1会找大于或等于查找值的最小值,要求区域必须按降序排好。平时办公查编号、姓名、城市这类内容,直接填0最稳。

第五步:配合 INDEX 返回对应值
MATCH只负责返回位置序号,要直接取出同一位置的内容,可以搭配INDEX函数用。比如先写 MATCH(I4,$B$2:$G$2,0) 找到“深圳”在城市标题行里的位置,再把这个序号传给INDEX,就能拿到对应列的数据。要是想同时横向查城市、纵向查产品,可以分别写两个MATCH定位行和列,交给INDEX做交叉查找。

第六步:处理找不到和近似匹配错误
公式返回 #N/A 报错时,先检查查找值和查找区域的内容是不是同一种数据类型,文本格式的数字和真正的数值型数字经常会出现明明长得一样却匹配不上的情况;再检查有没有多余的前后空格,用 TRIM 函数就能清理。不想直接显示错误提示的话,把公式套一层IFNA就行,写成 =IFNA(MATCH(D2,A1:A10,0),"未找到")。另外要注意,第三个参数如果省略不写,Excel默认会按1处理,要是你的数据没提前按升序排序,很可能返回一个看起来正常、实际完全错的位置,所以做精确查找千万不要省掉末尾的0。












