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的家族串码只规定了前面固定位数,后面根据生产时间具体生成。但是不同家族的产品,前面固定的位数也不同。
很有挑战啊!各位大神一展身手,让大家膜拜吧,哈哈 展开
然后根据Sheet S2的C列查找该串码属于哪个产品家族,然后把对应的A,B列内容匹配到S1的A,B列.
问题的难点在于S1中具体的串码怎么和S2中产品家族的串码对应,S2中串码YYMMDD表示年月日,X为随机数。即S2的家族串码只规定了前面固定位数,后面根据生产时间具体生成。但是不同家族的产品,前面固定的位数也不同。
很有挑战啊!各位大神一展身手,让大家膜拜吧,哈哈 展开
展开全部
追问
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))
展开全部
表格内容太多怎么办,来学习一下高端的模糊查找吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
S2的家族串码只规定了前面固定位数
这个前面的固定位数是多少位了?有没有固定的?
S2中的C列,那日期是怎么定义的? YYDDD0XXXX与YYMMDDXXXX 这是两种日期格式了?特别是YYDDD0XXXX是怎样定义的?在这之前的那串数字是不是固定的了?
两张图中,S2中可没有跟S1的C列对应得上的,且S1中的A与B列并没有出现在S2的图中,这提问应尽量详细啊,提问说的不清不楚的,难以帮忙啊。
这个前面的固定位数是多少位了?有没有固定的?
S2中的C列,那日期是怎么定义的? YYDDD0XXXX与YYMMDDXXXX 这是两种日期格式了?特别是YYDDD0XXXX是怎样定义的?在这之前的那串数字是不是固定的了?
两张图中,S2中可没有跟S1的C列对应得上的,且S1中的A与B列并没有出现在S2的图中,这提问应尽量详细啊,提问说的不清不楚的,难以帮忙啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询