¿Pegas IDs en Excel y aparecen como 1,234E+17
? No es un bug: es la forma en que Excel infiere tipos y muestra números largos. Aquí tienes causas, límites y técnicas probadas para pegar e importar identificadores sin perder dígitos ni ceros a la izquierda.
Problema: Excel convierte IDs a notación científica al pegar
Cuando copias identificadores desde otro sistema (ERP, CRM, base de datos, web) y los pegas en Excel, la aplicación intenta “adivinar” el tipo de dato. Si ve solo dígitos, asume que es un número. Con números suficientemente largos, Excel cambia la visualización a notación científica (por ejemplo, 123456789012345678
se muestra como 1,23456789012346E+17
) y además solo conserva con precisión los primeros 15 dígitos. Este comportamiento ocurre incluso si piensas “formatear después”, porque el daño (la pérdida de dígitos) ya se produjo en el momento del pegado.
Por qué pasa (explicación corta)
- Inferencia automática de tipo: Al pegar, Excel interpreta cadenas de dígitos como números.
- Precisión limitada: Excel usa una representación numérica con precisión de hasta 15 dígitos significativos. A partir del dígito 16, redondea o sustituye por ceros.
- Formato vs. contenido: Cambiar el formato de celda después (por ejemplo, a “Texto”) no revive dígitos ya perdidos.
Entiende el límite de 15 dígitos
Este límite es clave para IDs como números de pedido, NIF/identificadores internos, tarjetas, cuentas o GUID numéricos. Toda cifra más allá del 15.º dígito puede alterarse. Algunos ejemplos:
Original esperado | Tras pegar como número | ¿Se pierden dígitos? | Observación |
---|---|---|---|
123456789012345 (15 dígitos) | 123456789012345 | No | Se puede mostrar en notación científica, pero los dígitos existen. |
1234567890123456 (16 dígitos) | 1234567890123450 | Sí | El último dígito puede redondearse a 0 o cambiarse. |
001234567890123456 (18 dígitos, con ceros a la izq.) | 123456789012345000 | Sí | Se pierden ceros a la izquierda y la precisión > 15 dígitos. |
Conclusión práctica: Si un ID puede tener más de 15 dígitos, siempre trátalo como texto. No lo introduzcas ni pegues como número.
Buenas prácticas antes de pegar (la forma correcta)
La mejor defensa es actuar antes del pegado. Aquí tienes métodos eficaces para obligar a Excel a tratar los IDs como texto desde el inicio.
Formatea la columna como Texto (Windows, macOS y Web)
- Selecciona la(s) columna(s) destino.
- Inicio → Número → Lista desplegable → Texto.
- Ahora pega. Excel respetará el tipo texto y no convertirá a notación científica.
Nota: Si ya pegaste, cambiar a “Texto” después no recupera dígitos perdidos. Aun así sirve si la longitud del ID ≤ 15 y solo quieres dejar de ver “E+”.
Pegado especial que fuerza Texto
- Copia los IDs desde el origen.
- En Excel, selecciona la celda inicial de destino.
- Usa Inicio → Pegado → Pegado especial y elige Texto, o bien en el botón de Opciones de pegado, selecciona Mantener solo texto / Coincidir formato de destino.
Importa con Datos → Desde texto/CSV (o Power Query)
Para archivos CSV o TXT:
- Datos → Desde texto/CSV.
- Previsualiza y asegúrate de que la columna de IDs esté marcada como Texto. En Power Query, usa la fila de encabezados y establece el Tipo de datos en Texto (no Número).
- Carga los datos a la hoja. Así evitas conversiones y pérdidas.
Sugerencia: Si exportas el CSV desde el sistema origen, encierra los IDs entre comillas o añade un prefijo (por ejemplo, apóstrofo '
) para “forzar” el tipo texto al llegar a Excel.
Prefijo con apóstrofo
Si antepones '
al ID (por ejemplo, '001234567890123456
), Excel lo asume como texto. El apóstrofo no se muestra en la celda, pero puede aparecer el triángulo verde de “Número almacenado como texto”. Es normal y deseable en este caso.
Desactiva conversiones automáticas (si tu versión lo permite)
Algunas versiones recientes de Excel incluyen una opción para desactivar conversiones automáticas de datos (incluida notación científica al pegar o abrir). Revisa Opciones/Preferencias → Conversión automática de datos y desmarca la detección/conversión de números largos o notación científica. Si no aparece en tu versión, usa los métodos anteriores.
Si ya pegaste los datos (daños y soluciones)
- IDs > 15 dígitos: Los dígitos más allá del 15.º ya se perdieron. Debes repegar desde el origen usando un método que fuerce Texto (columna en Texto, Pegado especial → Texto, importación con tipo Texto, etc.).
- IDs ≤ 15 dígitos: Los dígitos existen, aunque Excel los muestre como
E+
. Puedes:- Aplicar Texto en columnas con formato de columna Texto (sin delimitadores) para “reconvertir” la visualización.
- Re–pegar como Texto o cambiar el formato a Número sin notación científica ajustando los decimales a 0 (siempre que no haya ceros a la izquierda que quieras preservar).
Texto en columnas (paso a paso)
- Selecciona la columna con los IDs.
- Datos → Texto en columnas.
- Elige Delimitados y deja todos los delimitadores desmarcados.
- En Formato de columna de datos elige Texto.
- Finalizar. La notación científica desaparecerá sin alterar dígitos (si ≤ 15).
Formato personalizado: ceros a la izquierda
Si tus IDs tienen longitud fija y ≤ 15 dígitos, puedes usar un formato personalizado de ceros para mostrar todos los dígitos, incluidos los ceros iniciales, manteniendo el valor como número.
- Selecciona la columna → Inicio → Número → Más formatos → Personalizada.
- Escribe tantos ceros como longitud del ID. Ejemplo para 15 dígitos:
000000000000000
.
Importante: Si el ID supera los 15 dígitos, no uses formato numérico. Trátalo como Texto para preservar todos los dígitos.
Checklist de solución rápida
- [ ] Columna en Texto antes de pegar.
- [ ] Pegado especial → Texto (o “Mantener solo texto”).
- [ ] Para importaciones masivas: Datos → Desde texto/CSV y establece tipo Texto en la columna.
- [ ] (Opcional) Desactivar conversiones automáticas si tu Excel lo permite.
Matriz de decisiones (qué hacer en cada caso)
Situación | Objetivo | Método recomendado | ¿Preserva dígitos? | Notas |
---|---|---|---|---|
Pegar IDs > 15 dígitos | Conservar todos los dígitos | Columna en Texto + Pegado especial → Texto | Sí | Evita notación científica y pérdida de precisión. |
Abrir CSV con IDs largos | Evitar conversión al abrir | Datos → Desde texto/CSV → Tipo Texto | Sí | No abras el CSV con doble clic si contiene IDs largos. |
IDs ≤ 15 en notación científica | Ver sin “E+” | Texto en columnas → Texto | Sí | Los dígitos ya existen; solo cambia la presentación. |
Ceros a la izquierda (≤ 15) | Mostrar ceros iniciales | Formato personalizado: 000… | Sí | No usar si la longitud es variable o > 15. |
Exportar desde el sistema origen | Forzar texto desde la fuente | Prefijo ' o IDs entre comillas | Sí | Reduce errores al importar. |
Procedimientos paso a paso (Windows/macOS/Web)
Pegar como texto (atajos y menús)
- Pre–asigna Texto a la columna de destino.
- Windows/Mac: Inicio → Pegado → Pegado especial → Texto.
- Excel Web: Pega y, en el icono de Opciones de pegado que aparece, elige Mantener solo texto.
Importar con Power Query (control total del tipo)
- Datos → Obtener datos → Desde archivo → Desde texto/CSV.
- En el diálogo de previsualización, abre el editor (Transformar datos).
- Selecciona la columna de IDs → en la barra de tipo, elige Texto.
- Confirma y Cargar a la hoja.
Texto en columnas para “normalizar” IDs ≤ 15
- Selecciona la columna afectada.
- Datos → Texto en columnas → Delimitados (sin delimitadores).
- En “Formato de columna de datos”, marca Texto.
- Finalizar.
Formato personalizado de ceros
- Selecciona la columna → clic derecho → Formato de celdas….
- Pestaña Número → Personalizada → escribe una máscara de ceros con la longitud del ID (p. ej., 12 ceros).
Buenas prácticas al trabajar con CSV
- No abras el CSV con doble clic si contiene IDs largos; usa siempre Datos → Desde texto/CSV para poder declarar tipos.
- Si controlas la exportación, encierra los IDs entre comillas o añade un prefijo
'
para que Excel los trate como texto. - Verifica en la previsualización del importador que la columna se ve como texto (alineación a la izquierda y sin “E+”).
Ejemplos de CSV correctos
"id","cliente","importe"
"001234567890123456","ACME","0"
"987654321098765432","BETA","1000"
Otra variante con prefijo apóstrofo (si tu sistema lo soporta):
id,cliente,importe
'001234567890123456,ACME,0
'987654321098765432,BETA,1000
Cómo verificar que un ID quedó como texto
- Usa
=ES.TEXTO(A2)
→ VERDADERO implica texto. =TIPO(A2)
devuelve 2 para texto, 1 para número.- El alineado a la izquierda y el triángulo verde (advertencia “Número almacenado como texto”) son señales de texto; no corrijas esa “advertencia” en IDs.
Errores comunes que debes evitar
- Cambiar el formato después de pegar: No recupera dígitos perdidos. La precisión ya se perdió.
- Dejar que Excel “decida” al abrir CSV: Si no declaras tipos, Excel convertirá. Usa el asistente de importación.
- Aplicar formato numérico a IDs > 15 dígitos: Aunque muestres más dígitos, internamente estarán mal.
- Usar fórmulas como
TEXTO()
para “reparar”: Si los datos fuente ya perdieron precisión, no hay recuperación posible.
Automatización con VBA (opcional)
Si pegas estos datos a diario, una macro puede ahorrar errores:
Sub PegarIDsComoTexto()
With Selection
.NumberFormat = "@" ' Fuerza Texto
.PasteSpecial Paste:=xlPasteValues ' Pega solo valores
.TextToColumns Destination:=.Cells(1, 1), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, Comma:=False, Space:=False, Other:=False, _
FieldInfo:=Array(1, 2) ' 2 = Texto
End With
End Sub
Consejo: Asigna la macro a un botón “Pegar IDs” en tu cinta o barra de acceso rápido para que todo el equipo pegue correctamente.
FAQ rápida
¿Puedo recuperar dígitos si ya pegué un ID de 18 dígitos como número?
No. Los dígitos más allá del 15.º se corrompieron al pegar. Debes volver a obtener los datos del origen y pegarlos como Texto.
¿Por qué sigo viendo “E+” aunque cambié a Número?
Porque Excel escoge notación científica para números muy grandes. Si el ID ≤ 15 dígitos, puedes usar Texto en columnas → Texto o formatear como número sin decimales y ajustar el ancho de columna para evitar “E+”. Si el ID > 15, usa Texto.
¿Conviene almacenar IDs como números alguna vez?
En general, no. Los IDs no se calculan, solo se identifican. Trátalos como texto para preservar integridad (incluidos ceros a la izquierda).
¿Qué pasa si mezclo números y letras (alfa-numéricos)?
Excel respetará texto si hay letras. El riesgo está cuando son solo dígitos. Establecer Texto igualmente garantiza consistencia.
Plantilla rápida de trabajo
- Crea una hoja con columnas de destino formateadas como Texto (por ejemplo: “ID”, “Cuenta”, “Pedido”).
- Incluye un aviso visible: “Pegar con Pegado especial → Texto”.
- Para CSV, documenta: “Importar por Datos → Desde texto/CSV & tipo Texto”.
- (Opcional) Macro “PegarIDsComoTexto”.
Resumen accionable
- Antes de pegar: fija Texto en la columna o usa Pegado especial → Texto.
- Para importaciones: usa “Desde texto/CSV” o Power Query y establece el tipo Texto.
- Si ya pegaste:
- IDs > 15 dígitos → vuelve al origen y repega como texto.
- IDs ≤ 15 → “Texto en columnas → Texto” para quitar la notación científica.
- Ceros a la izquierda: máscara de ceros solo si ≤ 15; si no, texto.
- Opcional: desactiva conversiones automáticas si tu Excel ofrece la opción.
Guía de referencia rápida (copiable)
- Causa: Excel infiere números al pegar y tiene límite de 15 dígitos.
- Regla de oro: IDs con posibles > 15 dígitos = Texto siempre.
- Métodos seguros:
1) Preformatear columna como Texto.
2) Pegado especial → Texto / Mantener solo texto.
3) Importar con Datos → Desde texto/CSV (Power Query) y fijar Texto.
4) Prefijo con apóstrofo (').
5) (Si existe) Desactivar conversiones automáticas.
- Si ya pegaste:
• > 15 dígitos: repegar desde el origen como Texto.
• ≤ 15 dígitos: Texto en columnas → Texto.
- Ceros a la izquierda:
• Longitud fija ≤ 15: formato 000000... (tantos ceros como longitud).
• > 15: siempre Texto.
Mensaje clave: Excel no es “malo” con tus IDs; solo intenta ser útil. Indícale explícitamente que son texto y nunca volverás a ver E+
ni perderás dígitos.