瞬间搞定报销表费用汇总!这个Excel求和公式太牛了
蓝字发送【目录】
送你200篇独家Excel精华教程
编按:
有些单位部分账目不够规范,譬如报销表,报销内容中文字和金额数据是记录在一起的,怎么求和得到报销金额呢?通常的做法是需要增加一列,把数据单独提取出来,然后进行求和。当然也可以用公式一步到位直接求和。
一、用公式提取数据,然后再求和
数据和文本混合,文本全部为汉字,没有字母。
每个单元格中只包含了一个数据。
存在小数和负数。
在数据(含负号在内)前后没有其他单字节字符。
数据在字符串中所在位置不同,也没有规律。
数据的字符长度不固定。
=--MIDB(B2,SEARCHB("?",B2),2*LEN(B2)-LENB(B2))
MIDB函数是根据指定字节数提取文本。
它与我们常用的MID函数用法一致,唯一的区别就是:MID根据字符数来提取文本,MIDB根据字节数来提取文本。
SEARCHB函数用于解决从哪里开始提取文本。
SEARCHB函数是查找第一个字符串在第二个字符串中的起始位置。它返回的起始位置用字节数表示。
SEARCHB("?",B2)表示在B2单元格(第二个字符串)中查找第一个单字节(“?”)字符的字节位置。其中“?”在本处表示任意单字节字符。SEARCHB("?",B2)实际查找的就是数字6(它是B2单元格中第一个单字节字符)在B2中的位置。在公式中选中SEARCHB("?",B2)按F9,可以看到返回结果是7。
这部分函数公式帮我们解决了从哪里开始提取文本。
2*LEN(B2)-LENB(B2)这部分函数公式解决了文本的提取长度。
LEN(B2)统计的是B2单元格字符串的字符数;LENB(B2)统计的是B2单元格字符串的字节数。两倍字符数减去字节数就可以得到单元格中单字节字符的字节数,对本例来说就是得到数据的字节数。
二、直接用一个公式完成求和
=SUM(--MIDB($B$2:$B$10,SEARCHB("?",$B$2:$B$10),2*LEN($B$2:$B$10)-LENB($B$2:$B$10)))
赞 (0)