ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

求助:《Excel2010应用大全》第259页示例12.10在字符中提取各种连续数字

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-6-24 20:46 | 显示全部楼层 |阅读模式

提取数字

提取数字


对于提取A3 单元格的连续数字第二种方法=LookUP(9E+307,--RIGHT(A3,ROW($1:$15)))不太理解,疑惑如下:
1、row函数百度了下是返回所在单元格的行号,那ROW($1:$15)是什么含义呢,在excel里输入后显示值恒为1。
2、right的减负运算是什么含义?直接用RIGHT不行么?
3、LOOKUP函数的9E+307是什么意思?
总结:其实就是这个函数完全没看懂。求解答,求指教~

TA的精华主题

TA的得分主题

发表于 2013-6-24 21:06 | 显示全部楼层
本帖最后由 祝洪忠- 于 2013-6-24 21:09 编辑

1、编辑栏内选中ROW($1:$15) 按F9看一下结果就知道了,结果为{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15},用作RIGHT函数的第二参数,相当于RIGHT(A3,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15}),即分别从A3单元格右侧取1,2,3,4......15个字符长度的值。
2、right的减负运算,为了给LOOKUP函数查找创造条件。变成负数后保证小于LOOKUP函数的第一参数1,这样就可以在RIGHT函数的结果中返回最后一个数值。最后在LOOKUP函数前加一个负号,将负值转换为正值。
3、9e+307 代表一个较大的数值,目的是为了保证LOOKUP函数的第二参数小于第一参数。=LOOKUP(9e307,A:A)可以得到A列最后一个数值。=LOOKUP("座",A:A)可以得到A列最后一个文本值。

TA的精华主题

TA的得分主题

发表于 2013-6-24 21:09 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-24 22:11 | 显示全部楼层
本帖最后由 风随心飞 于 2013-6-24 22:13 编辑
祝洪忠- 发表于 2013-6-24 21:06
1、编辑栏内选中ROW($1:$15) 按F9看一下结果就知道了,结果为{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15},用 ...


谢谢您的详细指点,明白了不少,不过关于lookup函数的数组运用形式我还是不太明白。比如在一个空白单元格输入=LOOKUP(1,{1,2,3,4})返回的值是1,但是输入=LOOKUP(-1,{-1,-2,-3,-4})怎么就是返回-4而不是-1了呢?

TA的精华主题

TA的得分主题

发表于 2013-6-24 22:20 | 显示全部楼层
本帖最后由 祝洪忠- 于 2013-6-24 22:24 编辑
风随心飞 发表于 2013-6-24 22:11
谢谢您的详细指点,明白了不少,不过关于lookup函数的数组运用形式我还是不太明白。比如在一个空白单元 ...

可以看做从后向前查找第一个小于等于第一参数的值。=LOOKUP(1,{1,2,3,4})中2、 3、 4都比第一参数1大,只有“1”符合小于等于第一参数的条件,所以返回1.=LOOKUP(-1,{-1,-2,-3,-4})中,由于是从后向前查找“第一个符合小于等于第一参数”的值,所以得到-4
建议看一下LOOKUP的帮助文件
也可以参考学习一下gouweicao78老师的帖子
http://club.excelhome.net/forum. ... rate%3D1%26rate%3D1

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-24 22:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
祝洪忠- 发表于 2013-6-24 22:20
可以看做从后向前查找第一个小于等于第一参数的值。=LOOKUP(1,{1,2,3,4})中2、 3、 4都比第一参数1大,只 ...

还真是,不按升序排列出来的结果就不正确了,那上面例子的公式中RIGHT(A3,ROW($1:$15)),A3的值是刘备ID:123,那不就是等于{3,23,123}么,正阳加上负号就是{-3,-23,-123}了?这样-LOOKUP(1,{-3,-23-123}),这样也不是升序排列啊?

点评

不用急 慢慢领悟一下就明白了  发表于 2013-6-24 22:47

TA的精华主题

TA的得分主题

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

本版积分规则

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

GMT+8, 2024-11-24 17:22 , Processed in 0.048164 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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