First part of "IF" function returns false even if true. ??

G

Guest

=IF((O12=12/31/2005),(IF(ISERROR(SUM(((F32)/(DAYS360(DATE(2004,12,31),X1,FALSE)))*(360))*(F13)),"",(SUM(((F32)/(DAYS360(DATE(2004,12,31),X1,FALSE)))*(360))*(F13)))),F12)

The first part of the formula, (O12=12/31/2005), returns false even if it's
true. The rest of the formula works great.

Any suggestions?
 
J

JE McGimpsey

Unless O12 = 0.0001930657227898, the comparison will always be false.

12 divided by 31 divided by 2005 = 0.000193...

You could force XL to parse as a date by enclosing "12/31/2005" in
quotes, or you could use the DATE function:

IF(O12=DATE(2005,12,31),....
 
G

Guest

Works great! Thanks! One more question,please. When I copy the formula to
other cells the cell references that refer to dates are not correct. How can
I fix it? I am pulling the dates from a list on the same sheet. Thanks again.

Here is the final working formula:
=IF((O12=DATE(2005,12,31)),(IF(ISERROR(SUM((F32)/(DAYS360(N12,$X1,FALSE)))*(365))*(F13),"",(SUM(((F32)/(DAYS360(N12,$X1,FALSE)))*(365))*(F13)))),F12)
 
R

RFJ

You're trying to compare a cell which is formatted as a date with a multiple
division (12 divided by 31 divided by 2005) so it will never work

A quick workaround is to put your date in another cell, say z99 and then
change your formula to

If((O12=Z99,true,false)
 
G

Guest

Thanks, but my formula does work now. I am just trying to find an eaisier way
to copy it now.
Here is what I have done to try to help it copy better:

=IF((Fin3_enddate=DATE(2005,12,31)),(IF(ISERROR(SUM((F32)/(DAYS360(Fin3_startdate,$X1,FALSE)))*(365))*(F13),"",(SUM(((F32)/(DAYS360(Fin3_startdate,$X1,FALSE)))*(365))*(F13)))),F12)
 

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