
Tengo una hoja de cálculo con una columna denominada "Fecha de estado" en una fila con varias otras celdas, algunas con otras fechas, otras solo con texto y otras que evalúan si un conjunto de condiciones son verdaderas, en cuyo caso el resultado es una respuesta "Sí" o "No", que luego se formatea condicionalmente para llenar esa celda según la respuesta.
Lo que me gustaría poder hacer con el valor de la celda "Fecha de estado" es completarlo y "bloquearlo" con la fecha de hoy si alguna de las otras celdas en esa fila cambia, ya sea debido a una edición o adición/eliminación de información. , incluidos los que contienen las fórmulas basadas en los valores de las otras celdas. Debería permanecer estático hasta que se cambie algo más en esa misma fila más adelante. Ninguno de los otros valores de celda se evalúa en la columna "Fecha de estado", por lo que si es necesario moverlo a la columna A o B para que funcione una fórmula, o tal vez para usar una macro VBA, eso no debería ser un problema.
Respuesta1
Método VBA
Este tipo de marca de tiempo automática solo es posible escribiendo algo de VBA muy básico en segundo plano de Excel. Mire, por ejemplo, este enlace para comenzar:
https://docs.microsoft.com/en-us/office/troubleshoot/excel/run-macro-cells-change
Lamentablemente, las macros de VBA no siempre son una opción, especialmente si el archivo se va a compartir. Algunas configuraciones de seguridad empresarial bloquean las macros por completo, sin mencionar el desafío de codificar VBA si no está familiarizado con la programación básica.
Método de marca de tiempo de validación de datos
Afortunadamente, existen dos soluciones para la marca de tiempo en Excel sin VBA. Una es utilizar la validación de datos del tipo de lista para "muestrear" la hora actual. Establezca una celda de referencia o un rango con nombre igual a =HOY() o =AHORA() que se actualizará automáticamente cada vez que edite cualquier celda (es decir, vuelva a calcular), ya que AHORA/HOY es una función volátil. Configure la validación de datos (en la cinta de datos) para la celda de entrada de fecha, elija la lista y consulte la celda HOY/AHORA. Esto proporciona una lista desplegable con la hora que refleja el cálculo más reciente. Una vez seleccionado en el menú desplegable, copia el valor de tiempo y lo "bloqueará", PERO aún debe seleccionarlo usted mismo.
Método de fórmula circular
El otro método requiere cambiar la configuración de Excel para permitir fórmulas circulares/cálculos iterativos, lo cual no es ideal porque es una configuración global. Pero funciona muy bien y exactamente como esperarías en tu pregunta. Mira aquí:
https://howtoexcelatexcel.com/blog/create-a-timestamp-in-excel-with-formulas/
Pros y contras
El método VBA funciona de manera muy confiable y es más adecuado para un solo usuario o en casos en los que los usuarios están familiarizados con permitir macros según la configuración de seguridad. Se requieren algunas habilidades básicas de codificación. Además, una vez que se ejecuta una macro, el historial de deshacer generalmente se pierde.
El método de validación de datos es muy sencillo de implementar y funciona de inmediato, sin configuraciones especiales ni permisos de seguridad. Sin embargo, se requiere que el usuario sea coherente al utilizar la celda desplegable para marcar la hora (después de realizar otros cambios en la fila).
El método de fórmula circular refleja la marca de tiempo automáticamente a medida que ingresa datos en otras celdas, pero debe habilitar una configuración global de Excel para la iteración con algún comportamiento poco intuitivo. Si bien la configuración se guarda con el libro de trabajo, si abre cualquier otro libro de trabajo antes de este, la configuración se restablece sin iteración. Abrir este libro no lo vuelve a cambiar. Primero debe abrir este libro de trabajo. Además, abrir y guardar otros libros de trabajo también guarda la configuración global con esos archivos, lo que puede convertirse en un problema (menor). Principalmente deshabilita el informe de errores al ingresar una fórmula circular en los libros de trabajo normales.
PD. Método de tecla de acceso directo
A veces, el método más simple no es el más ideal desde el punto de vista del informático, pero funciona para el usuario final. Puede presionar uno de estos atajos para simplemente insertar la hora o fecha actual en la celda actual como un valor:
CTRL and ; (to insert the current date)
CTRL SHIFT and : (to insert the current time)