例如在A1中输入[长]3*[高]2,然后在B1中生成答案=6 请问高手如何能做到,只是计算式没有文字的我会做,如上要文字+计算式的我就不会了
注意我的Excel2007,具体步骤要按2007版的,不然我不知道在那找。
可怜的孩子。
看下面图片吧。在C2单元格输入=A2*B2就好了。
感觉自己回到解放前了。
追问拜托你把问题看清楚再说!
首先我是要在A1中输入“ [长]3*[高]2 ”引号内的全部文字加数字(不含引号),其实实际用的会长的多,只能在A1一个单元格中输入 不是A1输2 B1输3,B1是我直接需要显示答案的地方
这个方法只能输入计算式,如果加上文字就会错误,请注意我是要文字+计算式的那种
我这里有个表就有那个功能,而且好像是没有用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(""["),"]","]"")")),感谢你的回答!
好像不行吧
本回答被提问者采纳直接是 错误值
追答如果前面只有数字与*号,我是试过后才在这上面输的。你再好好试试看。或者你比照着再写一遍。
当然如果你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(""["),"]","]"")"))
你那公式有局限性 我实际要的不止是 这几个字