如何列出excel函数的自动计算公式?
网友解答: 要用Excel函数或公式求某列复杂算式*前数值的和难度很大,对于大部分Excel普通用户来说要掌握非常难,如果需要实现自动计算或一键刷新,一是可以用VBA写自定义函数,二是可
要用Excel函数或公式求某列复杂算式*前数值的和难度很大,对于大部分Excel普通用户来说要掌握非常难,如果需要实现自动计算或一键刷新,一是可以用VBA写自定义函数,二是可以使用Excel2016的新功能Power Query(Excel2010或Excel2013可到微软官方下载相应的插件)来完成。
其中写VBA需要写代码,对很多Excel新手来说也会很困难,因此,个人推荐使用第二种方法——新功能Power Query,只要鼠标点点点的简单操作即可,并且可以在数据源更新的情况下一键刷新,实现步骤如下:
一、数据加载到Power Query二、复制一列用于拆分三、按分隔符(+)拆分列四、提取分隔符(*)前的文本五、更改提取出来的文本为整数六、分组合并计算七、将结果返回Excel,可以一键刷新以上通过Excel的新功能Power Query简单的鼠标操作即完成了如题所需的星号前数据求和问题,而且关键的是这个结果是可以随着源数据的更新而一键刷新的。
更多精彩内容,敬请关注【Excel到PowerBI】私信我即可下载60+Excel函数、数据透视10篇及Power系列功能100+篇汇总训练材料我是大海,微软认证Excel专家,企业签约Power BI顾问让我们一起学习,共同进步! 网友解答:
我是@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) 下拉即可