ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 谁能帮我解释下这个函数的意思,多谢了..

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-9-13 12:49 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:MID
A1格内容:  中华excelhome520人民
提取内容:  excelhome520

公式:   {=MID(LEFT(A1,MATCH(,-MID(A1,COLUMN(4:4),1))),MATCH(TRUE,MID(A1,COLUMN(4:4),1)<"吖",),20)}

请帮忙分段解释下这个函数的意思,奇怪的是还带个""这,谢谢啦~!

点评

知识树索引内容位于4楼  发表于 2014-3-22 17:39

TA的精华主题

TA的得分主题

发表于 2013-9-13 13:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
MATCH(,-MID(A1,COLUMN(4:4),1)),查找数字为0的位置,然后用=LEFT(A1,MATCH(,-MID(A1,COLUMN(4:4),1)))取中华excelhome520,MATCH(TRUE,MID(A1,COLUMN(4:4),1)<"吖",),查找不为汉语的第一个字符的位置,定位到e字母位置,然后用MID把“中华excelhome520”从e字母开始,取20个字符得到excelhome520,"吖"是汉字中最小的一个汉字,MID(A1,COLUMN(4:4),1)<"吖"就表示小于汉字中最小值,而英文和数字都是小于汉语的。这样就可以match函数来确定第一个字母e的位置

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-9-13 13:50 | 显示全部楼层
人贵于自省 发表于 2013-9-13 13:15
MATCH(,-MID(A1,COLUMN(4:4),1)),查找数字为0的位置,然后用=LEFT(A1,MATCH(,-MID(A1,COLUMN(4:4),1)))取中 ...

多谢,似乎懂一点了.

MATCH(TRUE,MID(A2,COLUMN(5:5),1)<"吖"  >mid的第二参数,求所在位数

COLUMN(5:5),数组,返回整5行所在单元格的列数,得出1,2,3,4....类似的序号
MID(A2,COLUMN(5:5),1)<"吖",mid分别从A2单元格取一位数,1,2,3,4...按此序号逐个取数比对,如果成立则为TRIE
MATCH(TRUE,MID(A2,COLUMN(5:5),1)<"吖" 取第一个成立值TRUE所在的位置,结果为1
是这样理解吗?


那mid第一参数,为何MACTH的第一参数为空,第二参数为负数,怎么个意思呢?

TA的精华主题

TA的得分主题

发表于 2013-9-13 13:57 | 显示全部楼层
本帖最后由 wangjguo44 于 2013-9-13 13:58 编辑

1、MATCH(,-MID(A1,COLUMN(4:4),1))——查找字符串中最后一个数字的位置;
2、LEFT(A1,MATCH(,-MID(A1,COLUMN(4:4),1)))——字符串中从左面取到最后一个数字的位置为止的一段字符串,本例即中华excelhome520;
3、MATCH(TRUE,MID(A1,COLUMN(4:4),1)<"吖",)——查找不为汉字的第一个字符的位置,本例即e字母位置;
4、MID(LEFT(A1,MATCH(,-MID(A1,COLUMN(4:4),1))),MATCH(TRUE,MID(A1,COLUMN(4:4),1)<"吖",),20)——,然后用MID对left截取到的短字符串(“中华excelhome520”)从e字母开始,取20个字符得到excelhome520("吖"是汉语拼音字库最“小”的一个汉字,而英文和数字都是小于汉字)
仅适合楼主所举类型的字符串(两头汉字、中间所提取的是以数字结束的一段),若是“中华excelhome520人民2”则得到“excelhome520人民2”、“中华1234excelhome人民”得到“1234”……


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-9-13 14:30 | 显示全部楼层
本帖最后由 情冇独钟 于 2013-9-13 14:32 编辑
wangjguo44 发表于 2013-9-13 13:57
1、MATCH(,-MID(A1,COLUMN(4:4),1))——查找字符串中最后一个数字的位置;
2、LEFT(A1,MATCH(,-MID(A1,COL ...


多谢了,现在有一点不明白的是第一点,
MATCH的第一参数省略就是指空吗,也就是0么?
MID前面跟一个负数"-",是什么含义,难道是为了跟那个省略的0相比?

TA的精华主题

TA的得分主题

发表于 2013-9-13 14:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
情冇独钟 发表于 2013-9-13 14:30
多谢了,现在有一点不明白的是第一点,
MATCH的第一参数省略就是指空吗,也就是0么?
MID前面跟一个负数" ...

1、本例mid得到的是一个个字符,前面加个“-”号,是数字字符得到负值数值,而若是文本(字母、汉字等)则是错误值#VALUE!;
2、MATCH(,-MID(A1,COLUMN(4:4),1))——省写第一参数,的确是0,当查找范围里含有错误信息时,则得到小于等于查找值(0)的最后一个数据的位置:你的例子“中华excelhome520人民”是0(最后的数字)的位置,而若是“中华excelhome520人民4”则是4(最后的数字)

TA的精华主题

TA的得分主题

发表于 2013-9-13 15:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
情冇独钟 发表于 2013-9-13 14:30
多谢了,现在有一点不明白的是第一点,
MATCH的第一参数省略就是指空吗,也就是0么?
MID前面跟一个负数" ...

监察说的很清楚了,如果还有不明白再说,我就不多说了,楼主觉得难以理解就把公式分解开,按F9一个一个的看都得到什么值

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-9-13 16:00 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-27 08:45 , Processed in 0.045120 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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