excel中模糊查找并且匹配

如图,我想在SheetS1的C列扫入产品串码SeriesNr.然后根据SheetS2的C列查找该串码属于哪个产品家族,然后把对应的A,B列内容匹配到S1的A,B列.问题的... 如图,我想在Sheet S1的C列扫入产品串码Series Nr.
然后根据Sheet S2的C列查找该串码属于哪个产品家族,然后把对应的A,B列内容匹配到S1的A,B列.
问题的难点在于S1中具体的串码怎么和S2中产品家族的串码对应,S2中串码YYMMDD表示年月日,X为随机数。即S2的家族串码只规定了前面固定位数,后面根据生产时间具体生成。但是不同家族的产品,前面固定的位数也不同。

很有挑战啊!各位大神一展身手,让大家膜拜吧,哈哈
展开
 我来答
Stcxj
高粉答主

2014-08-24 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:7.1万
采纳率:67%
帮助的人:1.8亿
展开全部

Sheet S1的A2输入

=INDEX('Sheet S2'!A:A,SMALL(IF(ISNUMBER(FIND(LEFT($C2,10),'Sheet S2'!$C$1:$C$100)),ROW($1:$100),4^8),1))

数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向右填充到B2,选A2~B2一起向下填充。


追问
ROW($1:$100)是什么功能?
4^8是怎么来的?
我统计了一下,有的产品家族的串码左起取10个字符就会取到YYDDMM那。但是基本所有的串码右边10位都是日期。所以可不可以先用函数计算出Sheet S1的C2单元格的字符个数R,然后R-10,然后从左起取C2的(R-10)个字符进行比较,怎样实现?
追答
1、ROW($1:$100)——是返回符合条件的行号。
2、4^8——4的8次方=65536,即2003及以下版本最下面的行号,一种习惯写法。通常数据不会到最下面那一行,其实目的也就是要返回空值。
3、LEFT($C2,10)——是提取索引条件的前10位。如果索引条件与产品家族的串码一样后10位也是日期,提取改为:LEFT($C2,LEN($C2)-10)。
整道公式改为:
=INDEX('Sheet S2'!A:A,SMALL(IF(ISNUMBER(FIND(LEFT($C2,LEN($C2)-10),'Sheet S2'!$C$1:$C$100)),ROW($1:$100),4^8),1))
向天歌教育
2020-04-03 · TA获得超过1.7万个赞
知道小有建树答主
回答量:700
采纳率:100%
帮助的人:46.5万
展开全部

表格内容太多怎么办,来学习一下高端的模糊查找吧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Answer_box
2014-08-24 · TA获得超过1129个赞
知道大有可为答主
回答量:1414
采纳率:100%
帮助的人:437万
展开全部
S2的家族串码只规定了前面固定位数
这个前面的固定位数是多少位了?有没有固定的?

S2中的C列,那日期是怎么定义的? YYDDD0XXXX与YYMMDDXXXX 这是两种日期格式了?特别是YYDDD0XXXX是怎样定义的?在这之前的那串数字是不是固定的了?

两张图中,S2中可没有跟S1的C列对应得上的,且S1中的A与B列并没有出现在S2的图中,这提问应尽量详细啊,提问说的不清不楚的,难以帮忙啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式