Fórmula de Excel: BUSCARV con números y texto -

Fórmula genérica

=VLOOKUP(val&"",table,col,0)

Resumen

Para usar la función BUSCARV para recuperar información de una tabla donde los valores clave son números almacenados como texto, puede usar una fórmula que concatene una cadena vacía ("") con el valor de búsqueda numérico, convirtiéndolo en texto. En el ejemplo que se muestra, la fórmula en H3 es:

=VLOOKUP(id&"",planets,2,0) // returns "Earth"

donde id (H2) y planetas (B3: B11) son rangos con nombre.

Nota: El ejemplo es una solución al problema de los números y el texto no coincidentes, que provocan un error # N / A. Si no hay ninguna discrepancia, la solución alternativa no es necesaria y puede usar una fórmula VLOOKUP normal.

Explicación

Un error común de BUSCARV es una falta de coincidencia entre los números y el texto. Por lo general, la columna de búsqueda de la tabla contiene valores numéricos que parecen números, pero de hecho son números almacenados como texto. Cuando se pasa un número genuino a BUSCARV como primer argumento, la fórmula devuelve un error # N / A, aunque parece haber una coincidencia. La siguiente pantalla muestra un ejemplo de este problema:

Los números de la columna B son en realidad texto, por lo que el valor de búsqueda numérico, 3, falla, aunque parece que BUSCARV debería coincidir con B5 y devolver "Tierra". Puede ingresar un número como valor de texto precediendo el número con una comilla simple (').

La mejor solución es asegurarse de que los valores de búsqueda en la tabla sean realmente números. Sin embargo, si no tiene control sobre la tabla, puede modificar la fórmula VLOOKUP para forzar el valor de búsqueda para que coincida con el tipo en la tabla. En el ejemplo que se muestra, coaccionamos el valor de búsqueda numérico al texto concatenando una cadena vacía:

=VLOOKUP(id,planets,2,0) // original =VLOOKUP(id&"",planets,2,0) // revised

Y la fórmula revisada se encarga del error:

También puede hacer lo mismo con una fórmula más larga que utiliza la función TEXTO para convertir el número en texto:

=VLOOKUP(TEXT(id,"@"),planets,2,0)

Tanto números como texto

Si no puede estar seguro de cuándo tendrá números y cuándo tendrá texto, puede atender ambas opciones ajustando BUSCARV en la función SI.ERROR y usando una fórmula que maneje ambos casos:

=IFERROR(VLOOKUP(id,planets,3,0),VLOOKUP(id&"",planets,3,0))

Aquí, primero probamos una fórmula VLOOKUP normal que asume que tanto el valor de búsqueda como la primera columna de las tablas son números. Si eso arroja un error, lo intentamos nuevamente con la fórmula revisada. Si esa fórmula también falla, BUSCARV devolverá un error # N / A como siempre.

Articulos interesantes...