
手里有一张销量表或者成绩表,老板只想看前三名和后三名是谁、各是多少。手动排序再抄一遍最容易出错:原表顺序一乱,后面再想按原顺序查就找不回来了。下面三个方法都不动原表,只在旁边另起一小块结果区,原数据一改,前三名和后三名跟着自动更新。
下面都用同一张示例表:A 列是商品名,B 列是销量,一共 10 行,数据在 A2:B11。前三名的结果是洗衣液 610、纸巾 560、沐浴露 480;后三名是拖鞋 150、洗洁精 190、牙膏 210,文中的公式跑出来的就是这几个数。
方法一:LARGE 公式,取出前三名的数值
1. 在结果区的第一格输入公式:=LARGE($B$2:$B$11,1)。LARGE 的意思是取第几大的数,第二个参数写 1 就是最大值,写 2 是第二大,写 3 是第三大。
2. 不想一个一个改数字,可以写成能往下拖的版本:=LARGE($B$2:$B$11,ROW(A1))。ROW(A1) 在第一行返回 1,往下拖一行就变成 2、3,正好对应第一、第二、第三名。
3. 往下拖三行,就得到 610、560、480。注意数据范围前面要加美元符号锁死($B$2:$B$11),不锁的话往下拖范围会跟着往下跑,结果全错。

方法二:SMALL 公式,取出后三名的数值
1. 后三名换成 SMALL 公式,用法和 LARGE 完全一样,只是方向反过来:=SMALL($B$2:$B$11,1) 取最小值,也就是倒数第一名。
2. 同样写成能往下拖的版本:=SMALL($B$2:$B$11,ROW(A1)),往下拖三行,得到 150、190、210。
3. 一个容易记的对应关系:LARGE 的 1、2、3 是从大往小数,SMALL 的 1、2、3 是从小往大数。两个函数的参数位置一样,换函数名就能把前三名和后三名成对做出来。

方法三:INDEX 加 MATCH,把名字也一起带出来
光有数值还不够,一般还要知道这几个数分别是谁。做法是先用 LARGE 或者 SMALL 算出数值,再用 MATCH 找到这个数值在原表里的位置,最后用 INDEX 按位置把名字取出来。
1. 前三名的名字公式,写在名字那一列:=INDEX($A$2:$A$11,MATCH(E2,$B$2:$B$11,0))。这里 E2 是方法一算出来的前三名数值,MATCH 负责找它在 B 列的第几个,INDEX 再按这个位置去 A 列取商品名。
2. 后三名同理,把里面的 LARGE 换成 SMALL 算出的数值:=INDEX($A$2:$A$11,MATCH(H2,$B$2:$B$11,0)),H2 是方法二算出来的后三名数值。
3. 三行公式往下拖满,就得到两张小榜单:前三名是洗衣液、纸巾、沐浴露,后三名是拖鞋、洗洁精、牙膏,名字和数值一一对应,不用再手动去原表里翻。

容易踩的五个坑
1. 数据范围一定要锁死。公式里的 $B$2:$B$11 少了美元符号,往下拖的时候范围跟着错位,第二名、第三名算出来的就是别的数据了。
2. 名次不能超过数据的个数。10 行数据却取第 11 大,公式会返回错误值,出现这种情况先数一下数据一共有几行。
3. 文本和空单元格会被 LARGE 和 SMALL 直接忽略。如果销量那一列混进了带单位的文本,比如写成了 610 件,这一行就不参与排名,结果会少人。
4. 有并列数值时,INDEX 加 MATCH 只返回第一个相符的名字。比如有两个商品都是 480,前三名榜单里 480 对应的名字会重复出现一次,另一个同分商品不会自动补进来,并列多人的完整名单要用更复杂的公式处理。
5. 不要为了取前三名去给原表排序。排序会打乱原表的顺序,之后再想按原顺序核对就难了;公式法的好处就是原表保持不动,结果区单独成榜。
怎么选
只想看前三名或者后三名的数值,用方法一或方法二,一个函数就够了;既要数值又要名字,用方法三,LARGE 或者 SMALL 先算数、INDEX 加 MATCH 再取名字。数据经常更新的表一定要用公式法,手动排序抄一遍今天对、明天数据一改就又错了。操作前先备份原表,公式只在结果区出数,不改原表,确认榜单无误后再拿去用。

关注「软件教程管家」
回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。
本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›







