Excel函数实战系列 第12期
Excel函数实战系列 第12期
Excel函数实战系列 第12期
小伙伴们,今天继续我们的函数实战系列,今天我们更新到第12期。现有A列的数据,是非常多的四则运算式子,只有加和乘,没有其他符号,如果没有乘号,是前面省略1,现需求出乘号前所有数字的和。现实工作中的需求真是多元化!每个人的需求是多种多样的,经常会见到一些奇奇怪怪的实际需求,但是,只要把数据放到Excel里面,再奇怪的要求,我们都有办法来解决他。就是求15+65+1+1的和,因为12和116前面没有*号,默认为1.根据文本中的分隔符分列正好有函数TEXTSPLIT可以搞定,可以根据+号将每一截分开。然后再截取文本分隔符前面的正好有函数TEXTBEFORE可以处理。因为数据中有省略1的,中间有错误,IFNA函数处理错误值。=LET(X,--IFNA(TEXTBEFORE(TEXTSPLIT(A2,"+"),"*"),1),SUM(X))将A2以+号分开,形成内存数组"15*89","65*90","12","116"。TEXTBEFORE(TEXTSPLIT(A2,"+"),"*")TEXTBEFORE根据*号提取上一步取得数据,因为数据中没有*号的得到错误值,最后得到"15","65",#N/A,#N/A。IFNA(TEXTBEFORE(TEXTSPLIT(A2,"+"),"*"),1)IFNA处理错误值,是错误值的,变成1,否则还是原来的值。{"15","65",1,1}。因为TEXT系列函数得到的结果是文本,不能直接进行四则运算,所以要把他们变为数值,--IFNA(TEXTBEFORE(TEXTSPLIT(A2,"+"),"*"),1)。LET函数通过定义名称,这些名称仅在LET函数作用域内适用,来简化公式的长度。=LET(X,--IFNA(TEXTBEFORE(TEXTSPLIT(A2,"+"),"*"),1),SUM(X))LET函数定义一个名称X,X就等于--IFNA(TEXTBEFORE(TEXTSPLIT(A2,"+"),"*"),1),最后对X进行求和。好了,今天就聊到这,有什么不懂的,或工作中遇到的实际问题,打到留言区,我们一起搞定。
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。