ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4223|回复: 11

[已解决] 根据门店的全称匹配门店简称对应的区域。必送鲜花以示感激

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-3-7 09:34 | 显示全部楼层 |阅读模式
本帖最后由 dear_leslie 于 2018-3-7 11:34 编辑

根据门店的全称匹配门店简称对应的区域。必送鲜花以示感激
需求看起来很简单,根据门店的全称匹配门店简称对应的区域,比如中山1店,中山2店,中山3店的简称都是中山店,中山店对应的区域就是广东。简称字符是全称字符的一部分
简称匹配全称可以用通配符,现在是全称匹配简称就毫无头脑
我一开始是用很简单的for循环vba,执行a列第i个,如果在e列找到他的简称,则把他对应的区域复制给b列第i个,但是我全称总共有9万条,简称9000条,就要执行8.1亿次……效率太低了。
如果问题得到解决必定送上我今日拥有的6朵鲜花以示感激。

全称
区域


简称
区域
珠海1
广东


珠海
广东
中山1
广东


广州
广东
珠海3
广东


长沙
湖南
珠海4
广东


益阳
湖南
珠海2
广东


中山
广东
长沙1
湖南




益阳2
湖南




长沙3
湖南




广州1
广东




例子.rar

6.69 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2018-3-7 10:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. =LOOKUP(9^9,FIND(E$1:E$6,A2),F:F)
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-3-7 10:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
=LOOKUP(,-FIND($E$2:$E$6,A2),$F$2:$F$6)
QQ截图20180307103808.png

例子.zip

7.55 KB, 下载次数: 2

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-7 11:15 | 显示全部楼层
gykg-excel 发表于 2018-3-7 10:34
=LOOKUP(,-FIND($E$2:$E$6,A2),$F$2:$F$6)

还想请教您,可以解释一下这个公式吗,我直接输入函数=-FIND($E$2:$E$6,A4),单独执行find函数就会出错,为什么放在lookup里面就可以了呢?find的意思在e列里面找A,a是全称,直接到简称去找肯定是找不到的,在这里的意思是什么意思哦?

TA的精华主题

TA的得分主题

发表于 2018-3-7 11:18 | 显示全部楼层
就是在A4中查找E$2:$E$6,如果找到则为一个数值,然后用大于它的数值去查找即可。你可以选中-FIND($E$2:$E$6,A4),按F9查看运行结果,这样比较直观点。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-7 11:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

请教一下,我现在知道find是定位了对应的简称在简称列数组中位置,然后lookup在这里是什么意思呢??可以通俗的解释一下。感谢

TA的精华主题

TA的得分主题

发表于 2018-3-7 14:28 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lookup就是查找,-FIND($E$2:$E$6,A2)得到的是负数和错误值,lookup中用大于负数的0去查找,就能查找到对应$F$2:$F$6中的数据。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-3-7 14:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
gykg-excel 发表于 2018-3-7 14:28
lookup就是查找,-FIND($E$2:$E$6,A2)得到的是负数和错误值,lookup中用大于负数的0去查找,就能查找到对应 ...

我终于懂了,超级感谢!明明再送你花花哦,今天用完了。很感谢每一个回复我帖子的人

TA的精华主题

TA的得分主题

发表于 2018-3-7 15:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这样的公式简单一点
QQ截图20180307151053.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-3-7 15:12 | 显示全部楼层
=INDEX($F$2:$F$6,MATCH(H2,$E$2:$E$6,0))

例子.zip

161.57 KB, 下载次数: 4

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-27 19:00 , Processed in 0.045120 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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