I have this as a few cells in excel 2010:

(source: gyazo.com)
There are a few things I am trying to accomplish, though they’re really all variations of the same thing.
In both Price Paid and Price Returned, I have values that can either be formatted as “# (type)” or as an expression of the form “# (type)+# (type2) …”. What I’m trying to do is reduce the expressions from their current state into just numerical values. I’ve figured out how to do it if it is just the first case (“# (type)”), however I’m having issues with doing the second case, since the parse stops after the first instance of ” “. Below I have the code that I’m using in both Numerical Paid and Numerical Returned. The ISNUMBER category is there just to show which things register as numbers and which don’t.
Numerical Paid and Numerical Returned Code:
=INT(IF(ISNUMBER(D2),D2,LEFT(D2,FIND(" ",D2,1)-1)))
I did some more google searching and found that someone had already written a VBA function to do this. Lovely.
I’ve linked the source below.
http://www.vbusers.com/code/codeget.asp?ThreadID=624&PostID=1
All I had to do was replace the “.,” with “+-/*”, so that it’ll handle all operations. Simple, elegant, and useful. Afterwards, I used the solution posted here (as an answer to another one of my questions):
How to make a cell equal to the value of an expression in another cell (Excel 2010)?
to evaluate the resulting string.
Thanks everyone.