东辰安华学习网专业分享各种生活知识、常识,和大家一起共勉!

当前位置:首页 > 励志


vlookup为什么匹配不出来(为什么vlookup匹配不出来)

2023-09-11 20:01:37栏目:商业
TAG: ok  匹配  查找  数据

大家好,今天小编来为大家解答以下的问题,关于vlookup为什么匹配不出来,为什么vlookup匹配不出来这个很多人还不知道,现在让我们一起来看看吧!

本文目录

  1. vlookup匹配错误的原因
  2. 为什么用vlookup数据匹配不出来
  3. 为什么vlookup匹配不出来
  4. vlookup出不来是什么原因

vlookup匹配错误的原因

1、数据类型问题。首先要检查应用的目标列和被应用的目标列数据类型是否一致。如一个是文本,一个是数字,那结果肯定是报错,一个也匹配不出来。

2、空格问题。需要检查套用的目标单元格的值前后是否有空格,尤其是从系统中导出的excel数据表时,特别要检查这一点。

3、目标套用列是否位于第一列;这个不容赘述,这是vlookup函数最显著的特点;

4、第三个参数是否正确。即被套用的对象是第几列开始显示,这也是vlookup函数的基本含义;

5、明确第二个参数是绝对引用还是相对引用。

6、数据表是否存在合并单元格。如有,则还原。

7、注意是精确查找还是模糊匹配。

为什么用vlookup数据匹配不出来

谢邀,

辅助列+IF{1,0}数组公式可以解决,

有多个符合值就代表着有“一对多”的关系,最终的展现要不然就是一个对象的多个符合值横着排,要不就是纵向排,而纵向排筛选或者排序就可以了,所以这里只说横向一一排开。

匹配出“一对多”的数据对应值,横向一一排开

例如原始数据左侧的两列,每个歌手分别对应着多首歌曲,只用最基础的VLOOKUP只能匹配第一个,现在需要以歌手为匹配对象,一次性匹配每个歌手所对应的每首歌曲。

思路为:一个歌手分别对应了多首歌曲,意味着“这个歌手在该列出现了多少次就等于他有多少首歌,也代表需要匹配的次数”,所以我们先统计出每个歌手的名字分别出现了多少次并记录下来。

再使用VLOOKUP多条件查找,利用“歌手”列和“重复次数”列,两个条件去查找对应的歌曲名称。

第1步:

输入=COUNTIF(A$2:A2,A2),并向下自动填充,输入右引用符号“$”符号的目的是,让下拉自动填充的时候,统计重复次数的范围,自动选择第一行到当前行,这样统计出来的重复次数就是“当前该歌手名字的重复次数”,也就是当前该歌手的名字出现了第几次了。

(王菲-传奇的对应行,王菲出现了第4次)

第2步:

在如图的I2单元格输入

=IFERROR(VLOOKUP($H2&COLUMN(A$1),IF({1,0},$A$2:$A$20&$C$2:$C$20,$B$2:$B$20),2,0),"")

按Ctrl+Shift+Enter键转换为数组公式计算结果,并向右向下填充,即可完成。

原理如下:

公式的主要部分为=VLOOKUP($H2&COLUMN(A$1),IF({1,0},$A$2:$A$20&$C$2:$C$20,$B$2:$B$20),2,0)

VLOOKUP的查找对象是两个条件:第一个条件是歌手名称,即是单元格H2,按下两次F4向右不改变引用关系;第二个条件是重复次数,公式为COULUMN(A$1)——统计单元格对应的列数,这个是什么意思呢:周杰伦重复的第几次就代表了第几首歌,也就代表着“向右拉到第几列”,所以索性使用COULUMN(A$1),按一下F4向右改变引用关系,取A1单元格的列数为1,向右拉就代表了“周杰伦重复第二次”、“周杰伦重复第三次”的查找条件。

看,查找对象其实是“周杰伦1”也就意思周杰伦的第一首歌。

好了,VLOOKUP的第二组成部分是查找范围,这里的公式是IF({1,0},$A$2:$A$20&$C$2:$C$20,$B$2:$B$20),这下看着复杂了,其实这是EXCEL里经典的IF{1,0}数组公式,意思是,把A列歌手和C列重复次数列连接起来,当成一列,与歌曲名称B列是对应关系列。

这里有必要插入一下IF{1,0}的意思

前面的{1,0}是IF公式利用水平数组分别做逻辑判断,1代表TURE,0代表FALSE,具几个例子:

=IF(1,哈哈,呵呵),返回为“哈哈”

=IF(0,哈哈,呵呵),返回为“呵呵”

=IF({1,0},哈哈,呵呵),返回为水平数组“{哈哈,呵呵}”

就是先判断数组里的第一个数字1结果为哈哈,第二个数字0结果为呵呵,输出的结果仍为数组{哈哈,呵呵}。

=IF({1,0},A2:A20,B2:B20),结果就是返回A列和B列两列数组,具体值为

{A2,B2;

A3,B3;

A4,B4;

A5,B5;

……}

那么这里

IF({1,0},$A$2:$A$20&$C$2:$C$20,$B$2:$B$20),结果还是返回两列数组:

{A2&C2,B2;

A3&C3,B3;

A4&C4,B4;

A5&C5,B5;

……}

那对应查找对象A2&C2是不是就像常规的VLOOKUP一样了?只不过把两列数据当成一列了。

最后一个IFERROR只是美化公式,当单元格向右拉拉到错了就显示为空。

=IFERROR(VLOOKUP($H2&COLUMN(A$1),IF({1,0},$A$2:$A$20&$C$2:$C$20,$B$2:$B$20),2,0),"")

记得按下Ctrl+Shift+Enter键。

嗯,结束了。

为什么vlookup匹配不出来

vlookup匹配不出来可能是因为数据或函数设置问题。1.数据vlookup只能从左向右查找,如果数据不是按照需要匹配的列进行排序,则无法匹配,也需要保证需要匹配的列有相同的数据类型。2.函数设置如果设置vlookup函数时,数组范围填写错误、数据列指定失误或者未选定精确匹配等因素都有可能导致无法匹配出结果。建议在使用vlookup函数时,先确保数据的正确性和分类,同时注意函数的设置和选项,可以在Excel的帮助文档中查询相关文献。

vlookup出不来是什么原因

主要有以下几个原因:

1.查找值不在目标范围内:vlookup函数的查找范围不包含要查找的value值,此时会返回#N/A错误。解决方法是更改查找范围,确保其包含要查找的值。

2.列数计算错误:vlookup函数的col_index_num参数指定的列号超过表格的总列数,此时会返回#REF错误。解决方法是核对表格结构,确保指定的列号在范围内。

3.表格未按升序排序:vlookup函数要求查找范围的最左列已按升序排序,如果未排序会返回错误或不准确结果。解决方法是对表格最左列进行升序排序。

4.表格中存在重复值:如果查找范围的最左列含有重复值,vlookup可能会返回最先匹配到的结果,而非目标值对应结果。解决方法是在表格中去除重复值或使用index/match函数来查找。

5.表格更新但未刷新:如果查找范围更新过,但未进行Worksheet刷新,vlookup仍会使用旧数据进行查找,返回不正确结果。解决方法是按Ctrl+Alt+F9键刷新Worksheet。

6.不正确的查找方式:vlookup默认采用区间查找方式,如果表格过大,使用此方式查找效率会比较低。解决方法是采用精确查找,在vlookup函数中将range_lookup参数设为FALSE即可。

7.公式错误:vlookup函数中有参数填写错误,如表格位置、范围大小、列数等,会导致函数出错或返回无效结果。解决方法是检查并纠正vlookup公式中的错误。

关于vlookup为什么匹配不出来,为什么vlookup匹配不出来的介绍到此结束,希望对大家有所帮助。