ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 一个单元格内有多组数据,提取固定字符前面的数字求和~~~~~

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-7-18 16:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 wshcw 于 2015-7-18 17:39 编辑
wshcw 发表于 2015-7-18 15:06
好吧,前面想加多少就加多少,这里就加1元,A2单元格就变成:
1元24号武汉教授来院订钟点房2间100元,配宿 ...


请问如果不只是A2单元格内有数据,A2:f2均有数据,公式应如何修改.
先将文本合并起来再套用以上公式,

TA的精华主题

TA的得分主题

发表于 2015-7-18 17:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
qc158 发表于 2015-7-18 16:11
请问如果不只是A2单元格内有数据,A2:f2均有数据,公式应如何修改.
先将文本合并起来再套用以上公式,

将A2:F2合并起来,再套用上述公式即可,如:
  1. =SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE("大"&PHONETIC(A2:F2),"元",REPT(" ",16)),ROW($1:$1500),17),),2,16),"[<>];;0;\0"))
复制代码


看附件 一个单元格内有多组数据,提取金额并求和.rar (4.01 KB, 下载次数: 48)

TA的精华主题

TA的得分主题

发表于 2015-7-19 09:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wshcw 发表于 2015-7-18 17:43
将A2:F2合并起来,再套用上述公式即可,如:



那如果是这种方式的统计求和呢,如何做,见附件。

36.jpg

计算单元格内数量.rar (42.59 KB, 下载次数: 13)

TA的精华主题

TA的得分主题

发表于 2015-7-19 11:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
qc158 发表于 2015-7-19 09:21
那如果是这种方式的统计求和呢,如何做,见附件。
  1. =SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",16)),ROW($1:$1500),17),),2,16),"[<>];;0;\0"))
复制代码

不正确部分,应该是你数据不规范,检查更正.
计算单元格内数量.rar (43.12 KB, 下载次数: 18)

TA的精华主题

TA的得分主题

发表于 2015-7-19 12:11 | 显示全部楼层
我觉着,这是自找麻烦。设计个表格,把负责人、项目、金额等列好,分别填上,一目了然,还好计算。

TA的精华主题

TA的得分主题

发表于 2015-7-19 22:11 | 显示全部楼层
qc158 发表于 2015-7-19 09:21
那如果是这种方式的统计求和呢,如何做,见附件。

小数点以及小写的“pcs"在作怪,改进公式就没有事了.
  1. =SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在"),".","在"),ROW($1:$1500),27),),2,26),"[<>];;0;\0"))
复制代码
计算单元格内数量.rar (41.75 KB, 下载次数: 49)

TA的精华主题

TA的得分主题

发表于 2015-7-19 23:39 | 显示全部楼层
wshcw 发表于 2015-7-19 22:11
小数点以及小写的“pcs"在作怪,改进公式就没有事了.

大神,能解释一下这公式吗?看得不是很懂

TA的精华主题

TA的得分主题

发表于 2015-7-20 10:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
qc158 发表于 2015-7-19 23:39
大神,能解释一下这公式吗?看得不是很懂

=SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在"),".","在"),ROW($1:$1500),27),),2,26),"[<>];;0;\0"))
公式解析:
1、PHONETIC是将字符串先合并
2、SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在"),是将"PCS",字符替换为26个空格(一般情况下,15个空格就够了)再并上一个非数字非字母也非符号的字符。
3、MID(SUBSTITUTE(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在"),".","在"),ROW($1:$1500),27),这是提取27个字符(注意:这里比公式替换的空格多一个字符)
4、TEXT(MID(SUBSTITUTE(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在"),".","在"),ROW($1:$1500),27),),注意这步的技巧,TEXT函数没有带参数,也就是最后一个反括号前只有一个“,”,其含义是隐藏数值,只显示文本,相当于:参数";;;@"的效果。
5、MID(TEXT(MID(SUBSTITUTE(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在"),".","在"),ROW($1:$1500),27),),2,26),将前面带一个字符的数字串进行过虑,去年最前一个字符,所以从第2个字符开始截取至26个,即MID(单元格,2,26),的格式处理。
6,--TEXT(MID(TEXT(MID(SUBSTITUTE(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在"),".","在"),ROW($1:$1500),27),),2,26),"[<>];;0;\0"),将上一步从第2个字符开始截取至26个字符处理后,用TEXT将文本数字格式转换为数值,文本转换为0
7、SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在"),".","在"),ROW($1:$1500),27),),2,26),"[<>];;0;\0")),用SUMPRODUCT函数将数值汇总起来。
大概意思就是这样,水平有限,只能这么解释了,请谅解。

TA的精华主题

TA的得分主题

发表于 2015-7-20 11:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wshcw 发表于 2015-7-20 10:58
=SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE(SUBSTITUTE("大"&PHONETIC(G4:AC4),"PCS",REPT(" ",26)&"在 ...

神啊,再次感谢,这个公式是好,但是在运算时比较慢,能否优化一下?
还有问题请教一下,"[<>];;0;\0"这个参数是什么意思?有这方面的知识可以分享一下吗.如"0;;;!0"等.
另外,ROW($1:$1500)能否减少到ROW($1:$100)?

~谢谢!

TA的精华主题

TA的得分主题

发表于 2015-7-20 17:23 | 显示全部楼层
本帖最后由 wshcw 于 2015-7-20 17:24 编辑
qc158 发表于 2015-7-20 11:07
神啊,再次感谢,这个公式是好,但是在运算时比较慢,能否优化一下?
还有问题请教一下,"[];;0;\0"这个参数是 ...

本人能力,水平有限,优化不了,你可以另请高明.
参数"[<>];;0;\0",就是文本显示为零,其他正常显示
ROW($1:$1500)不能减少到ROW($1:$100),因为合并字符+拉伸PCS为27字符后,字符串长度超长了,已是将近1500个字符了.
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-23 23:15 , Processed in 0.036090 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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