Fórmula de Excel usando una fórmula para la transformación de fecha con o iserror

Fórmula de Excel usando una fórmula para la transformación de fecha con o iserror

Antecedentes: Los datos provienen de una base de datos con fechas en formato europeo (DD/MM/AAAA). La columna "Creado" (Columna A) también tiene una marca de tiempo en formato de 24 horas. Al lado está la columna "Identificado" (columna B), con solo una fecha, que puede no ser la misma que la fecha de "creación".

Mi salida debe ser una nueva columna "Creada" con solo la fecha (sin marca de tiempo) en el formato de EE. UU., lo cual sé cómo hacer. Utilizo IZQUIERDA para capturar solo la fecha europea en una nueva columna. (columna C) Luego, en otra columna nueva uso =Fecha(valor(derecha(A2,4)),valor(mid(A2,4,2)),valor(izquierda(a2,2))) para reorganizar la fecha al formato estadounidense (MM/DD/AAAA). (Columna D)

Todo bien con lo anterior. Aquí es donde la cosa se vuelve complicada: necesito hacer la misma conversación de fecha con los datos "Identificados" en su propia columna (Columna E). No todas las filas de datos tienen una fecha "Identificada".

En los casos en los que no hay una fecha "Identificada", me gustaría que mi fórmula de Fecha reconozca el error (que aparece como #VALOR) y copie la fecha "Creada" convertida.

Intenté jugar con declaraciones IF, OR e IsError, pero parece que no puedo encontrar una que sea válida.

Cualquier sugerencia será muy apreciada. También intenté crear otra columna (F) usando =If(iserror) para leer mi columna "Identificada" convertida, y si era un error, para obtener la fecha "Creada" convertida, y si no es un error, para obtener la Convirtí la fecha "Identificada", sin embargo, eso me da una celda vacía.

He perforado una hoja de Excel de ejemplo simple, pero no veo la opción de dónde cargar/adjuntar el archivo de Excel.

Imagen de muestrario con fórmulas comentadas.

Respuesta1

Fórmula para celular E2...

A la antigua usanza, usando IF

=IF(ISBLANK(B2),D2,DATE(VALUE(RIGHT(B2,4)),VALUE(MID(B2,4,2)),VALUE(LEFT(B2,2))))

Manera moderna, usando IFERROR.

=IFERROR(DATE(VALUE(RIGHT(B2,4)),VALUE(MID(B2,4,2)),VALUE(LEFT(B2,2))),D2)

Si B2está vacío, entonces la DATEfunción que tenía E2produce un error.

La forma antigua utiliza una IFfunción para probar si la celda B2está vacía y, si lo está, simplemente entrega como resultado lo que esté en la celda D2. Si la prueba falla, la IFfunción simplemente calcula el resultado requerido usando la DATEfunción.

La manera moderna no se preocupa por las causas del DATEerror, sólo si hay un error o no. Si no hay ningún error, la función SI.ERROR usa el primer argumento (la DATEfunción) y si hay un error usa el segundo argumento ( D2como resultado).

Es preferible la forma moderna. Otros errores, como B2contener texto aleatorio, causarán problemas con la DATEfunción en E2. La IFversión no solucionará dichos errores correctamente, mientras que IFERRORsí lo hará.

información relacionada