王德宝,王德宝讲师,王德宝联系方式,王德宝培训师-【讲师网】
46
鲜花排名
0
鲜花数量
扫一扫加我微信
王德宝:如何计算Excel一个单元格内多行数字之和
2016-01-20 21594

如图,A1单元格有多行数字(用Alt+Enter换行),如何求这些数的和呢?

点击查看原图

请看B2的公式:

=SUMPRODUCT(--(0&TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",50)),ROW($1:$20)*50-49,50))))

套用此公式时,只需要把公式中的A1换成你要求和的那个单元格即可,比如B1。

 

公式说明:

1.作用:对一个单元内多行数值求和。

2.实现方式 :通过拆分换行符,构建数组,再求和。

3.详细解释:

*CHAR(10)是原单元格中用Alt+Enter产生的换行符号;

*REPT(" ",50)是产生50个空格;

*SUBSTITUTE是将某个单元格中的 旧字符 替换成新字符,因此:SUBSTITUTE(A1,CHAR(10),REPT(" ",50))这一步是把强制换行符号替换为50个空格;为什么是50个而不是5个呢?这是因为为了下一步利用MID函数对这个长字符进行分段截取(每组50个字符),如果你替换成的空格少了--比如5位--可是截取了10位,可能会导致一些大的数值(比如一个11位的数)就会被截断,无法得出正确的结果。所以这里要替换得位数大一点。当然也不需要50这么大,15位就可以了。

*接下来的MID函数是截取一段字符中的一部分,此公式是分别截取1-50位,51-100,等;

*用TRIM函数去一下两边的空格(因为MID截取出来的字符肯定是带有空格的);前面再加上个0目的是万一拆分出的内容为空的情况下,不会在“--”(这个运算下面解释)时报错(空值转化成数字会报错,而数字前加0,在转化成数字时,会自动将0去掉);

*-- 是对字串转化成数字。先变负数,再负一下就变回来了。如果字串本身就不是数字,那就转不过去了~

*最后再用SUMPRODUCT 就是对上述的分离出的数组进行求和,得到最终结果。


德宝老师博客原文:https://blog.debao.name/post-101.html?j=1

全部评论 (0)
热门领域讲师
互联网营销 互联网 新媒体运营 短视频 电子商务 社群营销 抖音快手 新零售 网络推广 领导力 管理技能 中高层管理 中层管理 团队建设 团队管理 高绩效团队 创新管理 沟通技巧 执行力 阿米巴 MTP 销售技巧 品牌营销 销售 大客户营销 经销商管理 销讲 门店管理 商务谈判 经济形势 宏观经济 商业模式 私董会 转型升级 股权激励 纳税筹划 数据加载错误
Message:Exception of type 'System.Web.HttpUnhandledException' was thrown.
Source:System.Web
StackTrace: at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at System.Web.Mvc.ViewPage.ProcessRequest(HttpContext context) at System.Web.Mvc.ViewUserControl.ViewUserControlContainerPage.ProcessRequest(HttpContext context) at System.Web.Mvc.ViewPage.RenderView(ViewContext viewContext) at System.Web.Mvc.ViewUserControl.RenderView(ViewContext viewContext) at System.Web.Mvc.WebFormView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) at System.Web.Mvc.Html.SDRenderPartialExtensions.SDRenderPartial(HtmlHelper helper, String partialName, Object model, ViewDataDictionary viewData, Action`2 expFunc)
Message:Collection was modified; enumeration operation may not execute.
Source:mscorlib
StackTrace: at System.Collections.Generic.List`1.Enumerator.MoveNextRare() at ASP.views_space_spacerightbar_v2_ascx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in d:\webs\subsite-pc.jiangshi.org\Views\Space\SpaceRightBar_v2.ascx:line 52 at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
讲师网上海站 sh.jiangshi.org 由加盟商 杭州讲师云科技有限公司 独家运营
培训业务联系:小文老师 18681582316

杭州讲师网络科技有限公司 更多城市分站招商中