excel里match函数和vlookup函数的使用和区别是什么,尽量说详细点

发布网友 发布时间:2022-03-29 11:08

我来回答

3个回答

热心网友 时间:2022-03-29 12:37

MATCH 在引用或数组中查找值:指在某个连续区域如某行或某列中查找一个值,结果为这个值在这个区域中的第几个位置;
VLOOKUP 查找数组的第一列并移过行,然后返回单元格的值。如不够详细,再看:

Excel中的MATCH函数
  在Excel中,MATCH函数为返回在指定方式下与指定数值匹配的数组中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用 MATCH 函数而不是 LOOKUP 函数。
MATCH函数语法
  MATCH(lookup_value,lookup_array,match_type)
  Lookup_value 为需要在数据表中查找的数值。
  Lookup_value 为需要在 Look_array 中查找的数值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。
  Lookup_value 可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。
  Lookup_array 可能包含所要查找的数值的连续单元格区域。Lookup_array 应为数组或数组引用。
  Match_type 为数字 -1、0 或 1。Match-type 指明 Microsoft Excel 如何在 lookup_array 中查找 lookup_value。
  如果 match_type 为 1,函数 MATCH 查找小于或等于 lookup_value 的最大数值。Lookup_array 必须按升序排列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE。
  如果 match_type 为 0,函数 MATCH 查找等于 lookup_value 的第一个数值。Lookup_array 可以按任何顺序排列。
  如果 match_type 为 -1,函数 MATCH 查找大于或等于 lookup_value 的最小数值。Lookup_array 必须按降序排列:TRUE、FALSE、Z-A、...、2、1、0、-1、-2、...,等等。
  如果省略 match_type,则假设为 1。
MATCH函数说明
  函数 MATCH 返回 lookup_array 中目标值的位置,而不是数值本身。例如,MATCH("b",{"a","b","c"},0) 返回 2,即“b”在数组 {"a","b","c"} 中的相应位置。
  查找文本值时,函数 MATCH 不区分大小写字母。
  如果函数 MATCH 查找不成功,则返回错误值 #N/A。
  如果 match_type 为 0 且 lookup_value 为文本,lookup_value 可以包含通配符、星号 (*) 和问号 (?)。星号可以匹配任何字符序列;问号可以匹配单个字符。

VLOOKUP函数

  纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,VLOOKUP是按列查找的,HLOOKUP是按行查找的。
语法规则
  该函数的语法规则如下:   VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)   
参数简单说明输入数据类型
lookup_value要查找的值数值、引用或文本字符串
table_array要查找的区域数据表区域
col_index_num返回数据在区域的第几列数正整数
range_lookup精确匹配TRUE(或不填) /FALSE
Lookup_value参数说明
  Lookup_value为需要在数据表第一列中进行查找的数值。Lookup_value 可以为数值、引用或文本字符串。
Table_array参数说明
  Table_array为需要在其中查找数据的数据表。使用对区域或区域名称的引用。
col_index_num参数说明
  col_index_num为table_array 中待返回的匹配值的列序号。col_index_num 为 1 时,返回 table_array 第一列的数值,col_index_num 为 2 时,返回 table_array 第二列的数值,以此类推。如果 col_index_num 小于1,函数 VLOOKUP 返回错误值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。
Range_lookup参数说明
  Range_lookup为一逻辑值,指明函数 VLOOKUP 查找时是精确匹配,还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值。也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值。如果 lookup_value 为 FALSE,函数 VLOOKUP 将查找精确匹配值,如果找不到,则返回错误值 #N/A。
 vlookup函数示例
所示,我们要在A2:F12区域中提取100003、100004、100005、100007、100010五人的全年总计销量,并对应的输入到I4:I8中。一个一个的手动查找在数据量大的时候十分繁琐,因此这里使用VLOOKUP函数演示:   首先在I4单元格输入“=Vlookup(”,此时Excel就会提示4个参数。   

Vlookup结果演示
第一个参数,很显然,我们要让100003对应的是I4,这里就输入“H4,” ;   第二个参数,这里输入我们要查找的区域(绝对引用),即“$A$2:$F$12,”;   第三个参数,“全年总计”是区域的第六列,所以这里输入“6”,输入“5”就会输入第四季度的项目了;   第四个参数,因为我们要精确的查找工号,所以留空即可。   最后补全最后的右括号“)”,得到公式“=VLOOKUP(H4,$A$2:$F$12,6)”,使用填充柄填充其他单元格即可完成查找操作。   VLOOKUP函数使用注意事项   说到VLOOKUP函数,相信大家都会使用,而且都使用得很熟练了。不过,有几个细节问题,大家在使用时还是留心一下的好。   一.VLOOKUP的语法   VLOOKUP函数的完整语法是这样的:   VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)   1.括号里有四个参数,是必需的。最后一个参数range_lookup是个逻辑值,我们常常输入一个0字,或者False;其实也可以输入一个1字,或者true。两者有什么区别呢?前者表示的是完整寻找,找不到就传回错误值#N/A;后者先是找一模一样的,找不到再去找很接近的值,还找不到也只好传回错误值#N/A。这对我们其实也没有什么实际意义,只是满足好奇而已,有兴趣的朋友可以去体验体验。   2.Lookup_value是一个很重要的参数,它可以是数值、文字字符串、或参照地址。我们常常用的是参照地址。用这个参数时,有三点要特别提醒:   A)参照地址的单元格格式类别与去搜寻的单元格格式的类别要一致,否则的话有时明明看到有资料,就是抓不过来。特别是参照地址的值是数字时,最为明显,若搜寻的单元格格式类别为文字,虽然看起来都是123,但是就是抓不出东西来的。   而且格式类别在未输入数据时就要先确定好,如果数据都输入进去了,发现格式不符,已为时已晚,若还想去抓,则需重新输入。   B)第二点提醒的,是使用时一个方便实用的小技巧,相信不少人早就知道了的。我们在使用参照地址时,有时需要将lookup_value的值固定在一个格子内,而又要使用下拉方式(或复制)将函数添加到新的单元格中去,这里就要用到“$”这个符号了,这是一个起固定作用的符号。比如说我始终想以D5格式来抓数据,则可以把D5弄成这样:$D$5,则不论你如何拉、复制,函数始终都会以D5的值来抓数据。   C) 用“&" 连接若干个单元格的内容作为查找的参数。在查找的数据有类似的情况下可以做到事半功倍。   3.Table_array是搜寻的范围,col_index_num是范围内的栏数。Col_index_num 不能小于1,其实等于1也没有什么实际用的。如果出现一个这样的错误的值#REF!,则可能是col_index_num的值超过范围的总字段数。   二.VLOOKUP的错误值处理。   我们都知道,如果找不到数据,函数总会传回一个这样的错误值#N/A,这错误值其实也很有用的。比方说,如果我们想这样来作处理:如果找到的话,就传回相应的值,如果找不到的话,我就自动设定它的值等于0,那函数就可以写成这样:   =if(iserror(vlookup(1,2,3,0)),0,vlookup(1,2,3,0))   这句话的意思是这样的:如果VLOOKUP函数返回的值是个错误值的话(找不到数据),就等于0,否则,就等于VLOOKUP函数返回的值(即找到的相应的值)。   这里面又用了两个函数。   第一个是iserror函数。它的语法是iserror(value),即判断括号内的值是否为错误值,如果是,就等于true,不是,就等于false。   第二个是if函数,这也是一个常用的函数的,后面有机会再跟大家详细讲解。它的语法是if(条件判断式,结果1,结果2)。如果条件判断式是对的,就执行结果1,否则就执行结果2。举个例子:=if(D2=””,”空的”,”有东西”),意思是如D2这个格子里是空的值,就显示文字“空的”,否则,就显示“有东西”。(看起来简单吧?其实编程序,也就是这样子判断来判断去的。)   三.含有VLOOKUP函数的工作表档案的处理。   一般来说,含有VLOOKUP函数的工作表,如果又是在别的档案里抓取数据的话,档案往往是比较大的。尤其是当你使用的档案本身就很大的时候,那每次开启和存盘都是很受伤的事情。   有没有办法把文件压缩一下,加快开启和存盘的速度呢。这里提供一个小小的经验。   在工作表里,点击工具──选项──计算,把上面的更新远程参照和储存外部连结的勾去掉,再保存档案,则会加速不少,不信你可以试试。   下面详细的说一下它的原理。   1.含有VLOOKUP函数的工作表,每次在保存档案时,会同时保存一份其外部连结的档案。这样即使在单独打开这个工作表时,VLOOKUP函数一样可以抓取到数值。   2.在工作表打开时,微软会提示你,是否要更新远程参照。意思是说,你要不要连接最新的外部档案,好让你的VLOOKUP函数抓到最新的值。如果你有足够的耐心,不妨试试。   3.了解到这点,我们应该知道,每次单独打开含有VLOOKUP函数的工作表时,里面抓取外部档案的数值,只是上次我们存盘时保存的值。若要连结最新的值,必须要把外部档案同时打开。

热心网友 时间:2022-03-29 13:55

vLOOKUP函数是按列查找,SUMIF我就不懂了。 谢谢 根据指定条件对若干单元格求和。 打开excel,按F1,帮助,查找SUMIF,里面讲解很细,且有实例。

热心网友 时间:2022-03-29 15:30

MATCH(
)
用途:
返回在指定方式下与指定数值匹配的数组中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用MATCH
函数。注意:MATCH函数返回lookup_array
中目标值的位置,而不是数值本身。
语法:
MATCH(lookup_value,lookup_array,match_type)。
参数:
Lookup_value为需要在数据表中查找的数值,它可以是数值(或数字、文本或逻辑值)、对数字、文本或逻辑值的单元格引用。
Lookup_array是可能包含所要查找的数值的连续单元格区域,Lookup_array可以是数组或数组引用;
Match_type
为数字-1、0或1
,它说明Excel
如何在lookup_array
中查找lookup_value。
如果match_type
为1,函数MATCH
查找小于或等于lookup_value
的最大数值。如果match_type
为0,函数MATCH
查找等于lookup_value
的第一个数值。
如果match_type
为-1,函数MATCH
查找大于或等于lookup_value
的最小数值。
如果match_type
为0
且lookup_value
为文本,lookup_value可以包含通配符(“*”和“?”)。星号可以匹配任何字符序列,问号可以匹配单个字符。
实例:如果A1=68、A2=76、A3=85、A4=90,则公式“=MATCH(90,A1:A5,0)”返回4。 Vlookup——数与表格比  Lookup有一个大哥——Vlookup函数。两兄弟有很多相似之处,但大哥本领更大。Vlookup用对比数与一个“表”进行对比,而不是Lookup函数的某1列或1行,并且Vlookup可以选择采用精确查询或是模糊查询方式,而Lookup只有模糊查询。  ·模糊匹配  用Vlookup函数进行模糊查询时,几乎与Lookup的作用完全一致。我们用Vlookup函数来提取第1个例子中的工资税率结果。函数公式为“=VLOOKUP(F4,$B$3:$D$8,3,TRUE)”。  在这个函数中,用第1个收入“$123,409”(F4单元格)当作对比数,用它与左侧表(“$B$3:$D$8”)的第1列数进行对比,虽然“$123,409”在“收入最低”各档数中没有完全一致的数据与之匹配,但是函数的最后一个参数是“TURE”(“TURE”就是模糊查询),所以它会与其中小于它的最大数“$58,501”相匹配。并将表中第3列(函数的第3个参数为“3”)对应的数据提取出来,所以结果同样是“36.00%”。  ·订单明细表:精确匹配  有时候,我们需要精益求精。在下面这个“订单明细表”(见图3)中,最后一列“货运费用”中的数据要通过“交货方式”从左侧“配送公司收费表”中进行匹配查询。这是一个典型的精确查询的例子,计算第1个数据的函数公式是“=VLOOKUP(H3,$B$2:$D$6,3,FALSE)”。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com