如上面说的 20+30在Excel运算里不能认作数值 当然运算失败
可以现在进行提取再运算 前提是A1是+号 如果还有其他符号比如-号就要加入逻辑函数
这个先不做回答
你的问题
公式是:
A3=MID(A1,1,FIND("+",A1)-1)+MID(A1,FIND("+",A1)+1,LEN(A1)-FIND("+",A1))*A2
解释:
公式有三部分组成
MID(A1,1,FIND("+",A1)-1) 后面跟着运算符 "+"
MID(A1,FIND("+",A1)+1,LEN(A1)-FIND("+",A1)) 后面跟着运算符 "*"
A2
第1段:
MID(A1,1,FIND("+",A1)-1)
提取出A1里面的20
MID是提取函数 FIND是查找函数
这段完整的解释是 提取A1,从第1位,提取2位数字【FIND("+",A1)-1:FIND查出"+"号在A1的位置在第3位,-1就是要+号前面的位置,最后得出2】
第2段:
MID(A1,FIND("+",A1)+1,LEN(A1)-FIND("+",A1))
LEN是算出单元格里共有几个字符 如A2:30 那么=LEN(A2) 结果为2
这段完整的解释是 提取A1,从第4位【FIND查出"+"号在A1的位置在第3位,+1就是要+号后面的位置,最后得出4】,提取2位数字【这个分两步解释,LEN(A1)查出单元格共5个字符,FIND("+",A1))查出"+"号在A1的的位置在第3位,两段函数相减得出2】
3段结合即为你要的结果
楼上已经说了A1是表达式,是文本格式,不能参与运算。不过可以用下面方法计算表达式:
如何计算单元格中的数字加减乘除,如230+2*13+31/5,应使用宏表函数EVALUATE来设置定义名称。
菜单中“插入”下“名称”→“定义”,上面输入一个名称,比如qq,在下面引用位置中输入:=EVALUATE(工作表字段名!相加数字所在单元格名),再在相加数字单元格后的单元格中输入:=qq,就能加减乘除了。
比如D1输入计算式,E1要得到结果,选择E1单元格,按CTRL+F3上面定义一个名QQ,下面引用位置输入:=EVALUATE(D1);或=EVALUATE(工作表字段名!D1),然后在E1输入:=QQ,就可以得到D1计算式结果。
A1中的“20+30“不是数据,系统认为是文本,无法计算。A1改成“=20+30”,或者50,就好了。
A1是20+30 不是数值 不是公式 不能参与计算
你需要在20+30 前加上加号或者 等于号
A3输入公式=(LEFT(A1,FIND("+",A1)-1)+MID(A1,FIND("+",A1)+1,10))*B1
式中LEFT(A1,FIND("+",A1)-1)提取A1单元格“+”号前面的数字
MID(A1,FIND("+",A1)+1,10)提取A1单元格“+”号后面的数字