excel两列数据中如何找出相同的数据并对应排列

如题所述

在工作中,我们时常会遇到这样一种情况:原有数据需要进行更新,同时要原有的名单排序不变,新数据要与原有的名单一一对应。如果是数据很少的话,可以一个个手动添加和排序,但是当数据变得很庞大的时候,匹配数据的工作将变得很庞大。如上图所示,B、C列是原有数据,C列的经验值需要更新,而D、E列是新数据但顺序与原有数据不同,如何快速将E列的数据更新到C列,且能够与原有数据一一对应,并做好排序?

两组数据的筛选配对并排序的方法有很多种,今天我们来介绍一下如何通过“vlookup函数”快速实现这一功能:

在F3中输入公式:“=IF(COUNTIF($D:$D,$B3)=0,””,INDEX($D:$E,MATCH($B3,$D:$D,),COLUMN(B3)))”,回车后就会得到新数据与原有数据一一对应的结果了,这个公式拆开来看:

countif函数:是用来查找符合条件的数据,公式countif($d:$d中的$d:$d表示选中D列的所有数据;

2.b3或¥b3:是指满足条件的数据;

3.index函数:通过查找符合条件的数据并返回引用,表中index($d:$e表示函数所要返回的值从这两列中查找;

4.match函数:用来匹配数据以确定数据在列表中的位置,$b3是指所要查找的原始数据;

5.$d:$d:是指所要匹配数据所在的单元格区域;

6.column函数:用来表示返回数据所在位置的列号。

在输入完整的公式之后回车,就会在F3中出现与B3相匹配的数据,单元格下拉至内容末尾,所有的新数据就一一对应起来了。将F列中的数据全选-复制,点击C3单元格,右键-选择性粘贴-值,新数据就更新到了原有列表上了,删除D到F列的数据,新数据更新工作就此完成!

当然,要实现同样效果还可以通过各种纯粹的排序来完成,相应的工作量会大很多,也容易出错。本文只通过一个公式就可以实现这种效果,效率是相当的高。但因为这个公式包含了很多函数的应用,所以在实际应用过程中,需要弄明白各个函数背后的原理之后,这样才可以举一反三,轻松应对同类的数据处理工作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-17
你不要杀别人啊,那么多条人命!
呵呵!
==================================================
没人回答我来回答你吧:
假设从a2起是那600个人命,b2起是那1000个人命,呵呵,c2起是电邮,d2是你要的结果:
那么:d2=offset($b$2,match(a2,$b$2:$b$2000,)-1,1)
下拉!本回答被网友采纳
第2个回答  2020-11-17
在Excel中使用筛选工具筛选内容。
1.选择一列文本点击右上角的排序和筛选选择筛选工具。
2.打开筛选条件后点击总列后面的三角打开选项。
3.打开选项后选择筛选条件进行筛选可以选择多个筛选条件。
4.根据以上步骤即可在Excel中使用筛选工具筛选内容。
第3个回答  2020-01-19
用vba编程解决
思想是(假设你的单据号是唯一的)
从少的一列开始,循环少的那列,每读取一个单元格,再循环读多的一列,发现有相同的,将相同的哪个位置和当前位置交换,便可以了.vba用vb语言的,很容易的
第4个回答  2020-11-17
在Excel中使用筛选工具筛选内容。
1.选择一列文本点击右上角的排序和筛选选择筛选工具。
2.打开筛选条件后点击总列后面的三角打开选项。
3.打开选项后选择筛选条件进行筛选可以选择多个筛选条件。
4.根据以上步骤即可在Excel中使用筛选工具筛选内容。
相似回答