Excel2007中如何做到 在一个单元格中输入计算式+文字 在另一单元格中等于结果

例如在A1中输入[长]3*[高]2,然后在B1中生成答案=6 请问高手如何能做到,只是计算式没有文字的我会做,如上要文字+计算式的我就不会了
注意我的Excel2007,具体步骤要按2007版的,不然我不知道在那找。

可怜的孩子。


看下面图片吧。在C2单元格输入=A2*B2就好了。


感觉自己回到解放前了。

追问

拜托你把问题看清楚再说!
首先我是要在A1中输入“ [长]3*[高]2 ”引号内的全部文字加数字(不含引号),其实实际用的会长的多,只能在A1一个单元格中输入 不是A1输2 B1输3,B1是我直接需要显示答案的地方

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-16
选定A1在插入--名称--定义取一个名比如MM,在下面的引用位置输入=EVALUATE(Sheet1!IV1),然后在B1输入=MM追问

这个方法只能输入计算式,如果加上文字就会错误,请注意我是要文字+计算式的那种
我这里有个表就有那个功能,而且好像是没有用VBA的,但是我不知道别人是怎么做到的

追答

如A1是[长]3*[高]2就改为=EVALUATE(SUBSTITUTE(SUBSTITUTE(Sheet1!$A1,"[长]",),"[高]",))
如A1是长3*高2就改为=EVALUATE(SUBSTITUTE(SUBSTITUTE(Sheet1!$A1,"长",),"高",))

追问

我试了一下 很郁闷 这样做 就只能写“[长][高]”这两个字,如果换了其他字就不行,我需要的是要写很多字的

追答

你自己可以加,如=EVALUATE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(Sheet1!$A1,"长",),"高",),"宽",),"米",),"重",))

追问

这样还是不行的,我实际要输入的文字是任意的!
答案我已经找到了,应该是=Evaluate(SUBSTITUTE(SUBSTITUTE(A1,"[","*ISTEXT(""["),"]","]"")")),感谢你的回答!

追答

好像不行吧

本回答被提问者采纳
第2个回答  2012-10-16
在B1输入:
="="&LEFT(A1,FIND("*",A1)-1)*RIGHT(A1,LEN(A1)-FIND("*",A1))

前面的数字随便换都会自动出现“=结果”

比如你A1里是 15*2 则B1则是=30追问

直接是 错误值

追答

如果前面只有数字与*号,我是试过后才在这上面输的。你再好好试试看。或者你比照着再写一遍。

当然如果你A1里如果有文字就不行了。如果带有文字的话用下面的:
="答案="&MID(A1,4,FIND("*",A1)-4)*RIGHT(A1,LEN(A1)-FIND("*",A1)-3)

如果A1里是 [长]3*[高]2 B1里就是 答案=6
如果A1里是 [长]30*[高]20 B1里就是 答案=600

应该是你想要的吧。

追问

谢谢你的回答 答案我找到了 应该是这样写 =Evaluate(SUBSTITUTE(SUBSTITUTE(A1,"[","*ISTEXT(""["),"]","]"")"))
你那公式有局限性 我实际要的不止是 这几个字