来求助这个问题的读者心里一定很崩溃:是有多不会 Excel 的人,才会将算式设置成这样?连运算符都没写对,却要人计算出结果。
案例:计算下图 1 中的算式,效果如下图 2 所示。
解决方案:1. 在 B1 单元格中输入以下公式 --> 下拉复制公式:
=SUBSTITUTE(SUBSTITUTE(A1,"÷","/"),"x","*")
公式释义:
SUBSTITUTE(A1,"÷","/"):substitute 的作用是在某一文本字符串中替换指定的文本;
语法为 SUBSTITUTE(text, old_text, new_text, [instance_num])
text:需要替换其中字符的文本;
old_text:需要替换的文本;
new_text:用于替换 old_text 的文本;
[instance_num]:可选;指定要将第几个 old_text 替换为 new_text
本公式的含义为:将 A1 单元格中的所有“÷”都替换为“/”;
SUBSTITUTE(...,"x","*"):将上述结果中的“x”全都替换为“*”
2. 按 Ctrl+F3 --> 在弹出的对话框中点击“新建”
3. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
名称:输入一个简单的名称,比如“a”
引用位置:输入公式 =EVALUATE("="&Sheet1!$B1)
公式释义:
evaluate 是个宏表函数,只能在自定义名称中使用,不能在单元格内直接使用;作用是将文本形式的公式转换成值;
括号中的“&”符号将“=”与单元格的算式链接起来,从而成为公式;
$B1 的行号要相对引用
4. 关闭对话框。
5. 在 C1 单元格中输入公式“=a”--> 向下拖动公式
这样就计算出了算式结果,如果不想用辅助列,可以直接将 B 列的公式设置到 evaluate 函数中。