作者JieJuen (David)
看板Office
标题Re: [算表] 计算储存格内()内数字的合计
时间Thu Nov 19 22:16:15 2009
这是一个经典问题
(
#17Ida0Ax 有提到 不过连结似乎失效了)
重新找了一下
有一些绝妙的方法 如
=SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE(A1,")",REPT(" ",15)),ROW($1:$99),
15),),2,15),"0;;;!0"))
另外还有宏表函数用EVALUATE的方法
把 ( 和 ) 取代成 ; 变成数值阵列求和
http://club.excelhome.net/viewthread.php?action=printable&tid=350829
※ 引述《ljuber (即战力之豆花妹护卫队)》之铭言:
: 软体:excel
: 版本:任何版本
: 如果我在A1储存格内打
: 书本(100)+早餐(50)+午餐(70)+饮料(20)
: 如何在b1储存格把()内的数字相加
: 而且下次打不一样的东西
: 例如早餐(50)+文具(100) 也都会去判断()内的数字去相加?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.12.233
1F:→ windknife18:J 大看得真的很多说 11/19 22:35
2F:→ JieJuen:网路上"牛人"很多啊~ ^^ 11/19 22:41
3F:推 ljuber:厉害的公式 不过似乎有长度限制 要更改的话要怎麽改? 11/19 23:47
4F:推 ljuber:是否改row($1:$99) 把它放大? 11/19 23:51
5F:推 Tenka:"0;;;!0" 这哪一招阿...@@ 11/20 01:00
6F:→ windknife18:我先尝试解释看看, text(range,"正;负;零;文字") 11/20 09:45
7F:→ windknife18:所以 "0;;;!0" 应该是将正数用数字表示,文字用0表示 11/20 09:47
8F:→ windknife18:所以刮号内有负或零的可能会有问题可改用 "0;-0;0;!0" 11/20 09:50
9F:→ JieJuen:完全正确~连结里有解答 另放大可用ROW($1:$999) 11/20 18:43
10F:→ JieJuen:至於连结内容太多 备份於 11/20 18:45
本想用INDIRECT精确调整长度 但超过七层巢状... 除非大约算
=SUMPRODUCT(--TEXT(MID(TEXT(MID(SUBSTITUTE(A1,")",REPT(" ",15)),
ROW(INDIRECT("1:"&LEN(A1)*5)),15),),2,15),"0;;;!0"))
※ 编辑: JieJuen 来自: 114.47.12.233 (11/20 19:38)
11F:推 Tenka:真的很神 11/21 01:50