ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

   
EH云课堂-专业的职场技能充电站 Excel转在线管理系统,怎么做看这里 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 高效办公必会的Office实战技巧 免费下载Excel行业应用视频
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 243|回复: 10

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

[复制链接]

TA的精华主题

TA的得分主题

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

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

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

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财富 +10 鲜花 +5 收起 理由
我走我流 + 1 优秀作品
象山海鲜 + 10 优秀作品
sayhi95 + 3 优秀作品
江苏永能朱兴华 + 1 优秀作品

查看全部评分

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鲜花 +11 收起 理由
TTZXX2016 + 2 太强大了
micch + 3 优秀作品
我走我流 + 1
gooday0516 + 2 太强大了
sayhi95 + 3 太强大了

查看全部评分

TA的精华主题

TA的得分主题

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

TA的精华主题

TA的得分主题

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

TA的精华主题

TA的得分主题

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

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 | 显示全部楼层

TA的精华主题

TA的得分主题

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

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

本版积分规则

关注官方微信,每天学会一个新技能

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

GMT+8, 2019-6-16 04:57 , Processed in 0.107813 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Wooffice Inc.

   

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

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

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