什么奇葩要求?在单元格内写加法算式,还让我求和......

编按

Hello各位小伙伴们~“求和”是Excel中最常见的问题了。普通求和用SUM函数,条件求和用SUMIF函数 ,多条件求和用SUMIFS函数,区域求和可以用SUMPRODUCT函数……但是这一切的前提是一个单元格中放一个数据。

如果一个单元格中放的是几个数据相加或者相乘的算式,我们又该怎么办呢?今天大家就跟着小E一起来学习一下“另类”的求和知识吧~

扫码入群,下载Excel练习文件,同步操作

一、单元格中算式求和

1.1定义“计算”名称

打开【公式】选项卡,找到“定义名称”按钮,打开后会弹出“新建名称”对话框,我们取个名字,比如叫“计算”。

在引用位置输入公式=EVALUATE(Sheet1!A1),这里的A1单元格地址是对应数据中A1单元格,注意公式相对引用哦。

确定后我们回到B1单元格中输入=计算,按回车键后结果就计算出来了,下拉填充公式即可全部计算完成。(注意:如果前面单元格是空白就没办法计算,会显示错误值)

EVALUATE是常用的宏表函数,其作用是对以文字表示的一个公式或表达式求值,并返回结果。

其语法为:EVALUATE(formula_text)。

formula_text是一个要求值的以文字形式表示的表达式。

1.2公式&“=” 计算值

这种方法较定义名称法更好理解与记忆。

比如需要计算的公式在A列,那么我在B列的B1单元格输入公式="H="&A1,然后下拉填充公式。

接着将填充公式的单元格区域复制,在C列中将结果粘贴成值

最后选中C列,按快捷键Ctrl+H打开“查找替换”对话框,在查找中输入字母H,替换中不输入内容,点击全部替换即可。

1.3分类法计算算式结果

分列法计算算式结果适用于算式中运算符都相同的情况。可以直接使用分列中的分隔符,将数据分开到每个单元格中最后进行SUM求和运算即可。

这种技巧操作简单,缺点是遇到运算符不同时就不适用了。比如公式中有加减乘除的情况下就不适用分列解决了。

1.4自定义函数计算(VBA)

我们可以通过编写VBA代码自定义一个VBAJS函数来专门计算这种公式的数据,这个方法较之前的方法,可以一次做好,而且更方便,好记忆。操作步骤如下图:

自定义的VBA代码在本篇文章的跟做课件中,有需求的小伙伴可以联系客服老师领取。

以上单元格公式求和的方法就介绍到这里,接下来介绍一下当我们遇到需要按照单元格颜色求和时如何进行计算的方法。

二、按单元格颜色求和

2.1查找替换法

首先我们按照下图步骤打开查找对话框,也可以直接按快捷键Ctrl+F打开。

在查找和替换对话框中的右边选择“格式”下拉按钮,点击“从单元格选择格式”的选项,我们选中后到表格中找到需要求和颜色单元格。比如案例是黄色填充的单元格。

选中后查找和替换对话框的预览格式就会提示预览黄色以及字体。从单元格选取的格式不仅仅是颜色,也包含了单元格的字体格式。确定好后我们点击查找全部。

结果会在下方弹出的查找全部的对话框中出现,选中下方查找出来的结果按快捷键Ctrl+A全选,Excel软件下方就会弹出黄色单元格求和的结果。

缺点:这里的求和结果需要进行手动录入,且黄色单元格数据变化时不会动态更新

操作步骤动图如下:

2.2定义名称+SUM函数

另外一种方法是使用前面定义名称的方法搭配SUM函数,对黄色单元格区域进行求和。

首先对黄色填充单元格定义名称,然后在单元格输入公式=SUM(黄色),最后按回车键结束计算。

优点:当黄色单元格区域值更新时对应的结果可以进行动态更新。

缺点:只对定义黄色填充的单元格区域数据进行求和,当新增其他单元格填充黄色时数据并不会加入进去计算。

2.3VBA

终极的解决办法就是使用VBA解决按照单元格颜色进行求和的问题。

点击表格下方的工作表名称,点击鼠标右键选择“查看代码”。打开VBE编辑器后,在前面已经插入好的模块中粘贴一段新的自定义函数代码。

回到表格中,在E11单元格输入=SumColor(D11,B3:G9),按回车键就可以计算出结果了。

当公式选中的B3:G9单元格区域中有增减单元格颜色时,对应的公式更新后就会发生变化。

PS:自定义的SumColor函数语法:(求和单元格颜色,求和单元格区域)

我们尝试将D11单元格的颜色进行更换,看看数据会不会发生变化?

换成另外一个颜色后,求和的公式需要重新编辑一遍,VBA代码才会运算执行。

当然这一步也可以写入单元格事件让VBA公式自动更新来解决。

学习VBA其实蛮有趣的,掌握了对象、属性、方法、循环、字典正则的基础上思路就是出路。

(0)

相关推荐