Excel devuelve #N/A en un BUSCARV entre dos exportaciones CSV cuando los valores parecen idénticos en pantalla pero no lo son en memoria. Uno de los archivos guarda la clave como texto; el otro la guarda como número, fecha serial o texto con caracteres extra. BUSCARV compara el valor almacenado, no lo que ves.
No es un problema de fórmula. Es un problema de importación. Los archivos CSV no transportan los tipos de datos de Excel. Al abrir el archivo, Excel decide por su cuenta cómo interpretar cada columna. Dos celdas que se muestran igual pueden almacenar valores distintos.
Por qué la coincidencia falla aunque los valores parezcan iguales
| Lo que ves | Archivo A almacena | Archivo B almacena | Resultado |
|---|---|---|---|
| 12345 | Número 12345 | Texto "12345" | Sin coincidencia |
| 0012345 | Texto "0012345" | Número 12345 | Sin coincidencia |
| 2026-05-01 | Fecha serial real | Texto "2026-05-01" | Sin coincidencia |
| INV-1007 | Texto "INV-1007 " | Texto "INV-1007" | Sin coincidencia |
| 1,234.00 | Texto "1,234.00" | Número 1234 | Sin coincidencia |
Por eso cambiar el formato de una columna a Número o Fecha casi nunca soluciona el problema. El formato cambia la visualización. No siempre cambia el valor almacenado.
Este es el problema clásico de BUSCARV que no encuentra un valor texto-número. La función hace una comparación exacta, y exacta significa exacta.
Revisa la primera fila que falla antes de modificar todo el archivo
Encuentra una fila que debería coincidir y no lo hace. Pruébala en columnas auxiliares antes de tocar la hoja completa.
| Verificación | Fórmula | Qué te indica |
|---|---|---|
| Tipo de dato | =TIPO(A2) y =TIPO(B2) | 1 significa número, 2 significa texto. Si un lado da 1 y el otro 2, ahí está el problema. |
| Longitud visible | =LARGO(A2) y =LARGO(B2) | Longitudes distintas en valores que parecen iguales indican espacios o caracteres ocultos. |
| Prueba de fecha real | =ESNUMERO(A2) | VERDADERO significa que Excel almacena un número o una fecha. FALSO significa texto. |
| Prueba de caracteres ocultos | =A2=ESPACIOS(LIMPIAR(SUSTITUIR(A2,CARACTER(160)," "))) | FALSO significa que la celda cambia al limpiarla. |
| Igualdad directa | =A2=B2 | FALSO confirma que Excel ve dos valores almacenados distintos. |
Si estas verificaciones no muestran ninguna diferencia de formato, el problema está en otro lado: la clave de búsqueda es incorrecta, el rango de búsqueda empieza en la columna equivocada, falta el cuarto argumento de BUSCARV, o el valor simplemente no existe.
Corrige las columnas de texto y número sin destruir los identificadores
Si la columna debe ser numérica, conviértela en una columna auxiliar. No sobreescribas la columna CSV original.
| Situación | Fórmula auxiliar | Úsala para |
|---|---|---|
| Valor numérico almacenado como texto | =VALOR(ESPACIOS(A2)) | Importes, conteos, referencias numéricas |
| Texto numérico con comas o símbolos de moneda | =VALOR(SUSTITUIR(SUSTITUIR(ESPACIOS(A2),",",""),"$","")) | Campos de importe importados como texto |
| Identificador donde los ceros iniciales importan | Mantén ambos lados como texto | Códigos de cuenta, referencias con relleno, códigos de artículo |
La distinción clave: algunos valores deben convertirse en números y otros deben quedarse como texto. Si la clave es 000731, convertirla a 731 resuelve un problema y crea otro.
Para que un identificador con relleno siga siendo comparable, fuerza ambos lados a texto en lugar de convertir uno a número. Si un archivo almacena 000731 como texto y el otro 731 como número, dales a ambos la misma máscara de ancho fijo:
=TEXTO(A2,"000000")Haz la coincidencia sobre el resultado. El ancho de la máscara debe igualar la longitud real de la referencia, o rellenarás un lado más que el otro y recrearás la incompatibilidad. Si los identificadores no tienen un ancho fijo, no rellenes. Importa ambas columnas como texto, antes de que Excel elimine los ceros.
Datos > Texto en columnas > Finalizar es una corrección rápida cuando toda una columna numérica o de fechas se importó mal. Obliga a Excel a reinterpretar los valores. Úsalo con importes y fechas. No lo uses con identificadores que dependen de los ceros iniciales.
Elimina espacios y caracteres invisibles cuando solo fallan algunas filas
Un espacio al final de la celda basta para que BUSCARV devuelva #N/A. Lo mismo ocurre con un espacio de no separación copiado de una exportación web, una tabulación o un salto de línea dentro de la celda.
| Problema oculto | Qué observas | Corrección |
|---|---|---|
| Espacio inicial o final | Los valores parecen iguales, pero LARGO() difiere | ESPACIOS() |
| Espacio de no separación | ESPACIOS() no lo elimina | SUSTITUIR(A2,CARACTER(160)," ") |
| Tabulaciones o saltos de línea | Filas aleatorias fallan tras copiar o importar | LIMPIAR() |
Confirma primero qué carácter tienes. La corrección depende de eso. =CODIGO(DERECHA(A2,1)) devuelve 32 para un espacio normal, 160 para un espacio de no separación y 9 para una tabulación. Un espacio normal cede a ESPACIOS(). CARACTER(160) no, porque ESPACIOS() solo elimina el espacio estándar. Los espacios de no separación vienen de páginas web y exportaciones de navegador, y sobreviven a cada ESPACIOS() hasta que los sustituyes.
Para archivos CSV, la fórmula auxiliar más segura es:
=ESPACIOS(LIMPIAR(SUSTITUIR(A2,CARACTER(160)," ")))Aplícala en ambos archivos y apunta la búsqueda a las columnas limpias en lugar de a la exportación original. Si la coincidencia sigue fallando, el carácter no está al final. Recorre el valor con =CODIGO(EXTRAE(A2,n,1)) para encontrar un espacio de no separación o una tabulación incrustado dentro. INV y luego CARACTER(160) y luego 1007 nunca coincidirá con INV-1007, por muchos espacios finales que elimines. Si los errores se concentran en un archivo fuente, por qué los espacios ocultos rompen la coincidencia en archivos CSV profundiza en el origen de esos caracteres invisibles.
Lleva las dos columnas de fechas a una clave común
Las columnas de fechas son donde mejor se esconde la incompatibilidad de formato entre archivos CSV. Un archivo abre 2026-05-01 como texto. El otro abre 05/01/2026 como una fecha real de Excel. Aunque formatees ambas celdas para que se vean igual, la coincidencia puede seguir fallando: una es texto y la otra es un número serial.
| Valor bruto | Probablemente almacenado como | Clave auxiliar segura |
|---|---|---|
| 2026-05-01 | Texto de un CSV en formato ISO | =TEXTO(FECHA(IZQUIERDA(A2,4),EXTRAE(A2,6,2),DERECHA(A2,2)),"aaaa-mm-dd") |
| 5/1/2026 | Fecha real de Excel | =TEXTO(A2,"aaaa-mm-dd") |
| 01/05/2026 | Fecha texto ambigua | Separa día, mes y año explícitamente antes de reconstruir la fecha |
Para una fecha texto en formato dd/mm/aaaa, usa:
=TEXTO(FECHA(DERECHA(A2,4),EXTRAE(A2,4,2),IZQUIERDA(A2,2)),"aaaa-mm-dd")Si el origen es mm/dd/aaaa, intercambia las posiciones del día y el mes en esa fórmula. El objetivo no es un formato más bonito. El objetivo es que ambos archivos produzcan exactamente la misma clave almacenada.
Valida la corrección en una fila real antes de normalizar todo el archivo
Corregir la hoja completa es más seguro cuando puedes demostrar que una fila defectuosa específica pasa a coincidir por una razón concreta.
Supón que el archivo A contiene:
| Clave bruta | Lo que Excel almacenó |
|---|---|
001245 | Texto con ceros iniciales |
2026-05-01 | Fecha como texto |
1,234.00 | Importe como texto |
Y el archivo B contiene:
| Clave bruta | Lo que Excel almacenó |
|---|---|
1245 | Número |
5/1/2026 | Fecha real de Excel |
1234 | Número |
Si comparas esos valores brutos directamente, cada búsqueda puede fallar por una razón diferente:
- el identificador falla porque un lado conservó los ceros iniciales y el otro no
- la fecha falla porque un lado es texto y el otro es un número serial
- el importe falla porque un lado está almacenado como texto con puntuación
La corrección no es una sola fórmula copiada a ciegas en todas las columnas. Son tres decisiones de normalización distintas:
| Tipo de campo | Clave normalizada segura |
|---|---|
| Identificador que debe preservar ceros | Texto limpio en ambos lados |
| Fecha | Una clave texto aaaa-mm-dd reconstruida en ambos lados |
| Importe | Número real en ambos lados |
Una vez que compruebes que una fila coincide después de la normalización correcta, copia esa corrección en toda la columna. El orden importa: evita "corregir" 5.000 filas con la regla de conversión equivocada.
La corrección que crea una segunda incompatibilidad
El error más común es convertirlo todo a números porque la primera fila defectuosa parecía numérica.
Eso provoca un segundo error en los casos donde la clave solo tiene apariencia numérica:
| Parece numérico | Lo que realmente es | Qué hace la corrección incorrecta |
|---|---|---|
000731 | Identificador con relleno | Elimina los ceros iniciales |
001245889917744 | Referencia larga | Riesgo de pérdida de precisión si Excel lo almacena como número |
2026-05-01 | Clave de fecha como texto | Convierte el valor a fecha serial en solo un lado |
El error inverso también existe: alguien envuelve todas las claves de búsqueda en TEXTO() y convierte accidentalmente comparaciones de importes en comparaciones de cadenas de texto.
La pregunta correcta no es "¿cómo hago que las dos columnas se vean iguales?". La pregunta correcta es "¿qué tipo debe tener este campo para la coincidencia?".
Usa esta división:
- Identificadores y referencias: texto en general
- Fechas: una clave de comparación reconstruida en general
- Importes: números en general
Si una corrección resuelve la primera fila defectuosa pero crea una nueva incompatibilidad en la siguiente categoría de filas, no has normalizado el archivo. Solo has movido el error.
Ejecuta BUSCARV sobre las columnas normalizadas, no sobre la exportación original
Una vez que cada lado tiene una clave auxiliar limpia, construye la búsqueda sobre esa clave.
| Tipo de clave | En qué deben terminar las dos columnas auxiliares |
|---|---|
| Código numérico sin ceros iniciales | Número |
| Referencia con letras o ceros iniciales | Texto limpio |
| Fecha | La misma clave de fecha normalizada, normalmente aaaa-mm-dd |
Un patrón básico tiene este aspecto:
=BUSCARV(E2,$J$2:$K$5000,2,FALSO)En ese ejemplo, E2 es la clave normalizada del primer archivo y la columna J de la tabla de búsqueda es la clave normalizada del segundo. El FALSE importa. Sin él, Excel puede intentar una coincidencia aproximada, que es un problema distinto.
Si las dos exportaciones también tienen estructuras y encabezados diferentes, el problema ya no es un solo BUSCARV. Es la comparación de archivos en sí. En ese caso, cómo comparar dos archivos CSV de extractos bancarios sin fórmulas describe el flujo de trabajo correcto.
Cuando se convierte en la misma corrección cada mes
Lo que parece un error de fórmula de conciliación en Excel suele ser el mismo problema de importación que se repite en nuevas exportaciones. Un mes, las fechas se abren como texto. Al mes siguiente, los identificadores de transacción pierden los ceros iniciales. La fórmula se lleva la culpa porque es donde aparece el error.
