vlookup公式怎么使用多行多列
ExcelVLOOKUP函数怎么查询一个值返回多个结果?
ExcelVLOOKUP函数怎么查询一个值返回多个结果?
EXCEL的 vlookup函数只能返回一个结果,不过有以下变通的方法:
1、如果是一列索引内容,需要后面对应多列结果,一般是 参考
VLOOKUP(A11,E:H,2,0)VLOOKUP(A11,E:H,3,0)
这样的形式;
2、如果是多列索引内容,查找需要的项目,只有1个结果,参考
IFERROR(VLOOKUP(A1,E:F,2,0),"")IFERROR(VLOOKUP(A1,g:h,2,0),"")
3、如果索引项目在1列,需要查询多行对应的内容,一般是通过增加辅助列,使用countif函数,比如原来A列姓名中 张三有多个,需要分别他的工资,就增加辅助列B,B列参考
A1COUNTIF(A:A,A1)
使姓名变成 张三1 、张三2 这样的数据,下拉
然后使用公式参考:
VLOOKUP(B1,B:C,2,0)
EXCEL数据多条件比对函数?
方法1、把两表数据粘贴到一起,然后以某一列比对,在最右边的空列输入函数公式:if(countif($a$1:$a$1000,a1)1,重复,)然后往下自动填充这个公式。
这个公式的含义是:在a1:a1000的范围内,依次从a1往下比对,如果有两个以上重复项,就标志为重复,如果没有重复就标志为空。
如果需要同时比对两列数据相同,可以增加一个辅助列,把两列数据合并一起,公式是:a1b1方法2:刚才这个方法所有的重复项都会做出标志,删除之后只剩下没有重复的。
如果还想两个保留一个,只标志第二项以后的重复,可以用下面的方法:先自动排序,然后在空列输入公式:if(a1a2,重复,)然后自动填充。
这个公式的含义是:如果第二项等于第一项,就把第一项标志为重复,否则为空。
这样的所有的重复项都会标志出来,删除这些带重复的行即可。剩下的就是没有重复的。
这个方法很简单。
方法3、也可以用下面的方法达到这个效果:不需要先自动排序,直接在右边的空列里输入公式:IF(COUNTIF(A$1:A1,A1)1,重复,)然后往下自动填充。
方法4、如果要以多列为条件判断重复,也可以用下面方法:IF(SUMPRODUCT(($A$:1:$A$1000A1)*($B$1:$B$1000B1)*($C$1:$C$1000C1))1,重复,)向下填充公式。 再删除多余行。
这个方法所有的重复项都会删除掉,只剩下没有重复的。如果想保留一个,参考方法3.方法5、也可以把两表数据粘贴在不同的列(假设第一表从a到c列,第二表从d到f列),然后在e空列里输入公式:if(iserror(match(a1,$d$1:$d$1000,0)),,重复)然后自动填空公式。
这个公式的含义是:把a列的数据依次与d列进行比对,如果有重复的就标志为重复,否则为空。这个公式很复杂,三个函数嵌套。
match函数如果返回值为错误值(没有找到重复项),那么iserror函数就会被赋予真值;然后if函数再做判断,如果iserror函数值为真,就标志为空,否则为重复。
macth函数的返回值(参数为0的情况)本来是重复的那一项在数列中的位置,这里利用这个函数,只要它的返回值为真值就可以了,不需要知道它的位置。第二项任务:两表的某列内容合并方法6、刚才那个公式也可以换成下面的公式,效果是一样的:if(iserror(vlookup(a1,$d$1:$d$1000,1,false)),,重复)在这个公式中vlookup函数输出的值本来是重复项在第1列中的数据(针对从d到e而言是第一列)。
这里也不需要它的具体返回值,只需要知道有重复项即可。但这个函数有个重要的作用,找到重复项后,可以返回指定列的值。
公式是:vlookup(a1,$d$1:$f$1000,3,false)这样可以返回第3列(f列)的数据。
这样就可以把两表中的某列数据合并。
这个方法用于合并表格很方便。