送人玫瑰,手有余香,请将文章分享给更多朋友
动手操作是熟练掌握EXCEL的最快捷途径!
【置顶公众号】或者【设为星标】及时接收更新不迷路
小伙伴们好,今天要和大家分享一道文本题目。这道题目还具有一定的代表性,弄明白了这道题目的思路,对于今后同类型的题目就得心应手了。
题目是这样的:
要求将A列中单元格内括号内的数字汇总。要求就这么多,那么我们该如何入手解决这个问题呢?
我们解决这类文本问题都会用SUBSTITUTE函数,今天这个题目也不例外。但有所不同的是,需要先对源数据做一下简单的处理。
在单元格B2中输入公式“=SUM(--TEXT(TRIM(MID(SUBSTITUTE(SUBSTITUTE(A2,"(","("&REPT(" ",99)),")",REPT(" ",99)&")"),COLUMN(A:I)*99-98,99)),"0;;;!0"))”,三键回车并向下拖曳即可。
思路:
由于我们只需要括号内的数字,在进行数据拆分时不能提取到括号外的数字,因此我们需要把括号内的数字左右两侧都增加一定长度的空白
SUBSTITUTE(A2,"(","("&REPT(" ",99)),")",REPT(" ",99)&")")这部分就时为了达到上述的目的
接下来利用SUBSTITUTE函数的经典应用,将数据拆分,拆分后的结果是{"a12(","345",")3(","add",")6(","78",")9?(","呼伦贝尔",")0"}
这是一个文本和数字混合的内存数组
利用TEXT函数强制将文本转换为0
SUM函数求和得到最终结果
如果我们对TEXT函数还不是很熟悉,那么我们也可以用下面的这个方法。
在单元格B2中输入公式“=SUM(IFERROR(--TRIM(MID(SUBSTITUTE(SUBSTITUTE(A2,"(","("&REPT(" ",99)),")",REPT(" ",99)&")"),COLUMN(A:I)*99-98,99)),0))”,三键回车并向下拖曳。
思路:
文本提取部分和上面的方法是一样的
接下来做减负运算,将文本变为错误值
利用IFERROR函数将错误值转换为0
SUM函数求和
-END-
我就知道你“在看”
联系客服