问题
最近,弟弟问我怎么从WPS表格中提取含文本的算术表达式中计算表达式的结果,如下表,
思路
- 利用正则表达式先提取数字,小数点,±*/()等符号,以获取完整的算术表达式
- 利用EVALUATE计算算术表达式的值
- 注意:提取的字符均为英文字符,且中文字符不能用小括号括起来
实现
提取表达式
- 选中“表达式”这一列的第一个单元格
- 输入=RegexString(
- 等待输入第一个参数时,选中“描述”这一列的第一个单元格
- 第二个参数输入字符串"()\d.+-/",注意用英文字符,其中双引号里面的()分别匹配参数1中单元格字符串中的左右小括号,.±/分别匹配对应的字符
- 第三个参数直接默认输入0
- 输入完以后直接按回车即可
- 其他单元格则直接拖动单元格,复制格式
计算表达式
- 选中“计算结果”这一列的第一个单元格
- 输入=EVALUATE(
- 等待输入第一个参数时,选中“表达式”这一列的第一个单元格
- 输入完以后直接按回车即可
- 其他单元格则直接拖动单元格,复制格式
备注
- 这里使用的WPS表格版本为10.1.0.7698,该版本自带RegexString和EVALUATE函数
- 若使用EXCEL系列,可能没有自带RegexString和EVALUATE函数,需要下载版本对应的API