送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
【置顶公众号】或者【设为星标】及时接收更新不迷路
小伙伴们好,今天再和大家分享一道关于单元格内数字排序的问题。原题是这样子的:
将左侧源数据单元格中的数字按照从小到大的顺序排列,完成后数据有三位,不足位的用零来替代。
怎么样,朋友们有什么好的思路吗?
要排序,就要首先把每一个单独的数字提取出来,加权处理后再排序。
在单元格C2中输入公式“=TEXT(SUMPRODUCT(LARGE(IFERROR(--MID(A2,{1;2;3},1),),{1;2;3})*10^{0;1;2}),"000")”,并向下拖曳即可。
思路:
MID(A2,{1;2;3},1)部分,从源数据中将每个数字提取出来
IFERROR(--MID(A2,{1;2;3},1),)部分,减负运算后将错误值转换为0
LARGE(IFERROR(--MID(A2,{1;2;3},1),),{1;2;3})部分,提取第1、2、3大的数字
接下来对它们进行加权处理。由于是从小到大排序,因此最大的数要放在最右侧,所以给他的加权应该是最小的
SUMPRODUCT函数求和后利用TEXT函数将其转换为要求的格式
向大家问个问题。如果公式中将LARGE函数替换为SMALL函数可以吗?
MMULT函数也可以处理这类问题。
在单元格C2中输入公式“=TEXT(MMULT(SMALL(MID(A2/1%,{1,2,3},1)*1,{1,2,3}),10^{2;1;0}),"000")”,并向下拖曳即可。
思路:
MID(A2/1%,{1,2,3},1)*1部分,这里和上面公式中的IFERROR(--MID(A2,{1;2;3},1),)效果是一样的,只是换了不同的写法
SMALL函数提取第1、2、3小的数字
利用MMULT函数,它的作用和上面SUMPRODUCT函数那部分是一样的
最后TEXT函数按要求返回格式
这里有一个小彩蛋。
朋友们,这个公式你们看懂了吗?
本期内容练习文件提取方式:
链接:https://pan.baidu.com/s/1p086dcLsObO3WQY9Q-7Lmw?pwd=1cb7
提取码:1cb7
-END-
联系客服