Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: excelok

[已解决]多个条件提取字符串

[复制链接]
发表于 2017-9-6 16:34 | 显示全部楼层
excelok 发表于 2017-9-6 15:33
你的解答也很完美,楼上的经验值比较少一些,就照顾X兄弟了,谢谢!

{:3312:}帮助需要的人,复习自己的知识,不为最佳,多谢照顾{:2112:}
回复

使用道具 举报

 楼主| 发表于 2017-9-6 17:11 | 显示全部楼层

你好,如果将查找的"村","路","街"几个字放到不同单元格中A1~C1,我试过INDIRECT("A1"),如果只找一个,可以成功,三个放到FIND({"村","街","路"},A2)里面就不行,是哪出错了?
回复

使用道具 举报

发表于 2017-9-6 19:19 | 显示全部楼层
excelok 发表于 2017-9-6 17:11
你好,如果将查找的"村","路","街"几个字放到不同单元格中A1~C1,我试过INDIRECT("A1"),如果只找一个 ...

传附件 加模拟数据
回复

使用道具 举报

 楼主| 发表于 2017-9-6 19:43 | 显示全部楼层
X2030 发表于 2017-9-6 19:19
传附件 加模拟数据

按新条件更改上传

查找和提取(多条件).rar

7.78 KB, 下载次数: 1

回复

使用道具 举报

发表于 2017-9-7 08:30 | 显示全部楼层
查找和提取(多条件).rar (7.36 KB, 下载次数: 5)
回复

使用道具 举报

 楼主| 发表于 2017-9-7 19:06 | 显示全部楼层

你好,首先感谢你的帮忙,我有F到J列5个变化条件,你帮忙给出的公式只有F到H共3列的条件,所以我自己改为F到J列了。
公式如下:
=MID(LEFT(A2,FIND("配电室",A2)-1),1+MAX(IFERROR(FIND(F$1:J$1,A2),)),99)
这时候问题出来了,1+MAX(IFERROR(FIND(F$1:J$1,A2),))中的1只对条件是1个字符情况下是正确的,所以需要将1变成统计F到J列数目的公式,
根据实际条件中字符的数量变化,这个变化还必须跟随最终判断条件而变化,如出现"路",则数量为1,如出现"土楼",则数量为2,我加进去的LEN满足不了这个要求。
能帮我改进改进吗?
回复

使用道具 举报

发表于 2017-9-8 11:28 | 显示全部楼层
最简单的方法 把 土楼  改为 楼, 大泳溪 改  溪
回复

使用道具 举报

 楼主| 发表于 2017-9-9 12:58 | 显示全部楼层
X2030 发表于 2017-9-8 11:28
最简单的方法 把 土楼  改为 楼, 大泳溪 改  溪

但是有个情况下是不行的,**所代表的字符是不确定的,如果**中有给予的判断条件最后一个字时候,就会提取错误了。
回复

使用道具 举报

发表于 2017-9-9 16:26 | 显示全部楼层
excelok 发表于 2017-9-9 12:58
但是有个情况下是不行的,**所代表的字符是不确定的,如果**中有给予的判断条件最后一个字时候,就会提取 ...

=MID(SUBSTITUTE(A2,"配电室",),IFERROR(MATCH(99,FIND(I$1:J$1,A2)),)+1+MAX(IFERROR(FIND(F$1:J$1,A2),)),99)


{:3312:}没动脑筋堆的公式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 04:05 , Processed in 0.329751 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表