图文 | 安伟星 来源 | 精进Excel
任意点开「精进Excel」三篇文章,如果没有你想要的,就算我耍流氓!
最近,多名学员在问我:如何在Excel中计算表达式的值。
我们知道,在Excel中要计算=1+1,很简单,因为他是公式,Excel可以直接计算求解;但要直接计算1+1的值,就不行了。
今天,星爷告诉你三种方法,让Excel可以计算表达式的值。
001 宏表函数法
可以借助于Excel的宏表函数Evaluate来实现。
Evaluate函数的作用是:对用文本方式表示的一个表达式求值,并返回其结果。它在高版本EXCEL单元格公式中不再直接支持,所以要用定义名称的方法来间接使用。
如图A列中有三个表达式,因为没有等号「=」,所以她们无法参与计算,属于文本格式。
▌Step1:将鼠标定位到B2单元格,在「公式」选项卡中,找到「定义的名称」分区,点击「定义名称」
注:
①也可使用快捷键 Ctrl+F3打开名称管理器,然后点击「新建」
②鼠标必须定位在B2单元格
▌Step2:在弹出的「编辑名称」对话框中,在名称栏输入一个名称,如:JS;在引用位置里输入公式=EVALUATE(Sheet1!$A2)
注意:公式=EVALUATE(Sheet1!$A2)中,单元格引用必须为行相对引用,因为公式在向下复制的时候,需要引用到不同的单元格。
▌Step3:在B2单元格输入公式=JS,即可求出A2中表达式的值,由于本例中使用了智能表格,公式能自动扩展,三个表达式的值,一次性即可求出。
定义了名称之后,在单元格中引用名称的时候,会进行联想提示,计算出的结果如下图。
002 转换Lotus1-2-3公式
据说Lotus也是一种电子表格软件,在Excel出世之前,曾风光一时,它支持表达式直接计算。
Excel为了表示对它的友好支持,也可以设置成支持Lotus公式。
如图,同样是A列的表达式。
▌Step1:点击「文件」→「选项」→「高级」,然后拖到最后,勾选「转换Lotus 1-2-3公式」
▌Step2:回到工作表界面,选择A2:A4数据,按Ctrl+C进行复制;
▌Step3:将鼠标放置在B2单元格中,点击「剪贴板」下面的三角,调出剪贴板;
▌Step4:点击要粘贴的项目,则会在B列区域字段计算出表达式的结果。
003 剪贴板大法
使用宏表函数需要定义名称,很多人用起来并不顺手。我们还可使用剪贴板技巧快速实现表达式求解。
▌Step1:在C2单元格中写入公式 ="="&B2,这里第一个等于号=是公式的标记,第二个等于号放在了双引号里“=”和B2中的表达式通过&连接成新的公式。将公式向下复制填充后,结果如下。
注:C列中计算而来的公式并不会再次计算,因为他们是文本形式。
▌Step2:接下来就是将C列的公式复制到剪贴板然后再粘贴回C列即可,通过GIF进行演示。
本例使用了剪贴板的第二个特性:可以执行数据的再次输入。是想,当我们在C列中手工输入公式=2300+1250+7850-385的时候,是不是会直接计算出结果,而使用剪贴板就起到了这样的效果。
作者:安伟星,微软Office认证大师,领英中国专栏作者,《竞争力:玩转职场Excel,从此不加班》图书作者,原创公众号:精进Excel