配色: 字号:
按降序或升序依次提取某列中的文本
2015-10-25 | 阅:  转:  |  分享 
  
按降序或升序依次提取某列中的文本来源:excel格子社区在Excel中要按降序或升序排列某列数据,通常只需对其排序即可。在不允许改变表格结构
的情况下,对于数值类型的数据可用LARGE、SMALL等函数来提取,如公式“=LARGE($A$1:$A$20,ROW(A1))”
。对于文本则无法直接使用LARGE函数,因为LARGE函数不支持文本,这时可用下面的数组公式。假如A2:A14中包含一些文本和空
单元格,要将其中的文本按字母顺序降序提取到B列,如图所示。?在B2单元格中输入数组公式:=OFFSET($A$1,MATCH(
LARGE(COUNTIF($A$2:$A$14,"<="&$A$2:$A$14),ROW(A1)),COUNTIF($A$2:$
A$14,"<="&$A$2:$A$14),),)&""公式输入后按Ctrl+Shift+Enter结束,然后填充公式到B14单
元格,即可得到与降序排序完全相同的结果。公式说明:1.“COUNTIF($A$2:$A$14,"<="&$A$2:$A$14)
”比较A2:A14中每个文本,并返回一个数组,本例为“{8;5;0;1;10;6;0;2;4;9;7;0;3}”,其中的每个数字对
应各自文本,空单元格返回“0”。如“体操Gymnastic”对应数字“8”,表示A2:A14中小于等于该文本值的数量为8个。2
.LARGE函数按从大到小的顺序(降序)依次提取上述数组中的各个数值,MATCH函数得到该数值在数组中的位置,最后用OFFSET函
数提取文本。由于空单元格会返回“0”,在公式的末尾加上“&""”将其转换为空。3.要按字母顺序升序提取文本,将公式中的“<”改为
“>”,如在B2中输入公式:=OFFSET($A$1,MATCH(LARGE(COUNTIF($A$2:$A$14,">="&$
A$2:$A$14),ROW(A1)),COUNTIF($A$2:1格子社区-Excel互助交流平台
献花(0)
+1
(本文系阳光的bilan...首藏)