excel每行字段和另外一行排列一致

我有两个sheet,每个sheet里是中国城市地域的表格,但是省市的顺序不一样,我想用sheet2里的表照着sheet1里的省市顺序重新排列,有没有简便的方法。(图1为sheet1,图2为sheet2,两个sheet省市字段一致,但是区县还是有差别的)

因为两个表中的数据不完全一致,所以用公式比较困难,推荐用自定义序列排序的方法。下面简单模拟了三个省市的部分地市,通过截图说明操作过程。

1. 以Sheet1为标准,对Sheet2的数据进行重新排序,两个Sheet的数据不完全一致

2. 要对整个工作表接省市行排序,首先要对排序的标准添加到自定义序列:

选择Sheet1中第1行的数据,这里是A1:C1,文件选项卡——选项——高级——编辑自定义序列,选择A1:C1自动到导入框中,点“导入”后,将选择的内容导入到自定义序列。确定,再确定,回到工作表中。

3. 对Sheet2的省级按行进行排序,光标定位到工作表的数据区域中任意位置,数据选项卡——排序和筛选——排序,Excel会自动扩展选项到全部数据区域,如果不符要求,还可以拖动选择要排序的数据区域。在排序对话框中,先选择“选项”,选择“按行排序”,确定后回到排序对话框中,再选择排序依据,选择“自定义序列”,在弹出的对话框中,选择刚添加的自定义序列后确定回到排序对话框。排序的主关键词选择第1行,这样排序的设置就完成了:

4. 在排序对话框中,按确定后,整个工作表就按自定义序列的顺序进行了行排序:

5. 对每个省市的地市进行按列排序,这里没什么捷径,只能每个省市排序一次。下面在湖南省为例。同样是先自定义序列,选择Sheet1中湖南省的地市数据列,同前面一样,添加到自定义序列,不再截图说明

6. 选择Sheet2中湖南省一列数据,同样进行排序。

但这里要注意的是,因为只选择了一列数据,Excel会提示扩展数据区域,也就是会扩展到整个数据区域。而我们只要对当前列排序,所以要选择下面的选项:“以当前选定区域排序”,点排序后进入排序对话框,与前面的截图基本一样,同样值得注意的是,因为前面通过选项,已选择“按行排序”,这里要回过来,选择“按列排序”,并选择“有数据标题行”——湖南就是标题了——并以该标题做主关键词进行排序

两个表的数据不同时,相同的按自定义序列进行排序;Shee1k中有,而Sheet2中没有的数据不会在Sheet2中出现;Sheet2中有,Sheet1中没有的数据,保持原顺序,不受排序影响。

效率高的话,还是VBA比较好!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-24
用VLOOKUP
根据关键字
第2个回答  2019-01-24
写代码可以实现你说的
相似回答