如何在excel里面进行一对多的模糊匹配
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在excel里面进行一对多的模糊匹配相关的知识,希望对你有一定的参考价值。
开始社这样的
如何可以吧列表该为这样
我又2000多条的数据球大神指点我该怎么做
SHEET2的B1输入=INDIRECT("Sheet1!b"&MATCH(A1&"*",Sheet1!B:B,))
下拉
或直接在C1输入=INDIRECT("b"&MATCH(A1&"*",B:B,))
动画为举例,如不行,直接发表,Mrpinetree@qq.com
参考技术A 在C1中输入或复制粘贴下列公式
=INDIRECT("B"&MATCH(A1&"*",B:B,0))
下拉填充
选择B列 隐藏 参考技术B C1=INDEX(B:B,MAX(IFERROR(FIND(A1&"-",B:B)*ROW(1:65525),0)))
数组公式 ctrl+shift+enter 结束
这个只限于对应A列数据,B列有唯一值。 参考技术C
有两种方法:
1、SHEET2的B1输入=INDIRECT("Sheet1!b"&MATCH(A1&"*",Sheet1!B:B,)),然后下拉
2、直接在C1输入=INDIRECT("b"&MATCH(A1&"*",B:B,))
3、动画操作举例参考:
参考技术D 要求B列--前的部分和A列的相同???如果是就很简单!EXCELL中如何一对多进行匹配?
如图所示:
想把图一的内转化为图二,而且数据量很大,这只是我做的例子,求高手指教!
以下两条公式都是数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 结束。
如果仅仅只是要匹配a,那就简单,用这数组公式下拉:
=INDEX(B:B,SMALL(IF(EXACT(A$1:A$999,"a"),ROW($1:$999),4^8),ROW(A1)))&""
但建议改为下图这样的效果更为直观点:
E1公式右拉再下拉:
=INDEX($B:$B,SMALL(IF(EXACT($A$1:$A$999,$D1),ROW($1:$999),4^8),COLUMN(A1)))&""
可是我的是一个姓名对应多个个人信息
追答那我也不会
参考技术AA2=COUNTIF($B$2:B2,B2)下拉对姓名出现次数标记
G2=IFERROR(VLOOKUP($F2&G$1,IF(1,0,$B:$B&$A:$A,$C:$C),2,0),"")组合键结束公式
参考技术B 你好,假设你的姓名是从H2开始你在G2单元格做一个辅助列,输入公式
=H2&COUNT(H$2:H2)
下拉,作为辅助列
再假设你图2的姓名从K2开始
然后在你图2的个人信息的第一个单元格,也就是L2单元格输入公式
=VLOOKUP(K2&ROW(A1),G:I,3,0)
M2单元格就把上公式的A1改为A2
后面的以此类推。一直到出现错误信息就可以了。
最后就是把输入的公式全部下拉至你所有的姓名。
保证每一行的最后一个公式都是错误信息#N/A。
就可以达到你需要的效果了
如果有不明白的地方可以继续追问,很乐意为你解答本回答被提问者采纳 参考技术C L2公式=if(column(a1)>countif($h:$h,$k2),"",index($i:$i,match($k2,$h:$h,)+column(a1)-1)),公式右拉,下拉。
或者=iferror(index($i:$i,small(if($h$2:$h$15=$k2,row($2:$15)),column(a1))),"")数组公式,三键结束,右拉,下拉。 参考技术D 在Sheet2的K2单元格输入以下公式,然后向下填充公式
=OFFSET(Sheet1!H$2,INT((ROW(A1)-1)/4),)
在Sheet2的L2单元格输入以下公式,然后向下填充公式
=OFFSET(Sheet1!$I$2,(ROW(A1)-1)*4+COLUMN(A1)-1,)
以上是关于如何在excel里面进行一对多的模糊匹配的主要内容,如果未能解决你的问题,请参考以下文章