
Cómo hacer una fórmula que si alguien llena la celda calcule el tiempo ahora. Por ejemplo, si el empleado viene y necesita cubrir la ausencia, la fórmula pondrá la hora que ingresó, por ejemplo, 14:30.
Ya he usado la fórmula =now(), pero no funciona, se actualiza cada vez que ponemos la ausencia.
Respuesta1
Tienes dos opciones para lograrlo:
usando cálculos iterativos:
- ir al archivo - opciones - fórmulas
- marque "habilitar cálculos iterativos"
- establecer "iteraciones máximas" en
1
- ahora puede usar esta fórmula:
=IF(A1="","",IF(B1="",NOW(),B1))
Esto insertará la fecha y hora actuales en B1 una vez que se ingrese algo en A1, y no lo actualizará más tarde.
- ir al archivo - opciones - fórmulas
usando macros
- presione Alt+F11 para abrir el editor VBA
- haga doble clic en el nombre de la hoja de trabajo donde desea los datos, esto abrirá el módulo de código de esa hoja
- Introduce este código:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1) = Evaluate("now()")
End If
End Sub
Este código ingresará now() en la fila correspondiente de la columna B cada vez que se complete una celda en la columna A.