前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel公式技巧44: 对文本进行排序

Excel公式技巧44: 对文本进行排序

作者头像
fanjy
发布2020-08-04 14:47:13
3.5K0
发布2020-08-04 14:47:13
举报
文章被收录于专栏:完美Excel

在《Excel公式技巧39: COUNTIF函数在文本排序中的应用》中,我们使用COUNTIF函数来求得单元格区域中文本的顺序号,然后根据该顺序号获得相应的文本,从而实现文本排序。本文不使用辅助列,直接使用一个数组公式来获得排序文本。

如下图1所示,列A中是没有排序的文本,列B中是排好序的文本。

图1

在单元格B2中的数组公式是:

=INDEX(List,MATCH(SMALL(COUNTIF(List,"<"&List),ROW(1:1)),COUNTIF(List,"<"&List),0))

其中,List是一个定义的名称。

名称:List

引用位置:=Sheet1!A2:A7

这个公式的核心是COUNTIF函数部分,判断指定的字符串是否小于列表中其他字符串面得到一组数字,即:

COUNTIF(List,"<"&List)

转换为:

{5;0;2;3;0;3}

表明,在单元格区域A2:A7中,有5个小于单元格A2中的“DDD”、没有小于单元格A3中的“AAA”、有2个小于单元A4中的“BBB”、…,依此类推。

这样,单元格B2中的公式转换为:

=INDEX(List,MATCH(SMALL({5;0;2;3;0;3},ROW(1:1)),{5;0;2;3;0;3},0))

转换为:

=INDEX(List,MATCH(SMALL({5;0;2;3;0;3},1), {5;0;2;3;0;3},0))

转换为:

=INDEX(List,MATCH(0,{5;0;2;3;0;3},0))

转换为:

=INDEX(A2:A7,2)

得到:

AAA

当公式向下拉时,ROW(1:1)将相应变化,从而获取不同的文本值。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档