Puedes usar una formula como la siguiente:
=IF(C5="X",NOW(),"")
La formula la pegarías en C6.
Ten en cuenta que debes dar click derecho en la celda C6 y formatear la celda para que tenga el formato de HORA.
No es posible hacer esto con el color usando una formula, Excel no permite condicionar una celda basada en su color.
Pero lo puedes lograr con VBA, aunque también tiene su limitación hasta donde yo sé, tal vez alguien conoce otra forma. El problema es que en VBA no hay una función dedicada a capturar el cambio de color de una celda, y el evento Change solo captura los datos entrados, no el color interior.
Para ello, habría que hacer una validación al salir de la celda, y se puede hacer con el siguiente código. (Debes pegarlo en el modulo de la hoja):
Option Explicit
Public OldCell As String
Public NewCell As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If NewCell = "" Then NewCell = ActiveCell.Address
OldCell = NewCell
NewCell = ActiveCell.Address
If Range(OldCell).Address = "$C$5" Then
If Range(OldCell).Interior.ColorIndex = 3 Then
Range("C6").Value = Format(Now(), "hh:mm:ss AM/PM")
Else
Range("C6").Value = ""
End If
End If
End Sub
El codigo chequea la celda C5 al salir de ella, y mira si el color es rojo. La posicion del color rojo en Excel es 3
Range(OldCell).Interior.ColorIndex = 3
Puedes leer mas cobre la paleta de colores de excel aqui: Paleta de colores de Excel
Sustituyendo el 3, o incluso el tipo de código, puedes usar el color que quieras.
Andy M.