分享

如何列出excel函数的自动计算公式?

 王断天崖路 2018-02-27

我是@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插入模块,粘贴下面代码

Function MYSUM(s)

Dim regex, temp, n

Set regex = CreateObject('VBScript.RegExp')

With regex

.Global = True

.Pattern = '\*\d+\+'

s = .Replace(s & '+', '+')

MYSUM = Evaluate(s & '0')

End With

Set regex = Nothing

End Function

然后在单元格中写公式 =MYSUM(A1) 下拉即可

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多