Convert variable #'s in a gen. format to a # that can be used w/ma

S

Steve

I have this data that is pasted to my worksheet:

Period: 01/23/2010 to 01/29/2010 - Days: 6
It is in general format. The day numbers will always be in the last, last 2
, or last 3 positions.
Depending on the period, the days may be any # up to the 365.
I need to use that day #, be it 6, or 25, or 147, whatever, as a divisor of
another number. E.g. if 6, then 1234 / 6 = 206
if 25, then 5678 / 25 = 227, etc/
The variable #'s will be in the same cell, so I basically want: E29/6 or
E29/25, or E29/147, etc.
Basically, those general formatted #'s converted to a usable/divisable #.

Thanks,

Steve
 
G

Glenn

Steve said:
I have this data that is pasted to my worksheet:

Period: 01/23/2010 to 01/29/2010 - Days: 6
It is in general format. The day numbers will always be in the last, last 2
, or last 3 positions.
Depending on the period, the days may be any # up to the 365.
I need to use that day #, be it 6, or 25, or 147, whatever, as a divisor of
another number. E.g. if 6, then 1234 / 6 = 206
if 25, then 5678 / 25 = 227, etc/
The variable #'s will be in the same cell, so I basically want: E29/6 or
E29/25, or E29/147, etc.
Basically, those general formatted #'s converted to a usable/divisable #.

Thanks,

Steve


One way:

=--TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",10)),10))
 
T

T. Valko

One way...

Assuming the word "Days:" is *always* present.

=--MID(A1,SEARCH("Days:",A1)+5,5)
 
S

Steve

I do believe the "Days" will always be present, and your formula works to
produce either the single #, tens, or hundreds, but when I use that result as
a divisor, it still produces a #value!
E.g. Formula result is 6(in J3).... e19/j3 = #value!
 
T

T. Valko

E.g. Formula result is 6(in J3).... e19/j3 = #value!

What's in E19?

When a formula like that resturns a #VALUE! error it usually means one (or
possibly both) cells referenced contain TEXT. Since we know that J3 contains
numeric 6 then the problem has to be with cell E19.
 
G

Glenn

Yes, A1 should have "Period: 01/23/2010 to 01/29/2010 - Days: 6". You
probably have trailing spaces in your data, which could cause the #Value! error.
Try this instead:

B1 =--RIGHT(SUBSTITUTE(TRIM(A1)," ",REPT(" ",3)),3)
 
S

Steve

This produced :6
I changed the 3's to 2's and got the 6, but I don't think my fix will
account for 2 or 3 digit numbers, will it ? Same as other, taking a number in
cell E19, and dividing by the resulting 6, still produces a #value!
 
S

Steve

E19 has a number in it. Formatted as a number.
Also, in playing around, I may have changed the formatting of J3. It is
currently formatted as a number.

Thanks,

Steve
 
G

Glenn

What EXACTLY is in A1 (or whatever cell it is that you are looking at)?

Maybe try this, which assumes you are just subtracting the first date from the
second date to get "Days":

=MID(A1,FIND(" to ",A1)+4,11)-MID(A1,FIND(" to ",A1)-10,11)

As for your other problem, put this in a blank cell and tell us what the result is:

=ISNUMBER(E19)
 
G

Glenn

Glenn said:
Maybe try this, which assumes you are just subtracting the first date
from the second date to get "Days":

=MID(A1,FIND(" to ",A1)+4,11)-MID(A1,FIND(" to ",A1)-10,11)

Actually, both 11's should be 10's.
 
S

Steve

This in the cell
Analysis Period: 01/23/2010 to 01/29/2010 - Processing Days: 6
the subtraction would work, as that's really all I need, the days, but this
=MID(A3,FIND(" to ",A3)+4,10)-MID(A3,FIND(" to ",A3)-10,10)
still produced a #value!
Also =isnumber(e19) produced a TRUE


Thanks for your patience.
 
T

T. Valko

If this string is in cell A1:

Period: 01/23/2010 to 01/29/2010 - Days: 6

What result do you get from this formula:

=CODE(RIGHT(A1))

That formula should return 54. That's the character code value for the
number 6. If you get a result other than 54 then that means there is some
unseen whitespace character(s) at the end of the string in cell A1.
 
G

Glenn

When I copy your text directly from this post to cell A3 in a blank worksheet
and then copy my formula to any other cell, I get the number result 6. Can you
reproduce that result?
 
G

Glenn

Are you copying the text from your worksheet to the post, or re-typing it?

Try this:

=MID(TRIM(A3),FIND(" to ",TRIM(A3))+4,10)-
MID(TRIM(A3),FIND(" to ",TRIM(A3))-10,10)
 
S

Steve

I am getting the 54.

Actually this is the actual wording in the cell. I inadvertently left out
the word Analyis originally.
Analysis Period: 01/23/2010 to 01/29/2010 - Processing Days: 6
 
S

Steve

Whoa !! This was sooo weird, but I think I solved the mystery thanks to you
guiding me with your questions, though I still need the formula adjusted.
Both your MidTrimFind and the MidFind worked when I copied the data. And by
pasting that into the original cell, it worked. But both were identical, or
so I thought.
They were in different fonts, so when I put the original below what I typed
and then made them both in the same font, I discovered that the original had
extra spaces around the dashes, and before the number.

See below:
Analysis Period: 10/31/2009 to 01/29/2010 - Processing Days:73 typed
Analysis Period: 10/31/2009 to 01/29/2010 - Processing Days: 73
original

Anyway, if you could adjust your formula to account for these extra spaces,
I would be very grateful.

And again, Thanks for all your patience. It is much appreciated.

Steve
 
G

Glenn

OK, now I'm confused. There are 90 days between 10/31/2009 and 1/29/2010, but
the answer you want is 73? Let's go back to grabbing the last number in the cell:

=--TRIM(RIGHT(SUBSTITUTE(TRIM(A1),":",REPT(" ",10)),10))

That should account for any extra spaces, anywhere within the text or after the
number at the end.
 
S

Steve

Mee too.
I don't know how they got their days, but you're right, I should go with
their ending #'s.
This formula only worked if I removed the begining dashes after the = .
=TRIM(RIGHT etc., but it did work that way.

The number came up, but by dividing the other number into it, it came up as
#value!

The # I'm using isnumber TRUE
The formula cell isnnumber FALSE
Even formatting that cell as a number from general, it's still FALSE
 
G

Glenn

The "beginning dashes" were intentional, they force Excel to evaluate the result
of the text manipulation (trim, right, substitute) as a number. What do you get
with them in the formula?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top