很有意思的括号内数字求和

大家好,今天和大家分享"很有意思的括号内数字求和",前面是一个订单号,后面跟着一对小括号,小括号里是销量,小括号不确定,但是不会超过10个,现在要把这些销量加起求和,如下图,就是把红色字体的数字相加,如下图,这种题我一般会想到用vba加正则表达式来完成,但这个也可以纯函数完成,下面我就用函数完成,请坚持看完,看完之后学会了这种解法觉得这题特有意思。

一、公式截图

二、公式

=SUMPRODUCT(--TEXT(MID(A2&"小老鼠",ROW($1:$99),COLUMN($A$1:$J$1)),"!0;0;0;!0")

三、公式解释

  • MID(A2&"小老鼠",ROW($1:$99),COLUMN($A$1:$J$1))为什么要在A2后面连接“小老鼠",呵呵,这里是为给我自己留个网名,当然后面连接个任意一个字符都可以,目的就是不能让一对小括号结尾,因为这个公式经典之处就在数字放在小括号里自定义格式里会自动转为负数,而在text函数第2参数分为4节,第1节正数;第2节负数;第3节零;第4节文本,第2节前不加负号,仍然会显示正数,完整的格式,记得中间是分号分开,用0占位符→0;-0;0;@

  • MID(A2&"小老鼠",ROW($1:$99),COLUMN($A$1:$J$1))用mid函数从第1个位置符开始,提取1个,2个,3个……10个;然后从第2个位置开始提取1个,2个,3个……10个;然后从第2个位置开始提取1个,2个,3个……10个;我就不一直说下去了,总之大家玩函数一定要学会数组用法,这里的mid函数第2参数和第3参数都用了数组用法

  • 用mid把它们分隔之后,再用text函数处理,关键是Text函数第2参数的理解"!0;0;0;!0",这是什么意思呢,第1节是正数强制显示0,第2节负数,有的朋友会问,mid提取的时没有见到有负数,这就是这个题的经典之处,刚好小括号放数字就是负数,这是自定义单元格格式里的知识,你要死记它,是负数那个负号去那里了,这也是自定义单元格式知识,因为你在text函数第2参数第2节你把那个负号省掉了,当然就显示正数了

(0)

相关推荐