Excel函数学习之算式自动计算利器evaluate()的应用-

最近收到在某快递上班的周同学问题求助,主要是在计算包裹的体积时遇到了些麻烦事。

下面我们就来看看周同学遇到的问题能否有好的解决办法。

下表是周同学近期整理的快递包裹尺寸数据,其中重要一项工作就是通过长*宽*高来计算出包裹的体积。这个问题也是我们经常遇到的Excel算式自动计算问题。

周同学表示其实自己也能做出来,只不过是方法比较笨拙原始。

一、Excel分列数据计算体积

周同学自己使用的方式是分列,由于长宽高 3个数字均由星号隔开,所以使用分列的方式将数字分别放置在三个单元格中即可完成计算体积。

操作步骤

1、选中G列数据后单击【数据】选项卡中的【分列】

2、出现分列向导对话框,我们一共需要3步完成数据分列。第一步是选择分列的方式:【分隔符号】、【固定宽度】,周同学的表中有星号分隔数据,可以使用分隔符号分列,所以我们选择【分隔符号】后单击【确定】。

注:【分隔符号】方式分列主要运用于有明显字符隔开的情况,【固定宽度】主要运用于无字符隔开或者无明显规律的情况手工设置分列字符的宽度。

3、单击【下一步】进入文本分列向导第二步,在这里我们可以选择分隔符号,可以是TAB键、分号、逗号、空格、其他自定义。由于默认选项中没有星号,所以我们勾选其他,然后输入星号即可。

当输入完成后,下方数据预览可以看到数据中的星号字符变成了竖线,已经完成了分列。

4、单击【下一步】,列数据格式为常规,直接单击【完成】即可。

此时出现提示:此处已有数据。是否替换它?

由于分列前G列内容包含长宽高尺寸数据,分列后,G列被替换成“长”。

直接单击【确定】,可看到分列结果。

5、根据长宽高轻松计算出包裹体积。

周同学觉得这样还不是最好的方案,因为表格列数是固定的,而且数据都已经和其他表格相互关联,分列数据后插入了2个新列,那数据岂不是都乱了吗?

二、提取数字计算体积

我们来试试用文本函数来解决。(前方高能,这里只需要了解一下就可以了,主要是为了突出第三种方式的简单)

既然我们要计算包裹的体积,那么我们只需要将G列中的长宽高数据分别提取出来然后相乘即可。

提取长度数据:

函数公式:=LEFT(G2,FIND("*",G2,1)-1)

提取宽度数据:

函数公式:

=MID(G2,FIND("*",G2,1)+1,FIND("-",SUBSTITUTE(G2,"*","-",2))-1-FIND("*",G2,1))

提取高度数据:

函数公式:

=RIGHT(G2,LEN(G2)-FIND("-",SUBSTITUTE(G2,"*","-",2),1))

最后我们将3个函数公式合并嵌套统计得出包裹的体积。

好了,我知道上方的函数公式太复杂,大家都不想学,所以也没给大家做过多的函数解析,简单粗暴,下面给大家隆重推荐一个最简单的方法:宏表函数。

三、EVALUATE函数计算体积

EVALUATE函数怎么使用,首先我们了解一下EVALUATE的含义,其实EVALUATE是宏表函数,宏表函数又称为Excel4.0版函数,需要通过定义名称(并启用宏)或在宏表中使用,其中多数函数功能已逐步被内置函数和VBA功能所替代,但是你一分钟学不会VBA,却可以学会宏表函数。函数EVALUATE的应用比较常见的就是Excel算式自动计算,

下面我们开始操作演示:

1、选中G列,单击【公式】选项中的【名称管理器】

弹出如下所示对话框:

2、单击【新建】,在【新建名称】对话框中输入名称为TJ,应用位置输入函数公式

=EVALUATE(Sheet1!$G$2:$G$44)/1000/1000( 备注:由于之前单位是厘米,我要将统计结果转化为立方米,所以需要除1000000)后单击【确定】。最后关闭名称管理器。

公式解析:

由于G列数据是长*宽*高,*在excel中就是乘法的意思,G列的数据本身就可以看作一个公式,我们只需要得到这个公式结果就可以啦。而EVALUATE的功能就是得到单元格内公式的值,所以在上图中,大家会发现,EVALUATE函数中的参数就只有一个数据区域。

3、见证奇迹的时刻到了。在H2单元格中输入TJ两个字母就能快速得到体积信息啦!

这种即简单又快捷还不用辅助列的方式是不是很棒!简直是3全其美!周同学的问题终于有了完美的解决方案。

相关学习推荐:excel教程

Excel函数学习之算式自动计算利器evaluate()的应用-