ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 如何改变EXCEL公式从右往左计算的规则

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-3-14 13:04 | 显示全部楼层 |阅读模式
偶然发现,EXCEL公式在计算查找某单元格的时候,是将单元格内容字符从右往左计算的,有没有什么办法能够改变这个顺序,让EXCEL公式在查找的时候从左往右运算?例如:下面这个公式是从地址最右边的字符开始匹配,导致江西的匹配成上海的。

PS:不要说在单位后面加上省、市单位增加精确性这种解决办法,附件只是举了一个简单的例子,实际情况更加复杂,不能上传网络,我就是想知道EXCEL公式如何让他从单元格最左边的字符开始计算。

QQ图片20190314125533.png 示例0314.rar (8.92 KB, 下载次数: 11)

TA的精华主题

TA的得分主题

发表于 2019-3-14 13:10 | 显示全部楼层
本帖最后由 丢丢表格 于 2019-3-14 13:22 编辑

掐头 就可行了~~~~
=LOOKUP(,-FIND($E$1:$E$5,LEFT(A2,3)),$F$1:$F$5)

再来一个 掐头的:
=LOOKUP(1,0/COUNTIF(A2,E$2:E$5&"*"),F$2:F$5)

三掐头了~~
=LOOKUP(1,FIND($E$1:$E$5,A2),$F$1:$F$5)

不好意思  又来掐头了…………
=MOD(MIN(FIND(E$2:E$5,A2&E$2:E$5)*10^7+F$2:F$5),10^7)



评分

4

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-3-14 13:12 | 显示全部楼层
  1. =LOOKUP(,0/FREQUENCY(1,MOD(FIND(E$2:E$5,A2&E$2:E$5),LEN(A2)+1)),$F$2:$F$5)
复制代码

评分

5

查看全部评分

TA的精华主题

TA的得分主题

发表于 2019-3-14 13:26 | 显示全部楼层
  1. =VLOOKUP(E2&"*",A:B,2,)
复制代码

TA的精华主题

TA的得分主题

发表于 2019-3-14 13:30 | 显示全部楼层

TA的精华主题

TA的得分主题

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

思路正确,改动一下:

=VLOOKUP(LEFT(A2,2)&"*",E:F,2,)

TA的精华主题

TA的得分主题

发表于 2019-3-14 13:35 | 显示全部楼层
丢丢表格 发表于 2019-3-14 13:31
思路正确,改动一下:

=VLOOKUP(LEFT(A2,2)&"*",E:F,2,)

看花眼了,还以为是右边根据左边来取值。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-14 15:25 | 显示全部楼层
=LOOKUP(,-FIND($E$1:$E$5,LEFT(A2,3)),$F$1:$F$5)
查找范围限制在了地址的前3个字符上,实际情况中前面有其他字符,例如“地址在江西省南昌市上海路”、“中国江西省南昌市上海路”。

=LOOKUP(1,0/COUNTIF(A2,E$2:E$5&"*"),F$2:F$5)
地址开头有其他字符就不行。

=LOOKUP(1,FIND($E$1:$E$5,A2),$F$1:$F$5)
同上。

=MOD(MIN(FIND(E$2:E$5,A2&E$2:E$5)*10^7+F$2:F$5),10^7)
算出来的值不对

=LOOKUP(,0/FREQUENCY(1,MOD(FIND(E$2:E$5,A2&E$2:E$5),LEN(A2)+1)),$F$2:$F$5)
全符合,比原公式还精准,现在还没有太多时间研究公式的意思,先谢过了!!

=INDEX(F:F,MATCH(1,FIND($E$1:$E$5,A2)^0,))
结果是#VALUE!或#N/A

=VLOOKUP(LEFT(A2,2)&"*",E:F,2,)
查找范围限制在了地址的前2个字符上。

TA的精华主题

TA的得分主题

发表于 2019-3-14 18:08 | 显示全部楼层
=LOOKUP(,0/FIND(E$2:E$5,A2),F$2:F$5)
一般公式

應該很標準的查詢方式

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-27 11:30 | 显示全部楼层

大神,我回来求助您了,使用您的公式碰到一个小问题,希望您能帮优化一下:
比如"普陀区"需要单独归类到数值"50"、"上海市"需要单独归类到数值"200",我在E:F列添加了关键字“上海市普陀区”50、“普陀区”50 ,但公式对地址为“上海市普陀区”的归类到了“200”,有什么办法解决这个问题吗?
还有“上海市***普陀区”中间有其他字符的想要匹配到50应该怎么办呢?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-19 10:05 , Processed in 0.060001 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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