一、excel里面包含字符怎么查找匹配
赞几位大神。
不过大神们给的答案有个潜在前提:就是这些答案对题主手里的省市表要求很高——即省市表里的市必须包含在单位名称里。
举个例子,如果重庆在省市表里是“重庆市”,则“重庆媛雅医药有限公司”就无法匹配。
作为powerquery的死忠粉丝,我用powerquery从一个更通用的角度给出了一个解决办法(其实是我不会写Excel公式)。
操作步骤
新建一个Excel文件
分别引入包含销售订单的Excel文件和包含省市的Excel文件。如果两者在同一个Excel的不同sheet里,处理方式都是一样的。
新建一个合并查询,照下图设置:
请点击输入图片描述
然后展开结果即可。
这种方式操作比较简单,但是结果可能不可控,因为涉及要对模糊匹配的阈值进行控制,0.2的阈值不知道会不会有意外的匹配结果。
所以另外一种思路是合并之前,分别对city列和销售订单里公司名字所在的列直接取前两个字,反正我们要的不是完整的市名字,而是它对应的省。这样就可以直接合并了。也可以得出精确的结果。
用powerquery的好处是辛苦一次,终身享受,以后遇到类似的问题直接修改下引用源然后刷新就OK了。
提供一个示例文件供参考:链接: https://pan.baidu.com/s/1U415N-q_KB5j_i1Y3STXWA
二、excel如何自动匹配
您好,由于没有文件,我不方便直接给您写公式尝试完成您的需求,请见谅
提供思路如下:
您这个需求是属于比较复杂的多步逻辑,建议先列几个中间项将每一步提取数据完成后合并公式
首先需要提取一个匹配特征串,需要您在空余位置对A列的原始数据进行一个特征提取,以下以D列为例
XX线会区分第一个典型信息描述和其他的,建议使用IFERROR和SEARCH函数定位字符串中“线”字的位置,如果定位不到(IFERROR的value_if_error),则返回1
使用RIGHT函数和步骤1中查找出来的长度,提取后面的剩余字符串
可以搜索EXCEL提取第一个汉字的方法,诸如网页链接这样的回答会给出公式,对步骤2中的字符串进行提取第一个中文位置
类似步骤2,使用RIGHT函数提取步骤3中位置及以后的字符串,将提取出来的字符串放在列D对应行
至此,标签数据特征串提取完毕
接下来,对您在E列的原始数据作出基本一样的提取特征串处理:
对E列数据使用IFERROR和SEARCH函数定位字符串中“线”字的位置,如果定位不到(IFERROR的value_if_error),则返回1
使用RIGHT函数和步骤1中查找出来的长度,提取后面的剩余字符串
使用第一个汉字位置定位公式,对步骤2提取出来的字符串进行汉字定位
类似步骤2,使用RIGHT函数提取步骤3中位置及以后的字符串
使用MATCH函数,对步骤4中提取的字符串在D列进行匹配,获得匹配到的行号
使用INDEX函数,通过步骤5中提取到的行号返回对应单元格所需要的数据,得出您FGH列所需要的数据
以上就是如果我拿到您这个需求的完成思路,另外如果中间的标签数据特征串这个数据不方便展示,可以设置列隐藏以提升展示效果,不会影响最终结果
