在excel中如何找数据

例如,我四月招工1000人,把这1000个人的名字输入A列,B列是现在公司所有在上班的人员的名字,我想查找出我四月招工的1000人中,到底有那些人还在上班。我如何用最快的速度找出来
人数太多CTRL+F查找太慢了。有没有快捷键。变换表格的样式那样也不行,因为新招的人和已经在工作的人是两个部门给的表格,我只能复制他们的数据统计到一个表格中,我需要找的是新招这批人中多少人在上班。

您可以使用不同的公式来获取相同的结果。 创建示例工作表 本文使用一个示例工作表来阐释 Excel 的内置函数,例如引用列 A 中的姓名并从列 C 中返回该用户的年龄。要创建此工作表,请在空白 Excel 工作表中输入下面的数据。 您需要在单元格 E2 中键入要查找的值。您可以在同一工作表中的任一空白单元格内键入该公式。 A B C D E 1 Name Dept Age Find Value 2 Henry 501 28 Mary 3 Stan 201 19 4 Mary 101 22 5 Larry 301 29 术语定义 本文使用下列术语来说明 Excel 内置函数: 术语 定义 示例 Table_Array 整个查找表。 A2:C5 Lookup_Value 要在 Table_Array 的第一列中查找的值。 E2 Lookup_Array - 或 - Lookup_Vector 包含可能的查找值的单元格区域。 A2:A5 Col_Index_Num Table_Array 中的应为其返回匹配值的列号。3(Table_Array 中的第三列) Result_Array - 或 - Result_Vector 一个只包含一行或一列的区域。它的大小必须与 Lookup_Array 或 Lookup_Vector 相同。 C2:C5 Range_Lookup 逻辑值(TRUE 或 FALSE)。如果该值为 TRUE 或被忽略,则返回近似的匹配项。如果该值为 FALSE,则将查找完全匹配的项。 FALSE Top_Cell 这是要作为偏移量基准位置的参考位置。 Top_Cell 必须是一个单元格或一个由相邻单元格组成的区域。否则,OFFSET 会返回 #VALUE! 错误值。 Offset_Col 这是您希望结果区域的左上角单元格偏离(向左或向右)所参考的单元格的列数。例如,如果 Offset_Col 参数为“5”,则会指定结果区域中的左上角单元格在参考位置右侧第五列处。Offset_Col 可以是正数(表示位于起始参考位置的右侧),也可以是负数(表示位于起始参考位置的左侧)。 函数 LOOKUP() LOOKUP 函数可在单个行或列中查找值,并将该值与另一行或列中同一位置的值进行匹配。 下面是 LOOKUP 公式语法的示例: =LOOKUP(Lookup_Value,Lookup_Vector,Result_Vector) 下面的公式在示例工作表中查找 Mary 的年龄: =LOOKUP(E2,A2:A5,C2:C5) 该公式使用单元格 E2 中的值“Mary”并在查找矢量(列 A)中查找“Mary”。然后,该公式会将该值与结果矢量(列 C)中同一行内的值进行匹配。因为“Mary”在第 4 行中,所以 LOOKUP 会返回列 C 的第 4 行中的值 (22)。 注意:LOOKUP 函数要求对表进行排序。 有关 LOOKUP 函数的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 324986 如何在 Excel 中使用 LOOKUP 函数 VLOOKUP() 当数据以列的形式列出时,使用 VLOOKUP(即“纵向查找”)函数。该函数在最左边的列中搜索某个值,然后将该值与同一行中指定列内的数据进行匹配。您可以使用 VLOOKUP 在已排序的或未排序的表中查找数据。下面的示例使用含有未排序的数据的表。 下面是 VLOOKUP 公式语法的一个示例: =VLOOKUP(Lookup_Value,Table_Array,Col_Index_Num,Range_Lookup) 下面的公式在示例工作表中查找 Mary 的年龄: =VLOOKUP(E2,A2:C5,3,FALSE) 该公式使用单元格 E2 中的值“Mary”并在最左边的列(列 A)中查找“Mary”。然后,该公式会将该值与 Column_Index 中的同一行中的值进行匹配。该示例使用“3”作为 Column_Index(列 C)。因为“Mary”在第 4 行中,所以 VLOOKUP 会返回列 C 中的第 4 行中的值 (22)。 有关 VLOOKUP 函数的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 181213 如何使用 VLOOKUP 或 HLOOKUP 查找完全匹配项 INDEX() 和 MATCH() 您可以将 INDEX 函数和 MATCH 函数一起使用,以获取与使用 LOOKUP 或 VLOOKUP 相同的结果。 下面是一个语法示例,它组合使用 INDEX 和 MATCH,以便与前面示例中的 LOOKUP 和 VLOOKUP 产生相同的结果: =INDEX(Table_Array,MATCH(Lookup_Value,Lookup_Array,0),Col_Index_Num) 下面的公式在示例工作表中查找 Mary 的年龄: =INDEX(A2:C5,MATCH(E2,A2:A5,0),3) 该公式使用单元格 E2 中的值“Mary”并在列 A 中查找“Mary”。然后,它将该值与列 C 中同一行内的值进行匹配。因为“Mary”在第 4 行中,所以该公式会返回列 C 中的第 4 行中的值 (22)。 注意:如果 Lookup_Array 中的任何单元格都不与 Lookup_Value(“Mary”)匹配,则该公式将返回 #N/A。 有关 INDEX 函数的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 324988 XL2002:如何使用 INDEX 函数在表中查找数据 OFFSET() 和 MATCH() 您可以组合使用 OFFSET 和 MATCH 函数,以便与前面示例中的函数产生相同的结果。 下面是一个语法示例,它组合使用 OFFSET 和 MATCH,以便与 LOOKUP 和 VLOOKUP 产生相同的结果: =OFFSET(top_cell,MATCH(Lookup_Value,Lookup_Array,0),Offset_Col) 该公式在示例工作表中查找 Mary 的年龄: =OFFSET(A1,MATCH(E2,A2:A5,0),2) 该公式使用单元格 E2 中的值“Mary”,并在列 A 中查找“Mary”。然后,该公式将该值与同一行中向右两列处(列 C)的值进行匹配。因为“Mary”在列 A 中,所以该公式会返回列 C 中的第 4 行中的值 (22)。 有关 OFFSET 函数的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 324991 XL2002:如何使用 OFFSET 函数 �0�2�0�2�0�2�0�2 EXCEL 数据查找 EXCEL 有强大的数据处理功能,可以用它对数据进行组织和管理,当在工作中采集了大量数据后,出于某种需要,我们希望将符合某种条件的数据提取出来,有时是一个汇总结果,有时是所有符合条件的数据本身。很多刚接触EXCEL 的朋友不知道从哪个方面入手,下面我们通过几个实例,快速掌握这些方法。 一、通过一定条件查找,返回汇总结果 在这个销量表中,如果我们想统计出姓名为“张三”的全部销量,可以用一个函数来做公式: =SUMIF(销量表!B:B,"张三",销量表!C:C) 这个SUMIF 函数是一个条件汇总函数,它有三个参数,第一个参数是要查找的区域,在本例中是B 列,第二个参数是要查找的条件,在本例中是“张三”这个姓名,第三个参数是需要汇总的区域。 这个公式的含义是:在“销量表”的B 列查找“张三”这个内容,在B 列找到后,把找到的同一行中的C 列值相加。 我们还可以用下面这个公式达到同样的效果: =SUM(IF(销量表!B1:B100="张三",销量表!C1:C100)) 这是一个数组公式,在输入完成后要按CTRL+SHIFT+ENTER 组合键确认,此时会自动在公式的两端加上一对花括号(手工输入花括号无效)。 在这个公式中用了两个函数SUM与IF,先由IF 对它右边的条件“销量表!B1:B100="张三"”做判断,这个条件同样是在销量表的B 列查找“张三”,当条件成立时,就执行“销量表!C1:C100”这个部份,即返回C 列同一行中的数值,最后由SUM 函数将返回的所有相符的数值相加,得到正确结果。 第二个公式看似比第一个公式复杂,但它有一个“特殊”的作用,就是可以“多条件”查找。 再看一个例子,还是在“销量表”中,把六七月份的“张三”的销量统计出来(不要五月份的) =SUM(IF((MONTH(销量表!A2:A100)>5)*(销量表!B2:B100="张三"),销量表!C2:C100)) 这个数组公式用了两个条件,一个是A 列的月份要大于5(即只要6、7 月份的),另一个条件是B 列等于“张三”,只有这两条件都成立,才执行同一行中的C 列汇总求和。 在这个公式中,由于要对“月份”进行计算,所以用一了个MONTH 函数,它的作用是提取日 期中的“月份”。 要注意一点,在SUMIF 函数中可以用“整列”(即:销量表!B:B),而在SUM 与IF 组合的数组公式中,不能用“整列”这个方式,只能用一个具体的区域(如:销量表!A2:A100)。 提示1:在上面几个公式中,为了方便使用,可以把“条件”放在一个固定的单元格中,然后在公式中只引用这个单元格。比如把要查找的“张三”输入到K1 格中,然后把公式改成: =SUMIF(销量表!B:B,k1,销量表!C:C) 提示2:如果公式不在“销量表”中,那么公式中必须加上表格名字用以指定数据位置(如:“销量表!B1:B100”前面的“销量表!”),如果公式就在“销量表”工作表中,则公式中不必加工作表的名字。 提示3:想达到上面的结果,还有很多其他方法,大家可根据自己的喜好选择。 二、通过条件查找,返回符合条件的内容。 在上图的表格中,每个姓名是唯一的,希望通过一个姓名查找到所需的电话号码 比如查找李四的电话号码 在F1 单元格中输入一个要查找的姓名“李四”,然后在F2 单元格中用公式 =VLOOKUP(F1,A:B,2,0) 只要按需要改变F1 格中的姓名,就可在F2 单元格中得到对应的号码。 这个公式使用了VLOOKUP 函数,它有四个参数,第一个参数是要查找的值,第二个参数是要查找的范围,第三个参数表示返回范围中的第几列内容,第四个参数如果为0,就表示“精确查找”,如果为1 就表示“模糊查找”,一般用0 值居多。 公式的含意是:在A:B 两列范围的第一列A 列中,查找F1 单元格中的值,执行精确查找,找到后返回A:B 两列中第二列B 列的内容。 还可以用另一个公式来达到这个效果: =INDEX(B:B,MATCH(F1,A:A,0)) 这个公式用了两个函数,MATCH 函数返回F1 单元格的值在A 列的位置,第三个参数0 表示只返回查找到的第一个值;INDEX 函数通过前一个函数返回的位置,在B 列中取出对应的内容。 这两个公式各有特点,当查找区域是连续时,用VLOOKUP 比较省事;当区域不在同一个位置时,就只能用第二个公式了。 三、通过指定条件,把所有符合的内容都显示出来 还是以最上面的“销量表”为例,通过一个公式把所有姓名等于“张三”的内容都显示出来。 先在F1 格输入一个姓名“张三”,然后在H、I、J 列使用公式: H2 单元格输入公式 =INDEX($A$1:$A$10,SMALL(IF($B$1:$B$10=$F$1,ROW($B$1:$B$10),1000),ROW(A1) )) I2 单元格输入公式 =INDEX($B$1:$B$10,SMALL(IF($B$1:$B$10=$F$1,ROW($B$1:$B$10),1000),ROW(A1) )) J2 单元格输入公式 =INDEX($C$1:$C$10,SMALL(IF($B$1:$B$10=$F$1,ROW($B$1:$B$10),1000),ROW(A1) )) 这三个数组公式中,只有INDEX 的第一个参数不同,其他都是一样的,公式完成后,把这三个单元格同时选中,用鼠标向下拖动复制到下面的其他格中。 这个公式对初学者来说,就比较难理解了,其实不论多复杂的公式,你可以把它分成多个部份,一部份一部份的来分析理解,就能知道它的作用了。 以I2 格公式为例进行分析: 1、先看“IF($B$1:$B$10=$F$1,ROW($B$1:$B$10),1000)” 它的意思是在B1:B10 区域内查找F1 单元格的值(一个要查找的姓名),如果区域内有这个值,就返回它的行号(ROW是返回行号的函数),如果没有就返回一个比较大的数值(任意,只要大于数据的个数就行)。如果有多个符合的内容,就返回多个行号。 用本例数据查找“张三”来说明,通过这部份运算,会得到一串数值 {1000;2;1000;4;5;1000;1000;1000;9;1000} 它表示在区域的第2、4、5、9 行中找到了与“张三”相符的内容。为了方便说明,我给这串数值取个名字叫“行” 2、再看“SMALL(IF($B$1:$B$10=$F$1,ROW($B$1:$B$10),1000),ROW(A1))”这部份,它等价于“SMALL(行,ROW(A1))” 这部份用SMALL 函数返回一个“第几小值”,由于I2 单元格最后用的是ROW(A1),它是A1 格的行号,即1,表示返回第一个最小的值,所以从上面“行”数值串中返回“2”。为了说明方便,我给它取名为“位置”。 提示:之所以在上面部份用ROW(A1)来代表1,是为了向下拖动复制公式时,它会自动递增,每复制一行就自动增加1,例如把I2 公式复制到I3 格时,在I3 格会变成ROW(A2)。这时在SMALL 函数的第二个参数变成2,表示返回第二小值,即“行”字串中的“4”,依次类推。 3、最后看“INDEX($B$1:$B$10,SMALL(IF($B$1:$B$10=$F$1,ROW($B$1:$B$10),1000),ROW(A1)) )”,它等价于“INDEX($B$1:$B$10,位置)” 这就好理解了,通过“位置”的数值,从B1:B10 中取出相应位置的一个内容。 每个公式都可用这种“分解”的方法去理解和分析。 四、对多个重复数据,只显示最后一个 还是以“销量表”为例,这个表中的数据会不断向下追加,如果我们希望在某一个单元格中只反映最新追加的数据,就需要用下面的公式了: 先在G1 单元格中输入一个姓名“张三”,然后在G2 单元格中输入数组公式 =INDEX(C1:C100,MAX(IF(B1:B100=G1,ROW(B1:B100),0))) 这个公式的含义与上面的差不多,只是把SMALL 函数换成了MAX 函数,MAX 是求“最大值”的函数。 由于数据不断追加,最新输入的数据的行号肯定是最大的,通过MAX 就能确定它的位置,然后用INDEX 函数取出这个数据。 在上面介绍了一些常用的数据查找公式,尤其是后面的公式都使用了数组公式。数组公式在 输入后一定要通过按三个组合键来确认,否则无效。 数组公式的功能是强大的,但要注意,如果一个工作簿中使用了过多的数组公式,或数据区域非常庞大,会造成运算缓慢,效率变低。 �0�2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-30

=IF(COUNTIF($A:$A,B16)>=1,B16,"")如图

第2个回答  2014-05-30
你用这个公式试试:
在C1输入 =Vlookup(A1,B:B,1,0) ,下拉到C1000
可以显示出所有A列和B列重复的名字。本回答被网友采纳
第3个回答  2014-05-30
打个比方在A1内容赵四 B1内容赵四 则在C1输入=IF(A1=B2,"上班","未上班"),然后下拉到C1000即可明确看出
相似回答