excel单元格数据重新排序显示

如图A列是一组组数据,如何根据不同单元格里面的数据量来重新排列,比如变成B列一样从少到多的数据量?在线等·····

B1处用数组公式,三键确认:

=INDEX(A:A,MATCH(SMALL(LEN($A$1:$A$4)-LEN(SUBSTITUTE($A$1:$A$4,",","")),ROW()),LEN($A$1:$A$4)-LEN(SUBSTITUTE($A$1:$A$4,",","")),0),1)

下拉填充。

公式中,数字间的逗号如果是半角的,用搜索替换功能,将中文逗号替换为英文逗号即可。

追问

先谢谢你的回复了,你的评论也看到了。另外你的公式我试了下不行,匿名网友的答案已经解决了。。。。EZ我本命rw111/这位热心网友回复倒是挺快,答案却是轻薄无用,我前面还有一个问题,他也是回答最快,答案也是废的不行,所以我才那样说,他就是蹭经验的

追答

我已经测试并上图了,怎么可能不行呢?
上面已经说过了是数组公式,输入之后要同时按下Ctrl+Shift+Enter三键确认的。

追问

好吧,我试了下好像还可以,有点小错误不知咋回事。但这些都不重要了,,,,问题已经有更简单的做法了。谢谢啦

追答

别客气,兴趣爱好所在。
的确是存在Bug,忽略了多个字符串中逗号数量相等的情况,导致获取内存数组数据不正确。
一般情况下,使用辅助列肯定是最简便的,虽然可移植性会差一些。我这个公式其实就是两个辅助列中的公式合并而成的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-23
计算按照A列单元格的长度,以此排序
B2=len(A2), 下拉, 再以B列升序排序。
第2个回答  2019-04-23


















做两列辅助列 函数见图,对第二列、第三列升序排列

追问

看起来有B列辅助就好了,为何还要C列??

追答


这是做完B列后排序的数列,B列是按每个单元格中数组个数排序,C列在B列基础上按单元格字符长度再排序

追问

666

本回答被提问者采纳
第3个回答  2019-04-23
手工操作,可尝试复制后选择性粘贴 转置 然后进行排序
如果用辅助列的话,可以用SMALL数组公式
否则只能通过VBA来追问

转置之后没有排序功能,,,你这坑货

第4个回答  2019-04-23
单元格数量具体是指什么,各个数字的和,还是什么?追问

如图所示的数据,就是根据每个单元格的数据长度

追答

加个辅助列,用len公式写出单元格字符串长度,然后排序

追问

怎么弄公式

追答

我在手机中,你百度一下len公式的用法
比如:len(a2)
获取a2单元格的字符串长度,
然后就排序就好了

追问

获取长度之后,就能自动排序了?而且实际上有些数据是一个数据,但长度占了两位,这样不符合数据量的长度要求。比如57是一个数据,369也是一个数据,但后者比前者多占了点长度,他们实际的数据量是一致的

追答

不明白你说的什么意思

你的意思逗号多,就长?

追问

不是。比如说A1单元格数据是3,35,478,6782 A2单元格数据是1,2,3,4
那么这两个单元格的数据是一样多的,要根据这个来排序。另外如何调用排序功能?

追答

发文件给我