【200分悬赏】excel中,如何排序使一列与另一列相同?又使一列跟着另一列变化?

如图,B、C列一一对应;D、E列一一对应。
【B列所有单元格】与【D列所有单元格】相同(只是上下顺序不一样,相同项不在同一行)。
------------------------------------
要求:1、按照B列的顺序,排序D列(使B、D两列相同单元格在同一行)。
2、D、E列一一对应(如图举例,D9与B2相同,重排后D9升D2。同理,要求E9也升E2。以此类推,换句话说就是E列跟着D列走)

讲两种方法:

第一种,在D、E两列前插入两列,在D2输入公式=INDEX(F$1:F$30,MATCH($C2,$G$1:$G$30,0)),复制到E2,选择D2:E2并向下填充,再将D、E列复制后选择性粘贴为数值,整理数据,删除F、G列即完成。

第二种,在末尾增加一辅助列,输入公式=MATCH(E2,C:C,0)并向下填充,再复制后粘贴为数值,选择后三列,以辅助列数值升序排列即可,最后删除辅助列。

效果见图,操作可下附件视频教程。


追问

如图(提问中的),你的第一种方法,好像同时使E列按照C列排序(使E、C两列的相同项在同一行)。可能你误解我的意思了,我只想使D列按照B列排序(使D、B两列的相同项在同一行)。另外,D、E列一一对应的关系不变。

这么说吧,你把D、E两列看做一列,取名DE列。DE列的排序规则=D列按照B列排序(使D、B两列的相同项在同一行)。E列怎么排序,与C列无关,只与D列有关。

追答

的确是题目看错了,不过处理方法其实是类似的,只是公式略有区别:

方法一:在D列前插入两空列后D2公式应改为=INDEX(F:F,MATCH($B2,$F:$F,0)),其余操作一致。

方法二:辅助列公式应改为=MATCH(D2,B:B,0),其余操作一致。详见视频教程。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-11
B列与D列单元内数据如果完全相同,那么,
在F2输入:
=VLOOKUP(B2,D:E,2,0)
下拉公式,
再将F列选择性粘贴,将公式变成数值。
B列与F列就是一一对应的关系了。
相似回答