用excel如何提取出两字段中字符串部分相同的数据
要求:只要c字段中的字符串包含d字段中以逗号分隔的任一字符串,就提取出改行。在下例中,c1中包含“母的”,和d1中第1、2个逗号分隔的“母的“相同;c3中包含”雌“,和d...
要求:只要c字段中的字符串包含d字段中以逗号分隔的任一字符串,就提取出改行。在下例中,c1中包含“母的”,和d1中第1、2个逗号分隔的“母的“相同;c3中包含”雌“,和d3中第3、4个逗号分隔的”雌“相同,因此提取出第1、3条数据。
ID a b c d
1 草 草马 母的马 ,草,母的,雌,
2 草 草稿 初步写出的文稿或初步画出的画稿。 ,草,母的,雌,
3 草 草马 雌马 ,草,母的,雌, 展开
ID a b c d
1 草 草马 母的马 ,草,母的,雌,
2 草 草稿 初步写出的文稿或初步画出的画稿。 ,草,母的,雌,
3 草 草马 雌马 ,草,母的,雌, 展开
5个回答
展开全部
亲,您这规则不对呀。A2包含“草”,为什么不提取呢?
还有,D列用“,”分隔的词组最多有多少个?前面需要判断的A/B/C/……,最多会到多少列?如果太多的话,辅助列会加N多,公式要占N多列,不如用VBA了。
例如:现在您的D列有三个词组,前面A/B/C有三列需要判断,一共就是3x3=9,需要判断9次,后面加辅助列不说,每个辅助列里面的公式至少得把A/B/C判断一次。
还有,D列用“,”分隔的词组最多有多少个?前面需要判断的A/B/C/……,最多会到多少列?如果太多的话,辅助列会加N多,公式要占N多列,不如用VBA了。
例如:现在您的D列有三个词组,前面A/B/C有三列需要判断,一共就是3x3=9,需要判断9次,后面加辅助列不说,每个辅助列里面的公式至少得把A/B/C判断一次。
追问
其实跟a、b列没什么关系,就是c、d列的事儿。D列用“,”分隔的词组最多有200多个,恐怕用辅助列不现实。vba您知道怎么写吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
追问
你说的倒是不错,可是实际应用中,d字段以逗号分隔的字符串会有200多个,以这个方法excel运算极慢不说,分列的工作量也很大。而且d列中的字符串可能出现在c列字符串的前、中、后任何地方。有没有更好的方法?
追答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-03-01
展开全部
提取出改行是真的没有弄明白意思,大概估计了一下,e1单元格的公式这样{=IF(SUM(IFERROR(FIND({"草","母的","雌"},D2),0)),PHONETIC(A2:D2),"")},前提是你的id列要文本格式,或者phonetic函数换成CONCATENATE(A2,B2,C2,D2)表达
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该用到三个字符串函数:LEFT、RIGHT、MID
1、LEFT函数:
用法:LEFT(要提取字符所在单元格,从左侧开始提取的个数)
例如:=LEFT(A1,2) 意思是从A1单元格提取前两个字符。
2、RIGHT函数:
用法:RIGHT(要提取字符所在单元格,从右侧开始提取的个数)
例如:=RIGHT(A1,2) 意思是从A1单元格提取最后两个字符。
3、MID函数:
用法:MID(要提取字符所在单元格,开始位置,提取个数)
例如:=MID(A1,2,2) 意思是从A1单元格提的第二个单元格开始,提取两个字符,也就提取A1单元格第2个和第3个字符。
注:用MID函数,也可以替代前两个函数,比如:=MID(A1,1,2)与=LEFT(A1,2)的结果是一样的,再比如:=MID(A1,LEN(A1)-2+1,2)与=RIGHT(A1,2)的结果是一样的只是这里用到LEN函数,其作用是取得单元格字符串的长度。
4、提取后的字符合并:
字符合并要用到连接符号:&
比如:=LEFT(A1,2)&RIGHT(A1,2) 意思是把A1单元格的前两个和最后两个字符,提取出来组成一个新的字符。
1、LEFT函数:
用法:LEFT(要提取字符所在单元格,从左侧开始提取的个数)
例如:=LEFT(A1,2) 意思是从A1单元格提取前两个字符。
2、RIGHT函数:
用法:RIGHT(要提取字符所在单元格,从右侧开始提取的个数)
例如:=RIGHT(A1,2) 意思是从A1单元格提取最后两个字符。
3、MID函数:
用法:MID(要提取字符所在单元格,开始位置,提取个数)
例如:=MID(A1,2,2) 意思是从A1单元格提的第二个单元格开始,提取两个字符,也就提取A1单元格第2个和第3个字符。
注:用MID函数,也可以替代前两个函数,比如:=MID(A1,1,2)与=LEFT(A1,2)的结果是一样的,再比如:=MID(A1,LEN(A1)-2+1,2)与=RIGHT(A1,2)的结果是一样的只是这里用到LEN函数,其作用是取得单元格字符串的长度。
4、提取后的字符合并:
字符合并要用到连接符号:&
比如:=LEFT(A1,2)&RIGHT(A1,2) 意思是把A1单元格的前两个和最后两个字符,提取出来组成一个新的字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询