rlm said:

Converting 5:08:00 using =(HOUR(D2) *60)+MINUTE(D2)

works perfect. That turns out 308 minutes.

However, converting 119:38:00 the same way doesn't work.

Claus Busch said:

Am Thu, 21 Jul 2011 05:32:48 -0700 (PDT) schrieb rlm:

=D2*1440

and format General

Although that does work by coincidence for D2 equal to 5:08:00 and

119:38:00, I would suggest the following instead:

=ROUND(D2*1440,0)

Try putting Claus's formula into D3, and put =D3-ROUND(D3,0)=0 into D4.

Then put 1:03:00 into D2. You will see that D4 is FALSE (!).

The point is: Excel time is stored as decimal fraction of a day. As with

all non-integers, the representation is usually not exact. See #2 below.

Some other details....

1. Note that I write =D3-ROUND(D3,0)=0 instead =D3=ROUND(D3,0).

The latter returns TRUE, but it is only an illusion due to the dubious

heuristic poorly described under the misleading title "Example When a Value

Reaches Zero" at

http://support.microsoft.com/kb/78113. In other words,

Excel forces the latter difference to zero artificially. We cannot always

count on that.

2. I write ROUND(D3,0) instead of INT(D3).

This is because the floating-point representation of D3 when D2 is

1:03:00 is actually less than 63, namely

62.9999999999999,9289457264239899814128875732421875. As it happens, Excel

INT(D3) does return 63 for that representation. But I argue that it is a

defect. Note that VBA Int(Range("d3")) returns 62, as I would expect.