按第2行的从小到大排序返回出来,并且第1行也要跟着第2行显示出来,请问这个应该怎么弄?
能够使用行排序自然是比较好的操作,转置两次操作也快,如果要使用函数进行排序,或许还会显得更复杂点,效果如下:
首先这里第二行的数据有重复,为了排序,需要对数据进行调整,此处使用的是countif() 函数,重复次数作为有效数据,实现新数据;
接着使用small或者large函数实现升降序;
最后再根据升降序后的数据及辅助行数据获取对应的值。
公式:
A4=A2+COUNTIF($A$2:A2,A2)
A5=SMALL($A$4:$H$4,COLUMN(A1))
A7=INDEX($A$1:$H$1,,MATCH(A5,$A$4:$H$4,0))
A8=INDEX($A$2:$H$2,,MATCH(A5,$A$4:$H$4,0))
A10=INDEX($A$1:$H$1,,SUMPRODUCT(1*(A5=$A$4:$H$4)*COLUMN($A$4:$H$4))) (另一种方法)
先在A6输入公式:=SMALL($A$2:$H$2,COLUMN(A1))直接回车结束
然后在A5公式:=INDEX($A$1:$H$1,1,SMALL(IF($A$2:$H$2=A6,COLUMN($A$2:$H$2),4^8),COUNTIF($A$6:A6,A6)))
输入后同时按ctrl + shift + enter三个键结束。
然后往右拉就好了。
本回答被提问者采纳可以利用Hlookup()函数。但要第一行与第二行换一下。
A4=SMALL($A$1:$H$1,COLUMN(A1))
A5=HLOOKUP(A4,$A$1:$H$2,2,0) 其他横拉。
数据就变成竖排了,然后使用第二列数据对全部数据进行排序,排序完成后再重复一次上面的粘贴方法就得到 重新排列后的横排数据。追问
这个手工方法太麻烦,有没有简单的?