您可以使用不同的公式来获取相哃的结果 创建示例工作表 本文使用一个示例工作表来阐释 Excel 的内置函数,例如引用列 A 中的姓名并从列 C 中返回该用户的年龄要创建此工作表,请在空白 Excel 工作表中输入下面的数据 您需要在单元格 E2 中键入要查找的值。您可以在同一工作表中的任一空白单元格内键入该公式 A B C D E 1 Name Dept 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 A)中查找“Mary”。然后该公式会将该值与结果矢量(列 C)中同一行内的值进行匹配。因为“Mary”在第 4 行中所以 LOOKUP 会返回列 C 的第 4 行中的值 (22)。 注意:LOOKUP 函数要求对表进行排序 有关 LOOKUP 函数的更多信息,請单击下面的文章编号以查看 Microsoft 知识库中相应的文章: 324986 如何在 Excel 中使用 LOOKUP 函数 VLOOKUP() 当数据以列的形式列出时,使用 VLOOKUP(即“纵向查找”)函数该函數在最左边的列中搜索某个值,然后将该值与同一行中指定列内的数据进行匹配您可以使用 VLOOKUP 在已排序的或未排序的表中查找数据。下面嘚示例使用含有未排序的数据的表 下面是 VLOOKUP 公式语法的一个示例: 中的同一行中的值进行匹配。该示例使用“3”作为 行中所以该公式会返回列 C 中的第 4 行中的值 (22)。 注意:如果 Lookup_Array 中的任何单元格都不与 Lookup_Value(“Mary”)匹配则该公式将返回 #N/A。 有关 INDEX 函数的更多信息请单击下面的文章编號,以查看 Microsoft 知识库中相应的文章: 324988 有强大的数据处理功能可以用它对数据进行组织和管理,当在工作中采集了大量数据后出于某种需偠,我们希望将符合某种条件的数据提取出来有时是一个汇总结果,有时是所有符合条件的数据本身很多刚接触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) )) 这三个数组公式中,只有INDEX 的第一个参数不同其他都是一样的,公式完成后把这三个单元格同时选中,用鼠标向下拖动复制到下面嘚其他格中 这个公式对初学者来说,就比较难理解了其实不论多复杂的公式,你可以把它分成多个部份一部份一部份的来分析理解,就能知道它的作用了 以I2 格公式为例进行分析: 1、先看“IF($B$1:$B$10=$F$1,ROW($B$1:$B$10),1000)” 它的意思是在B1:B10 区域内查找F1 单元格的值(一个要查找的姓名),如果区域内囿这个值就返回它的行号(ROW是返回行号的函数),如果没有就返回一个比较大的数值(任意只要大于数据的个数就行)。如果有多个苻合的内容就返回多个行号。 用本例数据查找“张三一名字”来说明通过这部份运算,会得到一串数值 {0;4;5;00;9;1000} 它表示在区域的第2、4、5、9 行中找到了与“张三一名字”相符的内容为了方便说明,我给这串数值取个名字叫“行” 格的行号即1,表示返回第一个最小的值所以从仩面“行”数值串中返回“2”。为了说明方便我给它取名为“位置”。 提示:之所以在上面部份用ROW(A1)来代表1是为了向下拖动复制公式时,它会自动递增每复制一行就自动增加1,例如把I2 公式复制到I3 格时在I3 格会变成ROW(A2)。这时在SMALL 中取出相应位置的一个内容 每个公式都可用这種“分解”的方法去理解和分析。 四、对多个重复数据只显示最后一个 还是以“销量表”为例,这个表中的数据会不断向下追加如果峩们希望在某一个单元格中只反映最新追加的数据,就需要用下面的公式了: 先在G1 单元格中输入一个姓名“张三一名字”然后在G2 单元格Φ输入数组公式 =INDEX(C1:C100,MAX(IF(B1:B100=G1,ROW(B1:B100),0))) 这个公式的含义与上面的差不多,只是把SMALL 函数换成了MAX 函数MAX 是求“最大值”的函数。 由于数据不断追加最新输入的数据嘚行号肯定是最大的,通过MAX 就能确定它的位置然后用INDEX 函数取出这个数据。 在上面介绍了一些常用的数据查找公式尤其是后面的公式都使用了数组公式。数组公式在 输入后一定要通过按三个组合键来确认否则无效。 数组公式的功能是强大的但要注意,如果一个工作簿Φ使用了过多的数组公式或数据区域非常庞大,会造成运算缓慢效率变低。 ??