Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1519|回复: 3

[已解决]求助各位老师如何加这个提取工作薄名称的if判断(有图有代码)

[复制链接]
发表于 2013-2-5 20:54 | 显示全部楼层 |阅读模式
arr(2, s - 2) = Mid(wj, 4, IIf(InStr(wj, "社区") > 0, InStr(wj, "社区") - 2, Len(wj) - 14))

以上此条代码是提取工作薄名称(从第四位开始提取到区字和村字的前面的所有文字)如下图
2013-02-05_203035.gif
现在碰到一个问题,如果是带有社区的名称提取就准确,带有村的提取就不够完整。如下图:下图1、花木提取不完整应该为花木山村;2、北郊社区提取完整正确。
2013-02-05_203316.gif

现在如何修改此条代码带有社区和村的都提取完整。
2013-02-05_203453.gif

本人试了一条:
arr(2, s - 2) = Mid(wj, 4, IIf(InStr(wj, "社区" & "村") > 0, InStr(wj, "社区" & "村") - 2, Len(wj) - 14))
好像行不通。期待高手解答。谢谢

最佳答案
2013-2-5 21:41
Mid(wj, 4, WorksheetFunction.Max(InStr(wj, "社区") - 2, InStr(wj, "村") - 3))
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-2-5 21:34 | 显示全部楼层
本帖最后由 cbg2008 于 2013-2-5 21:40 编辑

Mid(wj, 4, WorksheetFunction.Max(InStr(wj, "社区") - 2, InStr(wj, "村") - 3))
回复

使用道具 举报

发表于 2013-2-5 21:41 | 显示全部楼层    本楼为最佳答案   
Mid(wj, 4, WorksheetFunction.Max(InStr(wj, "社区") - 2, InStr(wj, "村") - 3))

评分

参与人数 1 +1 收起 理由
qinhuan66 + 1 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-2-5 21:41 | 显示全部楼层
cbg2008 发表于 2013-2-5 21:34
Mid(wj, 4,MAX(InStr(wj, "社区" ) -2,InStr(wj,"村")-3))

谢谢了,我也刚弄了一条。arr(2, s - 2) = Mid(wj, 4, IIf(InStr(wj, "区") > 0, InStr(wj, "区") - 3, InStr(wj, "村") - 3))
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 16:43 , Processed in 0.277666 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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