Cómo evitar que Excel se formatee automáticamente y que funcione como un programa de cálculo de números

19

Tengo un problema real con Excel en los archivos csv donde está formateando números de ciertas maneras y parece que no puedo hacer que Excel muestre los datos correctamente sin importar lo que haga.

Imagine que tengo una columna llamada "Referencia del producto". Dentro de esa columna tengo muchas ID del tipo:

  • 001145
  • 55666
  • 02133

Cada vez que abro el archivo de Excel, formatea estos números para que sean:

  • 1145
  • 55666
  • 2133

Lo cual está totalmente mal. Cuando resalto la columna y la formateo como texto, los 0 anteriores al comienzo de los números no regresan.

En un intento por resolver esto, incluso hice que el archivo csv fuera un archivo de texto primero y luego importé el archivo a Excel y le dije específicamente que no formatee los números al hacerlo en formato de texto dentro de la importación, pero aún formatea los números incorrectamente cuando cierro y ábralo nuevamente debido a que csv no puede definir tipos, por lo que Excel guarda automáticamente el archivo como basura pura.

¿Alguien ha encontrado una manera de evitar esto y podría ayudarme?

Gracias,

Sammaye
fuente
Hasta donde yo sé, la única manera de hacer que Excel represente fielmente un CSV es importarlo como texto, de la manera que usted describió.
Excellll
Sin embargo, no tiene que convertir el CSV en un archivo de texto. La función Importar desde archivo de texto también funciona para archivos CSV. Solo tiene que especificar que tiene delimitadores de coma.
Excellll

Respuestas:

19

Debe especificar en el archivo csv que es texto. Para ello, ponga su número entre comillas y precediendo con un signo igual, por ejemplo:

="001145",="55666",="02133"

La forma más fácil de hacer esto sería hacer una búsqueda de reemplazo ,con ",=", reemplazando el final de las líneas (es posible que deba usar un editor avanzado como Notepad ++ para esto) con "\r\n="y haciendo el inicio y el final del archivo manualmente.

James
fuente
Agradable :) Voy a intentarlo e informaré de nuevo
Sammaye
11
  1. Cambie la extensión del archivo de ".csv" a ".txt" en el archivo con el que tiene problemas.
  2. Open Excel por sí mismo. No haga clic en el archivo para abrirlo.
  3. Haga clic en "Abrir", cambie los tipos de archivo a buscar de "Todos los archivos de Excel" a "Todos los archivos"
  4. Encuentra tu archivo y haz clic en abrir. Dado que Excel no formatea automáticamente txt, lo llevará a través del asistente.
  5. Se asegura de que esté seleccionado el botón de opción "Delimitado". Haga clic en el botón "siguiente".
  6. Marque la casilla delimitador "coma" y siga presionando el botón "siguiente" hasta que vea (pero no haga clic en él) el botón Finalizar.
  7. desplácese por cada columna en la hoja de cálculo, resalte cada columna que desee formatear manualmente y cambie el formato a "texto".
  8. Haz clic en el botón Finalizar.
John
fuente
Esta es una buena forma de resolver el problema sin problemas.
Jack
¡Salvaste mi día!
dinesh ygv
2

Instale OpenOffice de Oracle y haga lo mismo con el formato CSV de OpenOffice y funciona.

He tenido este problema en Windows 7 Pro con Excel 2010. Solía ​​poder copiar contactos de Outlook a Excel, guardarlos como CSV e importarlos a Gmail y Android (los números móviles con ceros a la izquierda y signos +).

gabbymonster
fuente
1

Haga clic derecho en las celdas que contienen sus datos y haga clic en la entrada de menú Formato de celdas ... Luego, en la primera pestaña ("Número"), cambie la categoría de General a Texto . Esto evitará que Excel formatee automáticamente esas celdas como números y, por lo tanto, elimine los ceros iniciales (que no tienen sentido en el contexto del análisis numérico, pero son muy significativos cuando se trata de ID de productos).

Si los datos se importan y analizan como números, debe usar el asistente de importación de datos y establecer cada tipo de columna en "Texto" en lugar de "General". Luego, haga lo mismo con las celdas y luego guarde su libro de Excel.

Penetración
fuente
Los archivos CSV no conservan el formato. Esto no va a ayudar.
Excellll
@Excellll obviamente, es solo un montón de caracteres ASCII separados por comas. De forma predeterminada , Excel marca los formatos de celda como General e intenta interpretar el valor (números, fechas, cualquier cosa) para que pueda usarse con fórmulas (como el texto plano generalmente no puede). Debe indicarle manualmente a Excel que interprete el valor como texto sin formato para que no lo convierta automáticamente.
Avance el
Sí funcionaría si Excel no "guardara automáticamente" el formato de los campos :( Necesito que Excel actúe de la misma manera que cualquier otro abridor CSV / Lenguaje de programación.
Sammaye
He intentado eso, Excel lo restablece por defecto cuando abres el archivo Excel convertido. Así que importo de TXT a Excel y le digo que se muestre como texto, cierro el archivo y lo abro, y Excel vuelve al formato numérico para los campos que ocultan su verdadero valor y estoy de vuelta en el sq.
Sammaye
@Breakthrough, lo siento, no expresé lo que quise decir. Como dijo en su comentario, cuando se abre un CSV en Excel, Excel aplicará el formato General a todos los datos. En este punto, Excel no puede recuperar el texto (es decir, ceros a la izquierda) que realmente se guarda en el archivo CSV. El punto es que una vez que haya abierto el CSV en Excel, es demasiado tarde para cambiar el formato.
Excellll
1

haga clic en la celda en la que desea mantener los ceros a la izquierda y luego: haga clic con el botón derecho> Formatear celdas> personalizado> 0> escriba el número total que debe estar en la celda, por ejemplo: Si necesito 00001234, pondré 00000000 como número de ceros, todo lo que le dice que haga es poner un número total de 8 en la celda, ya tengo 1234, por lo que compensará la diferencia con 4 ceros iniciales más.

Lo uso a diario para importar hojas de cálculo.

Adán
fuente
0

Para agregar a la respuesta de @ Jon de esta pregunta, tenía un archivo CSV que tenía varias columnas que tenían ceros iniciales y números más largos que perderían el cero inicial o convertirían el número largo a notación científica, o ambos, cuando se importaran.

La única forma en que pude arreglar fue formatear primero todas las celdas en la hoja vacía Text, mediante los siguientes pasos:

  1. Seleccione todas las celdas en la hoja:

ingrese la descripción de la imagen aquí

  1. Cambiar el formato de cada celda:

ingrese la descripción de la imagen aquí

Después de formatear todas las celdas de la hoja Text, entonces podría importar el CSV usando los siguientes pasos:

  1. Desde la Datapestaña, haga clic en From Text:

ingrese la descripción de la imagen aquí

  1. Seleccione su archivo .txto .csvy haga clicImport

  2. Seleccione Delimitedy haga clic en `Siguiente:

ingrese la descripción de la imagen aquí

  1. Seleccione el delimitador apropiado (elegí Comma) y deseleccione cualquier otro que no se aplique, luego haga clic en Next:

ingrese la descripción de la imagen aquí

  1. Desplácese hacia la derecha para encontrar las columnas que necesitan formatearse Textpara retener los ceros a la izquierda y evitar la notación científica. Haga clic en la columna (debería oscurecerse), luego seleccione Texten la lista de opciones. Asegúrese de seleccionar todas las columnas que deben formatearse correctamente:

ingrese la descripción de la imagen aquí

  1. Luego haz clic Finish. Si se desplaza a las columnas que formateó, verá que todos los ceros iniciales se conservan y que las largas cadenas de números no están en notación científica.

¡Espero que ayude!

Miguel
fuente
0

Si los datos se generaron usando SQL. Agregar un carácter de tabulación al valor numérico que debe evitarse truncar debería funcionar.

-- Oracle PL/SQL
select "01234567890123456" || chr(9) from dual;
León
fuente