我是@EXCEL880实例视频网站长@欢迎关注我的头条,每天分享Excel实战技巧!私信回复77220即可得函数大全表格(500个函数+1000函数实例) 好吧,目前最短的答案来了! =SUM(--IF(MID(A1,ROW($2:100),1)='*',RIGHT(SUBSTITUTE(LEFT(A1,ROW($1:99)),'+',REPT(' ',9)),9))) 另外一个群内高手的简短答案 这题有点麻烦,Excel用函数处理这种问题总是很累人,最好的办法使用VBA自定义函数,一个正则就好了,我实在不喜欢用函数解决这种问题(其实是我函数比较弱),不过我还是拼着老命写了一个,有点长,凑合用吧,注意输入后,要CTRL+SHIFT+ENTER三键回车,适用于99个字符长度以内, 晚点我有更好的公式思路再来补充 =SUM(--IFERROR(MID('+'&A1,LARGE(IF(MID('+'&A1,ROW($1:$99),1)='+',ROW($1:$99),0),ROW($1:$99))+1,LARGE(IF(MID('+'&A1,ROW($1:$99),1)='*',ROW($1:$99),0),ROW($1:$99))-LARGE(IF(MID('+'&A1,ROW($1:$99),1)='+',ROW($1:$99),0),ROW($1:$99))-1),0)) 下面介绍用VBA+正则表达式的解法 首先ALT+F11插入模块,粘贴下面代码
然后在单元格中写公式 =MYSUM(A1) 下拉即可 |
|