No se puede hacer que Excel reconozca la fecha en la columna

45

Constantemente tengo problemas para trabajar con fechas en Excel, debo estar haciendo algo mal pero no entiendo qué.

Tengo una hoja de cálculo, exportada desde nuestro servidor de intercambio, que contiene una columna con fechas. Han salido en formato estadounidense a pesar de que estoy en el Reino Unido.

La columna en cuestión se ve así

04/08/2012
04/09/2009
04/01/2010
04/21/2011
04/05/2012
08/30/2009
08/29/2010
08/28/2011

En Excel, he resaltado la columna y seleccionado Format Cells.... En este cuadro de diálogo, seleccioné Date, seleccioné English (United States)como la configuración regional y elegí el formato de fecha correspondiente de la lista. Aprieto OK e intento ordenar los datos por esta columna.

En el cuadro de diálogo Ordenar, elijo esta columna, seleccione Ordenar en valores, pero el orden solo me da opciones para la A a la Z, no desde la más antigua hasta la más nueva, como era de esperar.

Esto a su vez ordena los datos de fecha por los primeros dos dígitos.

Soy consciente de que podría volver a formatear estos datos a ISO y luego la clasificación de la A a la Z funcionaría, pero no debería haberlo hecho, obviamente me falta algo. ¿Qué es?

EDITAR: Arruiné la recompensa, pero esto debería haber ido a la respuesta de @r0berts , su primera sugerencia de Texto a columnas sin delimitador y eligiendo 'MDY' como el tipo de datos que funciona. Además, si tiene un tiempo (es decir 04/21/2015 18:34:22), primero debe deshacerse de los datos de tiempo. Sin embargo, después de eso, el método sugerido por @ r0berts funciona bien.

Patricio
fuente
Sospecho que el problema es que Excel no sabe cómo hacer esto, puede probarlo. Cuando intente actualizar el formato de fechas, seleccione la columna y haga clic con el botón derecho sobre ella y elija el formato de las celdas (como ya lo hizo), pero elija la opción 2001-03-14 (casi al final de la lista). Sospecharé que solo algunos de los formatos de fecha se actualizan correctamente, lo que indica que Excel todavía lo trata como una cadena, no como una fecha.
Dave
¿Cuál es el formato de los datos exportados? ¿Es CSV o XLSX?
Excellll

Respuestas:

70

El problema: Excel no quiere reconocer las fechas como fechas, a pesar de que a través de "Formato de celdas - Número - Personalizado" está tratando explícitamente de decir que son fechas por " mm/dd/yyyy". Como sabes; cuando Excel ha reconocido algo como una fecha, lo almacena además como un número, como " 41004" pero se muestra como fecha según el formato que especifique. Para agregar a la confusión, Excel puede convertir solo una parte de sus fechas, como 08/04/2009, pero dejar otras, por ejemplo, 28/07/2009 sin convertir.

Solución: pasos 1 y luego 2

1) Seleccione la columna de fecha. En Datos, seleccione el botón Texto a columnas. En la primera pantalla, deje el botón de opción " delimitado " y haga clic en Siguiente . Desmarque cualquiera de los cuadros delimitadores (cualquier cuadro en blanco ; sin marcas de verificación) y haga clic en Siguiente . En el formato de datos de columna, elija Fecha y seleccione MDY en el cuadro combinado adyacente y haga clic en Finalizar . Ahora tiene valores de fecha (es decir, Excel ha reconocido sus valores como Datetipo de datos), pero es probable que el formato siga siendo la fecha local, no la mm/dd/yyyyque desea.

2) Para que el formato de fecha de EE. UU. Deseado se muestre correctamente, primero debe seleccionar la columna (si no está seleccionada) y luego en Formato de celda - Número, elija Fecha Y seleccione Configuración regional: Inglés (EE . UU . ) . Esto le dará formato como " m/d/yy". Luego puede seleccionar Personalizado y allí puede escribir " mm/dd/yyyy" o elegir esto de la lista de cadenas personalizadas.

Alternativa : use LibreOffice Calc. Al pegar los datos de la publicación de Patrick, elija Pegado especial ( Ctrl+Shift+V) y elija Texto sin formato. Esto abrirá el cuadro de diálogo "Importar texto". El conjunto de caracteres sigue siendo Unicode, pero para el idioma elija inglés (EE. UU.) También debe marcar la casilla "Detectar números especiales". Sus fechas aparecen inmediatamente en el formato predeterminado de EE. UU. Y se pueden ordenar por fecha. Si desea el formato especial de EE. UU. MM / DD / AAAA, debe especificar esto una vez a través de "formatear celdas", ya sea antes o después de pegar.

Se podría decir: Excel debería haber reconocido las fechas tan pronto como lo dije a través de "Formato de celda" y no podría estar más de acuerdo . Desafortunadamente, es solo a través del paso 1 desde arriba que he podido hacer que Excel reconozca estas cadenas de texto como fechas. Obviamente, si haces esto mucho, es un dolor en el cuello y podrías armar una rutina visual básica que lo haría por ti con solo presionar un botón.

Datos | Texto a columnas

Actualización sobre el apóstrofe principal después de pegar: Puede ver en la barra de fórmulas que en la celda donde no se reconoce la fecha hay un apóstrofe principal. Eso significa que en la celda formateada como un número (o fecha) hay una cadena de texto. Se podría decir: el apóstrofe principal evita que la hoja de cálculo reconozca el número. Debe saber buscar en la barra de fórmulas para esto, porque la hoja de cálculo simplemente muestra lo que parece un número alineado a la izquierda. Para resolver este problema, seleccione la columna que desea corregir, elija en el menúData | Text to Columnsy haga clic en Aceptar A veces podrá especificar el tipo de datos, pero si previamente ha configurado el formato de la columna para que sea su tipo de datos particular, no lo necesitará. El comando realmente está destinado a dividir una columna de texto en dos o más usando un delimitador, pero también funciona de maravilla para este problema. Lo he probado en Libreoffice , pero también hay el mismo elemento de menú en Excel .

r0berts
fuente
Abordo ambos puntos en mi OP. Por supuesto, es posible dividir los valores de fecha en columnas (y luego volver a integrarlos en formato ISO), pero dado que Excel tiene amplias funciones de fecha incorporadas, me gustaría poder aprovecharlas con los datos de fecha válidos que tengo. Su segunda opción es exactamente como describo lo que no funciona para mí.
Patrick
Estimado Patrick, por favor, lea atentamente. O puede usar Libre Office Calc - con sus datos esto funciona de inmediato - simplemente formatea previamente la columna para Fecha - Inglés (EE. UU.) Y al pegar "Pegar texto especial" "Texto sin formato" - solo dígale al cuadro de diálogo que el idioma es Inglés (EE. UU.) Y no olvide marcar la casilla para reconocer números especiales. En mi respuesta, traté de insinuar lo más que pude que Excel es inconsistente con esto (buggy) y tienes que recurrir a estos pasos 1 y luego 2 para lograr el resultado que deseas.
r0berts
Debería haber leído tu pregunta correctamente. Su primera sugerencia sí funciona. Deberías haber tenido la recompensa. Gracias por su ayuda.
Patrick
Sugerencia 1 funciona como un encanto. Gracias.
Adam
Muy buena respuesta!
Adders
8

Seleccione toda la columna y vaya a Localizar y reemplazar y simplemente reemplace "/"con /.

Jair Bressani
fuente
¿Puedes explicar qué hace esto para solucionar el problema?
Fixer1234
Esto realmente funcionó y fue fácil. Lo de reemplazo simplemente elimina los ceros
iniciales
2
Primero, esto funciona. Mejor solución. MUCHO mejor que la solución marcada :). Para Fixer1234 y @PedroGabriel: No es que elimine los ceros. En el acto de reemplazar el contenido de la celda, Excel evalúa si la celda resultante contiene una fórmula, texto o un número. Después de hacer el reemplazo "/", interpreta que la celda ahora contiene un número (que técnicamente es una fecha para Excel), por lo que ahora se puede ordenar correctamente. (Los usuarios inteligentes pueden reconocer la técnica de buscar / reemplazar con un carácter "=" en un escenario similar con Excel reinterpretando los contenidos). De todos modos, Jair tiene la solución ideal :)
MicrosoftShouldBeKickedInNuts
@MicrosoftShouldBeKickedInNuts hoy no tengo idea de por qué dije eso acerca de los ceros, realmente no tenía nada que ver con los ceros ... Esta es la mejor respuesta, todavía estoy usando esta. Saludos
PedroGabriel
3

Tuve exactamente el mismo problema con las fechas en Excel. El formato coincidía con los requisitos para una fecha en Excel, sin embargo, sin editar cada celda, no reconocería la fecha, y cuando se trata de miles de filas, no es práctico editar manualmente cada celda. La solución es ejecutar una búsqueda y reemplazo en la fila de fechas donde reemplacé el guión con un guión. Excel se ejecuta a través de la columna reemplazando like por like, pero el factor resultante es que ahora reconoce las fechas. ¡FIJO!

Warren Rocchi
fuente
3

Estaba lidiando con un problema similar con miles de filas extraídas de una base de datos SAP y, inexplicablemente, dos formatos de fecha diferentes en la misma columna de fecha (la mayoría es nuestro estándar "AAAA-MM-DD" pero aproximadamente el 10% es "MM- DD-AAA "). Editar manualmente 650 filas una vez al mes no era una opción.

Ninguna (cero ... 0 ... nula) de las opciones anteriores funcionó. Sí, los probé todos. Copiar a un archivo de texto o exportar explícitamente a txt todavía, de alguna manera, no tuvo ningún efecto en el formato (o falta de él) de las fechas del 10% que simplemente se quedaron en su esquina negándose a comportarse.

La única forma en que pude solucionarlo fue insertar una columna en blanco a la derecha de la columna de fecha de mal comportamiento y usar la siguiente fórmula bastante simplista:

(suponiendo que sus datos de mal comportamiento están en Column D)

=IF(MID(D2,3,1)="-",DATEVALUE(TEXT(CONCATENATE(RIGHT(D2,4),"-",LEFT(D2,5)),"YYYY-MM-DD")),DATEVALUE(TEXT(D2,"YYYY-MM-DD")))

Luego podría copiar los resultados en mi nueva columna calculada sobre las fechas de mal comportamiento pegando "Valores" solo después de lo cual podría eliminar mi columna calculada.

Lucster
fuente
3

Esto puede no ser relevante para el interrogador original, pero puede ayudar a alguien más que no puede ordenar una columna de fechas.

Descubrí que Excel no reconocería una columna de fechas que eran todas anteriores a 1900, insistiendo en que eran una columna de texto (ya que 1/1/1900 tiene el equivalente numérico 1, y aparentemente no se permiten números negativos). Así que hice un reemplazo general de todas mis fechas (que fueron en el siglo XIX) para ponerlas en el siglo XX, por ejemplo, 180 -> 190, 181 -> 191, etc. El proceso de clasificación funcionó bien. Finalmente hice un reemplazo a la inversa, por ejemplo 190 -> 180.

Espero que esto ayude a algún otro historiador por ahí.

Laurie Allen
fuente
2

Parece que Excel no reconoce sus fechas como fechas, las reconoce como texto, por lo tanto, obtiene las opciones Ordenar de la A a la Z. Si lo hace correctamente, debería obtener algo como esto:

http://i.stack.imgur.com/Qb4Pj.png

Por lo tanto, es importante asegurarse de que Excel reconozca la fecha. La forma más sencilla de hacerlo es utilizar el acceso directo CTRL+SHIFT+3.

Esto es lo que le hice a tus datos. Simplemente lo copié de tu publicación anterior y lo pegué en Excel. Luego apliqué el acceso directo anterior y obtuve la opción de clasificación requerida. Mira la imagen.

http://i.stack.imgur.com/yAa6a.png

Motosierra
fuente
2
Lamentablemente, ese atajo no funciona para mí.
Patrick
¿Qué hace el acceso directo en su sistema Patrick?
Firee
3
El atajo no parece hacer nada en absoluto. Tengo varios sistemas a mi disposición que ejecutan Office 2007, 2010 y 2013 y ninguno de ellos reacciona al atajo CTRL SHIFT 3. CTRL 1 muestra correctamente el cuadro de diálogo 'formatear celda'.
Patrick
El método abreviado de teclado Ctrl + Shift + 3, al que se hace referencia de forma un tanto descuidada como "Ctrl + Shift + #" aquí , significa "Aplica el formato de fecha con el día, mes y año" en Excel 2007, 2010, 2013 y 2016. (Específicamente , en mi Excel 2013, es "d-mmm-aa".) El documento de Microsoft no explica que las celdas ya deben contener ... (Cont.)
Scott
(Continuación) ... valores que Excel reconoce como datos de fecha / hora, y parece que aquí nadie ha claramente explicado que, dado que Patrick está en Inglaterra, su versión de Excel está reconociendo como cuerdas 04/08/2012, 04/09/2009y 04/01/2010como 4-Ago-2012 , 4-sep-2009 y 4-ene-2010, respectivamente, y se trata 04/21/2011como una cadena de texto (porque no hay 21 meses). Dado que algunos de los valores son texto (y algunos de los valores, presumiblemente, en realidad se han malinterpretado), el formateo (como por el método abreviado de teclado Ctrl + Shift + 3) no servirá de nada.
Scott
2

Sospecho que el problema es que Excel no puede entender el formato ... Aunque selecciona el formato de Fecha, permanece como Texto.

Puede probar esto fácilmente: cuando intente actualizar el formato de fechas, seleccione la columna y haga clic con el botón derecho en ella y elija el formato de las celdas (como ya lo hace), pero elija la opción 2001-03-14 (casi al final de la lista). Luego revise el formato de sus celdas.

Sospecharé que solo algunos de los formatos de fecha se actualizan correctamente, lo que indica que Excel todavía lo trata como una cadena, no como una fecha (tenga en cuenta los diferentes formatos en la siguiente captura de pantalla).

ingrese la descripción de la imagen aquí

Hay soluciones alternativas para esto, pero ninguna de ellas se automatizará simplemente porque está exportando cada vez. Sugeriría usar VBa, donde simplemente puede ejecutar una macro que convierte el formato de fecha de EE. UU. A Reino Unido, pero esto significaría copiar y pegar el VBa en su hoja cada vez.

Alternativamente, crea un Excel que lee las hojas de Excel exportadas recién creadas (del intercambio) y luego ejecuta el VBa para actualizar el formato de fecha por usted. Asumiré que el archivo Excel de Exchange exportado siempre tendrá el mismo nombre de archivo / directorio y proporcionaré un ejemplo de trabajo:

Entonces, cree una nueva hoja de Excel, llamada ImportedData.xlsm (Excel habilitado). ¡Este es el archivo en el que importaremos el archivo exportado de Exchange Excel!

Agregue este VBa al archivo ImportedData.xlsm

Sub DoTheCopyBit()

Dim dateCol As String
dateCol = "A"        'UPDATE ME TO THE COLUMN OF THE DATE COLUMN

Dim directory As String, fileName As String, sheet As Worksheet, total As Integer

Application.ScreenUpdating = False
Application.DisplayAlerts = False

directory = "C:\Users\Dave\Desktop\"                   'UPDATE ME
fileName = Dir(directory & "ExportedExcel.xlsx")       'UPDATE ME (this is the Exchange exported file location)

Do While fileName <> ""

'MAKE SURE THE EXPORTED FILE IS OPEN
Workbooks.Open (directory & fileName)

Workbooks(fileName).Worksheets("Sheet1").Copy _

Workbooks(fileName).Close

fileName = Dir()

Loop

Application.ScreenUpdating = True
Application.DisplayAlerts = True

Dim row As Integer
row = 1
Dim i As Integer
Do While (Range(dateCol & row).Value <> "")

     Dim splitty() As String
     splitty = Split(Range(dateCol & row).Value, "/")
     Range(dateCol & row).NumberFormat = "@"
     Range(dateCol & row).Value = splitty(2) + "/" + splitty(0) + "/" + splitty(1)
     Range(dateCol & row).NumberFormat = "yyyy-mm-dd"
     row = row + 1
Loop


End Sub

Lo que también hice fue actualizar el formato de fecha a aaaa-mm-dd porque de esta manera, incluso si Excel le da el filtro de clasificación AZ en lugar de los valores más nuevos, ¡todavía funciona!

Estoy seguro de que el código anterior tiene errores, pero obviamente no tengo idea de qué tipo de datos tiene, pero lo probé con una sola columna de fechas (como usted tiene) y ¡funciona bien para mí!

¿Cómo agrego VBA en MS Office?

Dave
fuente
bueno ... voy a dejar esto por un par de días para darle un poco más de exposición, pero parece una respuesta sólida. Sin embargo, esto es absolutamente una locura, no puedo creer que sea necesario. Tal como está, he arreglado los datos en el origen con una pequeña función en powershell para cambiarlo al formato ISO, en cuyo punto no me importa si Excel lo reconoce como una fecha: /
Patrick
1

¡Me lo imaginé!

Hay un espacio al principio y al final de la fecha.

  1. Si usa buscar y reemplazar y presiona la barra espaciadora, NO funcionará.
  2. Debe hacer clic justo antes del número del mes, presionar Mayús y la flecha izquierda para seleccionar y copiar. A veces necesitas usar el mouse para seleccionar el espacio.
  3. Luego pegue esto como el espacio en buscar y reemplazar y todas sus fechas se convertirán en fechas.
  4. Si hay espacio y fecha Seleccione Datos> Ir a Datos> Texto a columnas> Delimitado> Espacio como separador y luego finalice.
  5. Todos los espacios serán eliminados.
JailDoctor
fuente
La razón por la que buscar y reemplazar no funcionará con la barra espaciadora es que la brecha es muy probable que sea una pestaña.
Patrick
0

Si Excel se niega obstinadamente a reconocer su columna como fecha, reemplácela por otra:

  • Agregue una nueva columna a la derecha de la columna anterior
  • Haga clic derecho en la nueva columna y seleccione Format
  • Establecer el formato a date
  • Resalta toda la columna anterior y cópiala
  • Resalte la celda superior de la nueva columna y seleccione Paste Special, y solo peguevalues
  • Ahora puede eliminar la columna anterior.
harrymc
fuente
He intentado esto, se comporta igual con la nueva columna. Vea la respuesta de Dave, la tapa de la pantalla en la parte superior es lo que obtengo, no importa cuántas veces lo mueva entre columnas.
Patrick
Intente forzar el problema utilizando la función DATEVALUE (columna anterior) en la fórmula de la nueva columna, luego use la lista desplegable de Formato de número en la barra de la cinta Inicio para elegir Fecha corta / larga.
harrymc
0

Simplemente copié el número 1 (uno) y lo multipliqué en la columna de fecha (datos) usando la función PEGAR ESPECIAL. Luego cambia a Formateo general, es decir 42102. Luego, aplique Aplicar fecha en el formateo y ahora lo reconoce como una fecha.

Espero que esto ayude

Mpho Sehlako
fuente
0

Todas las soluciones anteriores, incluidas r0berts, no tuvieron éxito, pero encontraron esta solución extraña que resultó ser la solución más rápida.

Estaba tratando de ordenar "fechas" en una hoja de cálculo descargada de transacciones de cuenta.

Esto se había descargado a través del navegador CHROME. Ninguna cantidad de manipulación de las "fechas" haría que se reconocieran como antiguas a nuevas ordenables.

Pero, luego descargué a través del navegador INTERNET EXPLORER, increíble, pude ordenar al instante sin tocar una columna.

No puedo explicar por qué diferentes navegadores afectan el formato de los datos, excepto que claramente lo hizo y fue una solución muy rápida.

Ros
fuente
0

Mi solución en el Reino Unido: tuve mis citas con puntos como estos:

03.01.17

Resolví esto con lo siguiente:

  1. Resalta toda la columna.
  2. Ir a buscar y seleccionar / reemplazar.
  3. Reemplacé todas las paradas completas con guión medio, por ejemplo, 03.01.17 03-01-17.
  4. Mantenga la columna resaltada.
  5. Formato de celdas, pestaña número, fecha de selección
  6. Usa el tipo 14-03-12(esencial para que el mío tenga el guión central)
  7. Locale English (Reino Unido)

Al ordenar la columna, se ordenan todas las fechas del año.

Charlie
fuente
0

Intenté varias sugerencias, pero encontré que la solución más fácil para mí fue la siguiente ...

Consulte las imágenes 1 y 2 para ver el ejemplo ... (nota: algunos campos se ocultaron intencionalmente ya que no contribuyen al ejemplo). Espero que esto ayude...

  1. Campo C: un formato mixto que me volvió completamente loco. Así es como los datos provenían directamente de la base de datos y no tenían espacios adicionales ni caracteres locos. Cuando se muestra como un texto, por ejemplo, el 01/01/2016 se muestra como un valor de tipo '42504', entremezclado con el 15/04/2006 que se muestra como es.

  2. Campo F: donde obtuve la longitud del campo C (la fórmula LEN sería una longitud de 5 de 10 dependiendo del formato de fecha). El campo es Formato general para simplificar.

  3. Campo G: obtención del componente de mes de la fecha mixta: según el resultado de longitud en el campo F (5 o 10), obtengo el mes a partir del valor de la fecha en el campo C u obtengo los caracteres de mes en la cadena.

  4. Campo H: obtención del componente de día de la fecha mixta: en función del resultado de longitud en el campo F (5 o 10), obtengo el día del valor de fecha en el campo C u obtengo los caracteres de día en la cadena.

También puedo hacer esto para el año, luego crear una fecha a partir de los tres componentes que sea consistente. De lo contrario, puedo usar los valores individuales de día, mes y año en mi análisis.

Imagen 1: hoja de cálculo básica que muestra valores y nombres de campo

Imagen 2: hoja de cálculo que muestra las fórmulas que coinciden con la explicación anterior

Espero que esto ayude.

Eran
fuente
(1) Si bien es bueno publicar una imagen de pantalla para demostrar que su respuesta realmente funciona, preferimos que las fórmulas en su solución se publiquen como texto en el cuerpo de su respuesta, para que las personas puedan copiarlas y pegarlas. (2) Parece entender el problema: las fechas numéricas como 04/08son ambiguas. 04/08se interpretará como el 8 de abril en algunos lugares (como los Estados Unidos) y el 4 de agosto en otros (como Inglaterra). Pero estos son ambiguos precisamente porque el número de mes y el día del mes son diferentes. … (Continúa)
Scott
(Continuación) ... Así que ¿para qué usar ONU  fechas ambiguas como 01/01en su respuesta? (3) En realidad, no estoy seguro de que comprenda el problema, o de que su respuesta realmente funcione, ya que su hoja tiene filas donde el mes # es 15; eso parece ser un error obvio. Y, dado que 04/15no es ambiguo, debe significar el 15 de abril, no tiene sentido que su método se analice 01/11como el primer día del undécimo mes. … (Continúa)
Scott
(Continúa) ... (4) Debe señalarse que, en el mejor de los casos, su respuesta solo manejará fechas que se vean como nn / nn / nnnn . Se producirá un error en las fechas como 5/8, 5/08, 5/28, 05/8, y 11/8. También, hecho curioso, su respuesta fallará en las fechas ≤ 17 de mayo de 1927 y ≥ 17 de octubre de 2173. No importa el problema Y10K; ¡podemos comenzar a tener problemas tan pronto como dentro de 154 años! (5) Usted dice: “También puedo hacer esto para el año, luego crear una fecha a partir de los tres componentes que sea consistente”. Entonces, ¿por qué no lo hace y lo muestra ? … (Continúa)
Scott
(Cont.) ... Es especialmente difícil verificar que su método funciona cuando presenta una versión incompleta del mismo; uno que no muestra el mes, el día y el año reensamblados en una fecha. (6) Como le dije a Patsaeed , hubiera sido bueno si hubieras utilizado los datos del OP, a partir de la pregunta, en lugar de inventar los tuyos. Si no se usan los datos del OP, podría haber sido bueno si hubiera usado los de Patsaeed, por lo que al menos podríamos comparar manzanas con manzanas. … (Continúa)
Scott
(Continúa) ... Y, ya sea que use los datos del OP o los de otra persona, hubiera sido bueno si hubiera mostrado la entrada original a su escenario. (Por ejemplo, para la fila 7, ¿es 01/11/2016o  11/01/2016?) Y, si va a usar sus propios datos, hubiera sido bueno si hubiera incluido fechas del mismo mes que demuestren (por ejemplo) cómo 1/11y cómo 1/21se manejan diferentemente. ¿Y por qué tener datos duplicados? Has desperdiciado 19 filas usando los mismos cuatro valores varias veces, repartidas en 23 filas.
Scott
0

COMPARTIENDO UNA PEQUEÑA SOLDADURA PERO MUCHO MÁS FÁCIL PARA SUJETAR ..... No es necesario ejecutar macros o cosas geek ... simples fórmulas y edición de MS Excel.

Instantánea de fechas mixtas de Excel:

ingrese la descripción de la imagen aquí

  • La fecha está en formato mixto.
  • Por lo tanto, para crear un formato de fecha simétrico, se han creado columnas adicionales que convierten esa columna de fecha de 'formato mixto' a TEXTO.
  • De ese texto hemos identificado las posiciones de "/" y se ha extraído el texto del medio determinando la fecha, mes y año usando la fórmula MID.
  • Los que originalmente eran fechas, la fórmula terminó con ERROR / #VALUEresultado. - Finalmente, a partir de la cadena que creamos, los convertimos a fechas por la fórmula DATE.
  • #VALUE fueron seleccionados como está por IFERROR agregado a la fórmula FECHA y la columna fue formateada según se requiera (aquí, dd / mmm / aa)

* CONSULTE LA INSTANTÁNEA DE LA HOJA DE EXCEL ARRIBA ARRIBA (= instantánea de fechas mixtas de Excel) *

Patsaeed
fuente
(1) Si bien es bueno publicar una imagen de pantalla para demostrar que su respuesta realmente funciona, preferimos que las fórmulas en su solución se publiquen como texto en el cuerpo de su respuesta, para que las personas puedan copiarlas y pegarlas. (2) Sus fórmulas como se muestra en la imagen están equivocados, ya que se refieren a las columnas  V, Wy  Xcuando deberían estar refiriéndose a las columnas  B, Cy  D. … (Continúa)
Scott
(Continúa) ... (3) Hubiera sido bueno si hubieras utilizado los datos del OP, a partir de la pregunta, en lugar de inventar los tuyos. Y, ya sea que use los datos del OP o los suyos, hubiera sido bueno si hubiera mostrado la entrada original a su escenario (por ejemplo, para la fila 9, es 5/8/2014o  5/08/2014). Y, si va a utilizar sus propios datos, hubiera sido bueno si hubiera incluido fechas del mismo mes, para demostrar (por ejemplo) cómo 5/8y 5/28se manejan de manera diferente. ¿Y por qué tener datos duplicados? Has desperdiciado seis filas usando los mismos valores más de una vez.
Scott
0

Esto sucede todo el tiempo cuando se intercambian datos de fechas entre configuraciones regionales en Excel. Si tiene control sobre el programa VBA que exporta los datos, sugiero exportar el número que representa la fecha en lugar de la fecha en sí. El número se correlaciona de manera única con una sola fecha, independientemente del formato y la configuración regional. Por ejemplo, en lugar del archivo CSV que muestra 24/09/2010, mostrará 40445.

En el ciclo de exportación cuando mantiene cada celda, si es una fecha, convierta a número usando CLng (myDateValue). Este es un ejemplo de mi ciclo que se ejecuta a través de todas las filas de una tabla y se exporta a CSV (tenga en cuenta que también reemplazo comas en cadenas con una etiqueta que elimino al importar, pero es posible que no necesite esto):

arr = Worksheets(strSheetName).Range(strTableName & "[#Data]").Value

    For i = LBound(arr, 1) To UBound(arr, 1)
        strLine = ""
        For j = LBound(arr, 2) To UBound(arr, 2) - 1
            varCurrentValue = arr(i, j)
            If VarType(varCurrentValue) = vbString Then
                varCurrentValue = Replace(varCurrentValue, ",", "<comma>")
            End If
            If VarType(varCurrentValue) = vbDate Then
                varCurrentValue = CLng(varCurrentValue)
            End If
            strLine = strLine & varCurrentValue & ","
        Next j
        'Last column - not adding comma
        varCurrentValue = arr(i, j)
            If VarType(varCurrentValue) = vbString Then
                varCurrentValue = Replace(varCurrentValue, ",", "<comma>")
            End If
            If VarType(varCurrentValue) = vbDate Then
                varCurrentValue = CLng(varCurrentValue)
            End If
        strLine = strLine & varCurrentValue

        strLine = Replace(strLine, vbCrLf, "<vbCrLf>") 'replace all vbCrLf with tag - to avoid new line in output file
        strLine = Replace(strLine, vbLf, "<vbLf>") 'replace all vbLf with tag - to avoid new line in output file
        Print #intFileHandle, strLine
    Next i
Mor Sagmon
fuente
0

No tuve suerte con todas las sugerencias anteriores: se me ocurrió una solución muy simple que funciona a las mil maravillas. Pegue los datos en Hojas de cálculo de Google, resalte la columna de fecha, haga clic en formato, luego en número y vuelva a numerar para cambiarlo a formato de número. Luego copio y pego los datos en la hoja de cálculo de Excel, hago clic en las fechas y luego formateo las celdas hasta la fecha. Muy rápido. Espero que esto ayude.

Micro
fuente
0

Este problema me estaba volviendo loco, luego me topé con una solución fácil. Al menos funcionó para mis datos. Es fácil de hacer y recordar. Pero no sé por qué esto funciona, pero cambiar los tipos como se indicó anteriormente no. 1. Seleccione la (s) columna (s) con las fechas 2. Busque un año en sus fechas, por ejemplo 2015. Seleccione Reemplazar todo por el mismo año, 2015. 3. Repita para cada año. Esto cambia los tipos a fechas reales, año por año.
Esto sigue siendo engorroso si tiene muchos años en sus datos. Más rápido es buscar y reemplazar 201 con 201 (para reemplazar 2010 hasta 2019); reemplazar 200 con 200 (para reemplazar 2000 hasta 2009); Etcétera.

Criajo
fuente
0

Seleccione fechas y ejecute este código sobre él.

On Error Resume Next
    For Each xcell In Selection            
        xcell.Value = CDate(xcell.Value)     
    Next xcell                              
End Sub
Kathryn
fuente
-1

Yo uso un mac

Vaya a las preferencias de Excel> Editar> Opciones de fecha> Convertir automáticamente el sistema de fechas

También,

Vaya a Tablas y filtros> Agrupar fechas cuando filtre.

El problema probablemente comenzó cuando recibió un archivo con un sistema de fechas diferente, y eso arruinó su función de fecha de Excel

Stephenie
fuente
-2

Por lo general, solo creo una columna adicional para fines de clasificación o totalización, así que úsala year(a1)&if len(month(a1))=1,),"")&month(a1)&day(a1).

Eso proporcionará un yyyymmddresultado que se puede ordenar. El uso de len(a1)just permite agregar un cero adicional para los meses 1-9.

Paul
fuente
2
Esto no ayudará, ya que las fechas no se reconocen como fechas. Además, el uso de columnas adicionales para fines de clasificación rara vez es necesario
CallumDA