如何让Excel及Google Spreadsheets将单元格文本识别为公式计算
无自定义函数实现文本公式计算方案
以下方案分别适配Google Spreadsheets和Excel,均不需要手动编写自定义函数/脚本,即可实现「读取单元格内存储的文本计算式返回结果」的效果。
Google Spreadsheets 方案
直接使用内置QUERY函数的空参数计算特性实现,不需要任何额外配置:
- 假设文本计算式存在A1单元格(如内容为
1+2),在结果单元格输入以下公式即可:=QUERY(,"SELECT "&A1) - 公式会自动拼接A1内的计算文本执行运算,直接返回结果3,支持常规四则运算、内置函数写法,也支持计算式中引用其他单元格内容。
- 该方法无权限、格式限制,表格打开即可正常使用。
Excel 方案
使用内置宏表函数EVALUATE配合定义名称实现,不需要编写VBA代码:
- 先选中要输出结果的单元格(如示例中的A2)
- 点击顶部菜单栏「公式」选项卡 -> 选择「定义名称」:
- 名称可自定义为你需要的
readAsFormula - 「引用位置」栏输入以下内容:
注意如果需要批量下拉计算整列的文本公式,不要给行号加绝对引用的=EVALUATE(!$A1)$符号;如果固定计算单个单元格,可写为=EVALUATE(!$A$1)
- 名称可自定义为你需要的
- 确认保存名称后,直接在结果单元格输入
=readAsFormula回车,即可得到A1内文本计算式的运算结果,下拉公式可批量适配每行的计算。
- 注意:该方法依赖Excel 4.0宏表函数,文件需要保存为
.xlsm格式,打开文件时选择启用宏即可正常使用,全程不需要手动编写自定义函数逻辑。
内容的提问来源于stack exchange,提问作者Marcus Arnhold
相关产品推荐
相关产品推荐

