分享

Excel函数公式数据重新排列的14种公式

 L罗乐 2017-09-09


如下图所示,左边成绩表需要用函数公式按分数从高到低重新排列。如果分数相同,所在行号较大的排在前面。右表是完成效果,填充颜色区域由一个公式完成。

 

下面介绍14种公式,以下所有公式如果没有特殊说明,均需要按【CTRL SHIFT ENTER】三键结束。

核心思路分析:

要解决分数从高到低排序问题,首先要想到用LARGE函数。还有一个问题就是当遇到分数相同时,需要把分数和分数所在的行号绑定在一起,公式中$C$2:$C$11*10^3 ROW($C$2:$C$11)的作用就是把分数与分数所在行号绑定在一起。因为优先要按分数高低排序,当分数相同时才按行号大小排序。要达到绑定在一起,又不互相干扰的目的,根据成绩表记录行数,记录只有10条,分数范围1-100,分数所在行号2-11,可以把分数放大至少100倍,这里为了区分明显,中间隔一个0,放大了1000倍,再加上分数所在的单元格行号,用LARGE函数从大到小计算最值即可。实际应用可以根据数据的行数来确定需要放大多少倍。以下所有公式都是类似的,不过是用不同的查找引用函数来实现的。


公式1

E2=INDEX(A$2:A$11,MATCH(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),$C$2:$C$11*10^3 ROW($C$2:$C$11),))

向右填充,再向下填充。

 

公式2

I2=INDEX($A$2:$C$11,MATCH(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),$C$2:$C$11*10^3 ROW($C$2:$C$11),),COLUMN(A1))

向右填充,再向下填充。

 

公式3

A14=LOOKUP(,0/(($C$2:$C$11*10^3 ROW($C$2:$C$11))=LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1))),A$2:A$11)

这公式不需要三键结束。

向右填充,再向下填充。

 

公式4

E14=LOOKUP(,IF({1,0},0/(($C$2:$C$11*10^3 ROW($C$2:$C$11))=LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1))),A$2:A$11))

向右填充,再向下填充。

 

公式5

I14=LOOKUP(,CHOOSE({1,2},0/(($C$2:$C$11*10^3 ROW($C$2:$C$11))=LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1))),A$2:A$11))

向右填充,再向下填充。

 

公式6

M14=VLOOKUP(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),IF({1,0},$C$2:$C$11*10^3 ROW($C$2:$C$11),A$2:A$11),2,)

向右填充,再向下填充。

 

公式7

Q14=VLOOKUP(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),CHOOSE({1,2},$C$2:$C$11*10^3 ROW($C$2:$C$11),A$2:A$11),2,)

向右填充,再向下填充。

 

公式8

A26=HLOOKUP(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),TRANSPOSE(IF({1,0},$C$2:$C$11*10^3 ROW($C$2:$C$11),A$2:A$11)),2,)

向右填充,再向下填充。

 

公式9

E26=HLOOKUP(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),TRANSPOSE(CHOOSE({1,2},$C$2:$C$11*10^3 ROW($C$2:$C$11),A$2:A$11)),2,)

向右填充,再向下填充。

 

公式10

I26=INDIRECT(CHAR(64 COLUMN(A1))&MATCH(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),$C$2:$C$11*10^3 ROW($C$2:$C$11),) 1)

向右填充,再向下填充。

 

公式11

M26=INDIRECT('r'&MATCH(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),$C$2:$C$11*10^3 ROW($C$2:$C$11),) 1&'c'&COLUMN(A1),)

向右填充,再向下填充。

 

公式12

Q26=INDIRECT(ADDRESS(MATCH(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),$C$2:$C$11*10^3 ROW($C$2:$C$11),) 1,COLUMN(A1)))

向右填充,再向下填充。


公式13

A38=OFFSET(A$1,MATCH(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),$C$2:$C$11*10^3 ROW($C$2:$C$11),),)

向右填充,再向下填充。

 

公式14

E38=OFFSET($A$1,MATCH(LARGE($C$2:$C$11*10^3 ROW($C$2:$C$11),ROW(A1)),$C$2:$C$11*10^3 ROW($C$2:$C$11),),COLUMN(A1)-1)

向右填充,再向下填充。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多