ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 如何分离单位与数值

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-8-14 21:08 | 显示全部楼层 |阅读模式

u4Zva2bF.rar (1.43 KB, 下载次数: 91)


请见附件,如何分离不规则(无规律)的单位与数值?谢谢老师!!

TA的精华主题

TA的得分主题

发表于 2007-8-14 21:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复:(酸海角)如何分离单位与数值

前面是数字,后面是字母,将数字与字母分离:

D4=LEFT(C4,MAX(IF(ISNUMBER(--LEFT(C4,ROW(INDIRECT("1:"&LEN(C4))))),ROW(INDIRECT("1:"&LEN(C4))))))

数组公式,按Ctrl+Shift+Enter结束。

E4=RIGHT(C4,LEN(C4)-LEN(D4))

Zsjc0SSC.zip (4.85 KB, 下载次数: 151)
[此贴子已经被作者于2007-8-14 22:38:05编辑过]

回复:(酸海角)如何分离单位与数值

回复:(酸海角)如何分离单位与数值

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-8-14 21:40 | 显示全部楼层

非常感谢!!!!

向山菊花老师致敬!!!

这么难的问题都能搞定,能有效解决现实中一些不规范输入及表格设计的难题,

不愧是高手呀!!!!!

TA的精华主题

TA的得分主题

发表于 2007-8-15 09:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-8-24 11:29 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-8-24 17:57 | 显示全部楼层

妙啊!!

2楼的是顺着数的

那能不能倒过来数?

取  总长度  减去  非数值  的

TA的精华主题

TA的得分主题

发表于 2007-9-10 00:49 | 显示全部楼层

回复:(酸海角)如何分离单位与数值

RLPGnbVm.rar (4.75 KB, 下载次数: 48)

看到其它例子用lookup来解题简单许多,不过山菊花版主的思路绝对值得学习。

数组公式

=LOOKUP(9E+307,--LEFT(C4,ROW(INDIRECT("1:"&LEN(C4)))))

意思是依次截取左边1,2,...,N个(N=LEN(C4))字符串(LEFT),转换成数值(--),然后在用LOOKUP在生成的内存数组({1;18;186;1863;1863;1863.5;#VALUE!;#VALUE!})中查找9E+307(巨大无比的数,用其它大于需要截取的最大数值的数也可以,比如这里用1000000代替结果是一样的),查不到则返回小于查找的数(9E+307)中的最大值(1863.5),这个解释可能不完全对,按我的理解是如果数组中数值按升序排列,则返回小于被查数的最接近的数,但如果不按升序排列时,则应该返回数组中最后一个小于被查数的数值(不匹配的情况),所以这里换RIGHT截取文本+数字型的数值也成立。LOOKUP(6,{"b",1,2,3,5,4,"a",2,3})=3,而不是5。Excel帮助说必须按升序排,否则得不到正确结果,但没说是什么结果。
[此贴子已经被作者于2007-9-10 1:25:11编辑过]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2007-9-10 08:57 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-12-15 22:50 | 显示全部楼层
QUOTE:
以下是引用chemiee在2007-9-10 0:49:54的发言:

看到其它例子用lookup来解题简单许多,不过山菊花版主的思路绝对值得学习。

数组公式

=LOOKUP(9E+307,--LEFT(C4,ROW(INDIRECT("1:"&LEN(C4)))))

意思是依次截取左边1,2,...,N个(N=LEN(C4))字符串(LEFT),转换成数值(--),然后在用LOOKUP在生成的内存数组({1;18;186;1863;1863;1863.5;#VALUE!;#VALUE!})中查找9E+307(巨大无比的数,用其它大于需要截取的最大数值的数也可以,比如这里用1000000代替结果是一样的),查不到则返回小于查找的数(9E+307)中的最大值(1863.5),这个解释可能不完全对,按我的理解是如果数组中数值按升序排列,则返回小于被查数的最接近的数,但如果不按升序排列时,则应该返回数组中最后一个小于被查数的数值(不匹配的情况),所以这里换RIGHT截取文本+数字型的数值也成立。LOOKUP(6,{"b",1,2,3,5,4,"a",2,3})=3,而不是5。Excel帮助说必须按升序排,否则得不到正确结果,但没说是什么结果。

这位高手,可不可以解释9E+307的具体意思呀

TA的精华主题

TA的得分主题

发表于 2010-9-14 09:23 | 显示全部楼层
9E+307、 4^8都是习惯的写法,
9E+307可笼统认为是很大的一个数值
4^8  03版最大行数
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-25 03:43 , Processed in 0.048566 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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