excel如何使用公式排序
发布时间:2023-01-16 15:44:52
Excel提供了排序功能,可以方便地对选中的列表进行排序。本文给出一个基于公式的排序解决方案,将指定区域内的数据按字母顺序排序。
如下图1所示,在单元格区域A2:A11中是一组未排序的数据,在单元格区域B2:B11中是已排序的数据。
图1
解决方案
在单元格B2中输入公式:
=LOOKUP(1,0/FREQUENCY(ROWS($1:1),COUNTIF($A$2:$A$11,”<=”&$A$2:$A$11)),$A$2:$A$11)
向下拉至单元格B11。
工作原理
让我们以单元格B8中的公式为例来分析:
=LOOKUP(1,0/FREQUENCY(ROWS($1:7),COUNTIF($A$2:$A$11,”<=”&$A$2:$A$11)),$A$2:$A$11)
与单元格B2中的公式相比,唯一的变化是ROWS函数内由1改成了7。
公式中:
COUNTIF($A$2:$A$11,”<=”&$A$2:$A$11)
对于该区域内的每个字符串,返回一个值数组,对应该区域内按字母顺序位于该字符串之前或等于该字符串的字符串数。因此,上述公式转换为:
{3;4;9;5;7;2;1;6;10;8}
例如,所得到的数组中的第7个元素是1,是单元格B8中的字符串“Belinda”比较后的结果:按字母顺序,在区域内只有一个字符串在该字符串之前或等于该字符串,因此该字符串就是“Belinda”自身。
同样,在所得到的数组中的第2个元素是4,对应单元格B3中的“Laquita”比较后的结果:按字母顺序,在区域内有四个字符串在该字符串之前或等于该字符串,分别是“Belinda”、“Bula”、“Cathy”和“Laquita”自身。
现在,将这个数组作为参数bins_array的值传递给FREQUENCY函数,将公式所在单元格对应行的相对行号(此处为7,由ROWS($ 1:7)给出)作为参数data_array的值。这样:
FREQUENCY(ROWS($1:7),COUNTIF($A$2:$A$11,”<=”&$A$2:$A$11))
转换为:
FREQUENCY(7,{3;4;9;5;7;2;1;6;10;8})
得到:
{0;0;0;0;1;0;0;0;0;0;0}
然后,选择适当的值来调整该数组(这里选择的是0;也可选择1,这样的话lookup_value的值应为2而不是1更保险),此时:
0/FREQUENCY(ROWS($1:7),COUNTIF($A$2:$A$11,”<=”&$A$2:$A$11))
转换为:
{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}
将其传递给LOOKUP函数,公式:
=LOOKUP(1,0/FREQUENCY(ROWS($1:7),COUNTIF($A$2:$A$11,”<=”&$A$2:$A$11)),$A$2:$A$11)
转换为:
LOOKUP(1,{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!},$A$2:$A$11)
在数组中唯一的数字在第5位,因此可得到结果:
Raymonde
也可以使用下面的公式获得同样的结果:
=INDEX($A$2:$A$11,MATCH(1,FREQUENCY(ROWS($1:7),COUNTIF($A$2:$A$11,”<=”&$A$2:$A$11)),0))
小结
虽然可以使用Excel的排序功能,但使用公式可以实时更新数据。


猜你喜欢
- Win10系统启动后提示由于一个软件错误,windows无法启动怎么办?最近一个用户反映,当打开Win10系统电脑时,就提示由于一个软件错误
- 如何使用Keka for Mac提取受密码保护的文件?keka Mac是很多人喜欢的压缩解压工具,以小巧,使用简单,界面简洁受到很多Mac用
- 我们在用Word制作完一份word文档后如果想要对其打印一般都会先对文档进行打印预览,很多人认为我们在打印预览的时候是不能进行编辑的,其实不
- 我们在日常工作中,总是会相对固定的使用一些应用程序,怎么才能将这些应用程序放在一个文件夹里,让我们更容易找到呢?现在小编就教大家一个解决的方
- 演示动画操作步骤当一个Excel工作簿中有多个工作表时,为了提高观感效果,同时也为了方便对工作表的快速浏览,我们将工作表标签(Sheet1、
- 颜色标签功能是Mac访达中用来标记和分类文件的。当Mac系统有上千或更多个文件时,我们可以使用颜色标签对其进行分类,这样文件更容易管理,下面
- Word怎么把重复的文字替换?近期有用户想要将Word文档中的重复文字替换掉,但是数量比较多,一个一个的操作的话效率很低,那么有没有什么方法
- win10家庭版vmware与hyper-v不兼容怎么办?有一些小伙伴因为需要在电脑中安装了vmware虚拟机,却被提示vmware与hyp
- iOS7系统怎么更换壁纸?看似一个很简单的操作,新果粉估计还不太会操作。iPad作为苹果推出的较为流行的平板电脑,受到众多果粉的喜爱,在升级
- Win10系统在开机的时候又出现问题了,这次的错误是无法开机而且显示了0xc1900405的错误代码。那么遇到这个情况的用户该怎么凭借这个代
- Win10时间线怎么查看?一些朋友了解到Win10系统里面有一个时间线显示历史浏览记录的功能,所以想知道怎么打开这个功能,应该按什么快捷键,
- 听音乐可能是我们可以做的最有趣,放松心情的治疗方法之一。那么如何在Mac上的Apple Music中显示时间同步的歌词呢,在采取步骤之前,需
- ISNA函数,是用来检测一个值是否为#N/A,返回TRUE或FALSE。ISNA 值为错误值 #N/A(值不存在)。ISNA函数,通常是和其
- 饥荒海难mac版是一款非常好玩的烧脑游戏。玩家将扮演一个勇敢的绅士科学家威尔逊,被一个恶魔困住并送到一个神秘的荒野世界,玩家必须利用异世界中
- Wps如何调整文字字符的间距wps是金山软件公司的一种常用的办公软件,对我们的日常办公起到了很重要作用,那么大家对它的一些功能又有多少了解呢
- 360SE.exe是360安全浏览器的程序,当启动浏览器是它就会出现在任务管理器中,关闭任务管理器后会自动退出。下面给大家介绍360se.e
- 曾经惊讶于12英寸MacBook的轻薄与时尚,但后来苹果停产了这款产品。现在苹果全面转向Apple Silicone芯片,这款产品会不会回归
- 苹果日前发布了 iOS 14.5 和 iPadOS 14.5 第二个开发者测试版,iOS 14.5 beta2距离上个测试版相隔两周时间,以
- 每年的年底数据汇总时,经常会听到有人抱怨,“仅仅是1分钱的差异,却让我检查了好久,怎么看也没看出错误在哪里“。其实,有时候真的不是我们的错误
- PPT怎么制作一直旋转的篮球?PPT中想要给篮球添加一段动画,就是篮球不断转动的动画,该怎么制作呢?下面我们就来看看详细的教程,需要的朋友可