编按:有些单位部分账目不够规范,譬如报销表,报销内容中文字和金额数据是记录在一起的,怎么求和得到报销金额呢?通常的做法是需要增加一列,把数据单独提取出来,然后进行求和。当然也可以用公式一步到位直接求和。学习更多技巧,请收藏关注部落窝教育excel图文教程。


数据求和原本很简单,可是如果数据录入不规范,譬如账目中的文字和数据记录在一起,那求和就复杂了!请看下面的例子。这是一个简单的流水账,费用内容文字和具体金额是记录在一个单元格内的,现在我们要计算出总的消费金额。

如何求和呢?常规操作,是先建立辅助列把金额数据提取出来,然后进行求和。

数据提取,大家的第一反应可能是用Ctrl+E。然而此处,用Ctrl+E会遇到问题,因为有小数和负数存在。下图是用Ctrl+E的效果,存在错误:

当前数据少,我们可以Ctrl+E后再手动修改个别错误数据。

如果数据有成百上千条呢?显然我们需要另外的方法来处理。

一、用公式提取数据,然后再求和

我们一起来分析这组数据的特点。总结后有以下几点:

l 数据和文本混合,文本全部为汉字,没有字母。

l 每个单元格中只包含了一个数据。

l 存在小数和负数。

l 在数据(含负号在内)前后没有其他单字节字符。

l 数据在字符串中所在位置不同,也没有规律。

l 数据的字符长度不固定。

针对以上的几个特点,我们可以考虑使用MIDB函数、SEARCHB函数来提取数字。

在单元格C2中输入“=--MIDB(B2,SEARCHB("?",B2),2*LEN(B2)-LENB(B2))”并向下拖曳即可。

公式思路和函数解释:把数据从字符串中提取出来就是一个文本提取操作。当前的难点是每个单元格中数据开始提取的位置和长度不固定。从前面的分析中,我们得到一个可以利用的规律:在数据(含负号在内)前后没有其他单字节字符。这条规律的价值在于,单字节字符部分就是我们需要的数据(含负号)。那只要能用函数自动获取每个单元格中单字节字符的开始位置和长度,一切问题就解决了。

l MIDB函数是根据指定字节数提取文本。

它与我们常用的MID函数用法一致,唯一的区别就是:MID根据字符数来提取文本,MIDB根据字节数来提取文本。

l SEARCHB函数用于解决从哪里开始提取文本。

SEARCHB函数是查找第一个字符串在第二个字符串中的起始位置。它返回的起始位置用字节数表示。

SEARCHB("?",B2)表示在B2单元格(第二个字符串)中查找第一个单字节(“?”)字符的字节位置。其中“?”在本处表示任意单字节字符。SEARCHB("?",B2)实际查找的就是数字6(它是B2单元格中第一个单字节字符)在B2中的位置。在公式中选中SEARCHB("?",B2)按F9,可以看到返回结果是7。

这部分函数公式帮我们解决了从哪里开始提取文本。

l 2*LEN(B2)-LENB(B2)这部分函数公式解决了文本的提取长度。

LEN(B2)统计的是B2单元格字符串的字符数;LENB(B2)统计的是B2单元格字符串的字节数。两倍字符数减去字节数就可以得到单元格中单字节字符的字节数,对本例来说就是得到数据的字节数。

现在,数字提取出来了,最后再利用SUM函数求和即可。学习更多技巧,请收藏关注部落窝教育excel图文教程。

二、直接用一个公式完成求和

这次我们来增加一些难度。要求在一个单元格内直接用公式求出总费用。

在单元格D2中输入“=SUM(--MIDB($B$2:$B$10,SEARCHB("?",$B$2:$B$10),2*LEN($B$2:$B$10)-LENB($B$2:$B$10)))”,三键回车(Shfit+Ctrl+Enter)即可。

公式思路和函数解释:要直接用SUM求和,那就必须让MIDB函数返回一组数而不是单个的值。因此我们把上一个公式中的B2更换成了B2:B10,再套入到SUM函数中,输入完毕按三键回车。

好了,以上就是今天分享给大家的内容,希望朋友们都可以掌握。学习更多技巧,请收藏关注

部落窝教育​www.itblw.com

这个案例,大家可以学到的技能和教训:

l 技能:混合文本中的单字节字符都是一个数据时的数据提取与求和方法

l 教训:不规范录入将增加工作难度


****部落窝教育-excel文字数据混合求和****

原创:Excel应用之家/部落窝教育(未经同意,请勿转载)

更多教程:

部落窝教育​www.itblw.com

微信公众号:exceljiaocheng,+v:blwjymx2


做Excel高手,快速提升工作效率,部落窝教育

一周Excel直通车(7天学会Excel)-部落窝教育​www.itblw.com

视频和

滴答老师课程-部落窝教育​www.itblw.com

直播课全心为你!

相关推荐:

提取数字的万能公式:Excel数字提取技巧:从包含文字的单元格中提取所有数字的万能公式

SUM求和高阶用法:SUM函数的进阶用法:快速对交叉区域、应收款项、小计行求和!

最简单的条件求和函数:DSUM,最简单的条件求和函数!你知道不?

按颜色求和:Excel教程:Excel根据单元格填充颜色求和的三种方法​

c# 获取excel单元格公式结果_excel公式应用技巧:文字和数字混合的单元格,如何求和?...相关推荐

  1. excel单元格内容拆分_excel软件应用:如何妙用Word拆分单元格数据

    编按:打仗亲兄弟,上阵父子兵!Word和Excel就是一对好兄弟,虽然各有分工,但有时也能彼此帮忙.Excel中的莫名其妙问题找Word帮忙解决,往往有效.譬如从平台中导出的数据,先使用Word做一次 ...

  2. excel怎么设置打印区域_Excel使用小技巧-Excel里设置打印区域

    --用最通俗的语言,从最基础的功能讲起,Excel小白学起来也毫无困难. 非常欢迎大家,我会定期分享一些Office办公软件相关的小知识小妙招,也会分享一些其他的小知识或者是一些比较好的文章.图集或者 ...

  3. c# 获取excel单元格公式结果_EXCEL公式解析:单元格中数字去重排序思路及公式详解...

    公式解读 第三期 -单元格中数字的去重排序! 本期涉及到函数较多,你可以一次性根据这个案例,学习多少很多常用 函数的用法,同时我也会讲解思路,这个很重要,思路决定了出路. 直接先看一下我们的效果图: ...

  4. excel高级筛选怎么用_excel:高级筛选技巧大全,值得收藏

    看完文章后,觉得有用,可以关注收藏下,谢谢大家的支持. 在excel中,我们经常使用普通筛选,实际还有高级筛选,使用高级筛选,可以实现很多复杂的筛选功能,今天我们来分享来高级筛选的六种常见用法. 1. ...

  5. excel怎么设置打印区域_EXCEL打印页面设置技巧(四)打印区域和分隔符

    我们设计一个表格后,由于各种原因只需要打印其中一部分,该怎么办?打印区域的作用来了.下面一个表格 样表 如果我们打印的话只需要产品列和受理时间列的话,直接选中这两列点击打印区域→设置打印区域,即可单独 ...

  6. excel公式 某一个单元格等于另一个单元格的值_EXCEL函数学习5——COUNTIF函数

    [标签] excel函数.统计函数 前面我们学习了COUNT函数,我们回顾一下: count函数很简单,就是统计一个或多个区域的数字个数.相对来说,countif函数多了一个if,也就是可以增加条件了 ...

  7. python如何对excel两个单元格求乘积_excel表格怎么求乘积_excel表格多个单元格怎么求积...

    excel是我们日常生活中常用的办公软件之一,经常拿来统计和运算.下面让学习啦小编为你带来excel表格多个单元格求积的方法. excel求积步骤如下: Excel中多个单元格相乘的乘法公式. 在E1 ...

  8. 个人永久性免费-Excel催化剂功能第81波-指定单元格区域内容及公式填充

    在日常数据处理过程中,需要对缺失数据进行填充时,按一定逻辑规则进行处理,实现快速填充,规范数据源.此篇给大家带来多种填充数据的场景. 业务使用场景 对各种系统中导出的数据,很多时候存在数据缺失的情况, ...

  9. 在合并单元格中数组公式无效_Excel中合并单元格困扰多年的难题,终于被我搞定了...

    Excel表格中如果存在合并单元格,经常会遇到一些问题,比如序号填充.数据统计或筛选等,如下图所示,需要根据指定人员姓名查找引用对应的销售部门和销售金额. 这个问题关键在于销售部门列存在合并单元格,如 ...

最新文章

  1. Github上 10 个超好看可视化面板
  2. 操作系统学习笔记:进程同步
  3. J2EE架构[三层]
  4. 基于pygame的射击小游戏制作(四)击杀外星人
  5. SAP Spartacus名为Configuration的injection token
  6. 关于重构之Switch的处理【二】
  7. R语言学习 - 热图简化
  8. 【Flink】Flink SQL 自定义 Source format
  9. 机器学习:什么是欠拟合和过拟合
  10. 关于JS的window.onload与$(function (){})方法区别
  11. emu8086,汇编程序:屏幕输入字符串,设置寄存器的值
  12. 小爱音箱怎么装app_小爱音箱app
  13. 洛谷 P5560 【[Celeste-B]Golden Feather】
  14. 六一儿童节 python
  15. 多金的ToG项目总结——数字人民币
  16. 01 创建一个二维地图
  17. 基于ssm+shiro+activiti的办公自动化系统
  18. 【正点原子FPGA连载】 第七章 Verilog HDL语法 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
  19. 编程随想(编程学什么语言好)
  20. 开机提示小娜无法在本计算机运行,解决Win10正式版开始菜单与小娜打不开问题的三种方法...

热门文章

  1. mysql语句表_mysql表级sql语句
  2. 计算机科学在生物信息中的应用,生物信息学在基因组学中的应用
  3. ps原始数据清理脚本_创建地形模型一步到位!PS最新2019全球首款3D地形生成插件送给你...
  4. C# 计算IP段之间的IP列表
  5. fopen需要改写成fopen_s的时候
  6. 路飞学城Python-Day46
  7. 惠普前总裁孙振耀指点职业规划
  8. [转]对C#泛型中的new()约束的一点思考
  9. 在ASP.NET AJAX中使用应用程序服务和本地化(3):用户个性化组件ProfileService
  10. Docker(2):使用Dockerfile创建支持SSH服务的镜像