ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的测验 > 函数与公式 > 提取不重复车次,并按升降排列

提取不重复车次,并按升降排列

作者:绿色风 分类: 时间:2022-08-18 浏览:205
楼主
蒸蒸日上
如题:提取A列中不重复的车次,按从小到大的顺序排列(效果图如D列)。用函数完成,不用VBA,不用辅助区域,不定义名称。

 
回答正确者奖励5个分值的好评。
答案与11月13日公布!
谢谢大家的积极参与!
最佳答案可以评一个满分6分!一束鲜花,一个笑脸!




提取不次,排列.rar
2楼
gouweicao78
  1. =TEXT(LARGE(IF(FREQUENCY(-A$2:A$557,-A$2:A$557),-A$2:A$557,-9^9),ROW(1:1)),"[<-1E7] ;0000000")
数组公式,向下复制。
3楼
天南地北
我所能想到的几种解法,纯当练练手,该拍砖的拍砖!
  1. =RIGHT(0&SMALL(IF(FREQUENCY(--$A$2:$A$557,--$A$2:$A$557),--$A$2:$A$557),ROW(A1)),7)
  1. =INDEX(A:A,RIGHT(SMALL(IF(MATCH($A$2:$A$557,$A$2:$A$557,)=ROW($1:$556),$A$2:$A$557*10^5+ROW($2:$557),10^12+4^8),ROW(A1)),5))&""
  1. =IF(MAX(--$A$2:$A$557)-MAX(--$G$1:G1)>0,RIGHT(0&MIN(IF($A$2:$A$557-MAX(--$G$1:G1)-1>0,--$A$2:$A$557,"")),7),"")

  1. =RIGHT(0&SMALL(--$A$2:$A$557,1+SUM(COUNTIF($A$2:$A$557,$H$1:H1))),7)

  1. =RIGHT(0&SMALL(--$A$2:$A$557,INDEX(FREQUENCY(--$A$2:$A$557,--I1),1)+1),7)

  1. =RIGHT(0&SMALL(--$A$2:$A$557,FREQUENCY(--$A$2:$A$557,--J1)+1),7)

部分没有容错处理,容错方法可以参考第三个公式

提取不重复车次,并按升序排列.rar
4楼
ragtag
=TEXT(IF(ROW(E1)<=SUM(1/COUNTIF(A:A,A$2:A$557)),SMALL(IF(MATCH(A$2:A$557,A:A,0)<>ROW(A$2:A$557),9^9,VALUE(A$2:A$557)),ROW(E1)),""),"0000000")
5楼
nonfish
D2单元格公式(下拉):
  1. =INDEX(A:A,RIGHT(SMALL(IF(MATCH(A$2:A$557,A:A,)=ROW($1:$556),A$2:A$557*10^3+ROW($1:$556)),ROW(A1)),3))
去错后公式:
  1. =IFERROR(INDEX(A:A,RIGHT(SMALL(IF(MATCH(A$2:A$557,A:A,)=ROW($1:$556),A$2:A$557*10^3+ROW($1:$556)),ROW(A1)),3)),"")                      或者
  2. =IF(SUM(1/COUNTIF(A$1:A$557,A$1:A$557))>ROW(),INDEX(A:A,RIGHT(SMALL(IF(MATCH(A$2:A$557,A:A,)=ROW($1:$556),A$2:A$557*10^3+ROW($1:$556)),ROW(A1)),3)),"")
均为数组公式,去错公式第1个2007版本可用;第2个03、07版通用,但是速度会相当慢。
6楼
wjc2090742
  1. =RIGHT(-MAX(IF(COUNTIF(D$1:D1,A$2:A$557)=0,-(1&A$2:A$557))),7)
容错的:
  1. =RIGHT(TEXT(-MAX(IF(COUNTIF(D$1:D1,A$2:A$557)=0,-(1&A$2:A$557))),"[>0];"),7)
7楼
xgg2001
  1. =TEXT(0.5/SMALL((ROW($1:$556)-MATCH(A$2:A$557,A:A,)+0.5)/A$2:A$557,ROW(A1)),";0000000")
8楼
languanzeng
下面公式107字符
b2:
=TEXT(SMALL(IF(MATCH(A$2:A$557,A$2:A$557,)=ROW(A$2:A$557)-1,A$2:A$557*1,9E+30),ROW(A1)),"[>5e+6] ;0000000")
数组公式,下拉


下面公式80字符
b2:
=TEXT(MIN(IF(COUNTIF(B$1:B1,A$2:A$557)=0,A$2:A$557*1,9E+30)),"[>9E+7] ;0000000")
数组公式,下拉

下面公式70字符
b2:
=TEXT(MIN(IF(COUNTIF(B$1:B1,A$2:A$557)=0,A$2:A$557*1,"")),"0000000;;")
数组公式,下拉

再提供一个73字符的:
b2:
=TEXT(MIN(IF(ISNA(MATCH(A$2:A$557,B$1:B1,)),A$2:A$557*1,"")),"0000000;;")
数组公式,下拉
9楼
ragtag
D2 ==TEXT(IF(ROW(D1)<=SUM(1/COUNTIF(A:A,A$2:A$557)),MIN(COUNTIF(D$1:D1,A$2:A$557)*9^9+A$2:A$557),""),"0000000")
10楼
huishi
献丑了,225个字符
  1. =IF(LEN(TEXT(SMALL(--IF(MATCH($A$2:$A$557,$A$2:$A$557,)=ROW($2:$557)-1,$A$2:$A$557,4^8*1000),ROW(A1)),"0000000"))=7,TEXT(SMALL(--IF(MATCH($A$2:$A$557,$A$2:$A$557,)=ROW($2:$557)-1,$A$2:$A$557,4^8*1000),ROW(A1)),"0000000"),"")
11楼
传递
蒸蒸开贴看看答案啊
12楼
丞相
笨办法,数组
  1. =TEXT(SMALL(IF(FREQUENCY(--$A$2:$A$557,--$A$2:$A$557),--$A$2:$A$557),ROW(A1)),"0000000")
13楼
hylees
快开,看看大师们的答案
14楼
大表弟
=IF(ROW(A1)<=SUM(1/COUNTIF($A$2:$A$557,$A$2:$A$557)),TEXT(SMALL($A$2:$A$557*1,1+SUM(COUNTIF(A:A,$G$1:G1))),"0000000"),"")
15楼
天南地北
COUNTIF都忘记了
版块里面是作者可见,实际上公开了
有 图 为 证

 
16楼
hylees
啥意思,开帖了呗
17楼
qyote
学习学习
18楼
孔昆友
呵呵 放心 如我算错 你以后来砸我的帖子 呵呵
19楼
朱少伎
真幸运

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap