If I entered a time in a cell and then changed the format of the cell to a text, Excel wont show it as a text until in double click and then exit from the cell, then I will see the green triangle.

First, I suggest that you ignore the green triangle. I'll explain why below.

Second, simply changing the format of a cell does not change the __type__ of the value of the cell. If it was numeric, it stays numeric. If it was text, it stays text. Changing the format only changes the appearance of a vaule.

However, if we "re-enter" the content of the cell (constant or formula), the current format will apply. If the cell format is Text, numeric values become text. If the cell has a numeric format (General, Number, etc), text values become numeric if Excel can interpret them as such. And that might depend on regional and language settings.

Apparently, your Excel recognizes double-click as a way to "re-enter" the cell contents. That does not work with my Excel configuration. It probably depends on how one or more Excel Options are set. For my Excel configuration, I must click on the cell (select it), press function key f2, then press Enter (or ctrl+shift+Enter for array-entered formulas).

-----

With text data that Excel can interpret as numbers, =SUM(--B17,--B18) should have produced the correct sum. To see it, be sure to format the cell properly. Cells with time calculations should always be formatted as [h]:mm or [m]:ss or something similar. The "[h]" displays hours > 23. The "[m]" displays minutes > 59. The most precise time format is [h]:mm:ss.000 , which displays seconds to the millisecond.

In general, any text that Excel can interpret as a number can be used directly in arithmetic expressions without conversion. However, sometimes VALUE() can interpret unusual numeric text that Excel arithmetic cannot, because VALUE() is more tolerant of errant spaces.

However, numeric text is __not__ interpreted as a number in comparisons. Suppose A1 has ="12:34", which is 12h 34m in text form. A1=TIME(12,34,0) returns FALSE because A1 is text and TIME is numeric. But A1+0=TIME(12,34,0) returns TRUE because A1+0 is numeric.

-----

About those green triangles....

Excel mistakenly calls them "error checks". They are __not__ errors. They are merely warnings. Excel is trying to be helpful: telling you when __Excel__ thinks something is inconsistent.

But 99 times out of 100, there is nothing wrong. For example, if you have numbers in A1:A10 and you enter =SUM(A1:A5) in B1, Excel puts a green triangle in B1 with the warning "formula omits adjacent cells". Well, yes. But we did it on purpose.

I find the "error checking" annoying. So I disable it.

In Excel 2010, click File > Options > Formulas and uncheckmark "Enable background error checking". Also click "Reset ignored errors" to clear all existing green triangle.

Sleep better at night! (smile)