Establezca el tipo de datos en cadena para que BUSCAR XL funcione

Establezca el tipo de datos en cadena para que BUSCAR XL funcione

Tengo algunos problemas con la ejecución de BUSCAR XL en una columna calculada:

En mi tabla de origen, tengo una lista de números de teléfono con el tipo de columna establecido en General, ingresado como 1##########. Estos valores no se calculan.

En mi tabla de búsqueda, tengo la misma lista de números de teléfono formateados como (NNN)NNN-NNNN, luego creé una columna para formatear correctamente el número de teléfono para la búsqueda:

="1" & SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E2,"(",""),")",""),"-","")," ",""),".","")

Esto produce correctamente una coincidencia que visualmente parece coincidir con mi tabla de origen (C) y mi tabla de búsqueda (F).

Tabla fuente

Tabla fuente

Tabla de búsqueda

Tabla de búsqueda

Sin embargo, no veo ninguna coincidencia usando esta BUSCARX:

=XLOOKUP([@[Phone Number]],'Data'!F:F,'Data'!G:G,"No Match", 0,1)

Como prueba simple, si escribo manualmente exactamente los mismos datos en la columna H y los cambio, la BUSCAR XL funciona.

Intenté formatear ambas columnas como "texto" y "general" sin éxito. ¿Hay alguna forma en Excel de decir "Oye, esta columna es una cadena, trátala como tal?"

Respuesta1

Si se entiende correctamente, parece que Phone Numbersen elSource Tabletiene el formato número/general, mientras que en elLookup Tabletiene formato de texto desde el adicional 1que se concatena usando &--> Ampersand.

Si investiga más a fondo, puede encontrar que, Excelde forma predeterminada, los números son right alignedmientras que los textos son, left aligneda menos que haya formateado la alineación, pero no lo parece en la captura de pantalla, ya que también ha confirmado acerca de laSourceformato de datos. Además, cuando escribe un número, Excela menos que lo haya formateado antes, se mostrará como General.


¿Qué necesitas hacer?

Concatenar un empty string--> ""con [Lookup_Value]en elSource Tablemientras aplica la fórmula como se muestra a continuación, que debería funcionar para usted:

ingrese la descripción de la imagen aquí


• Fórmula utilizada en la celdaG4

=XLOOKUP(F4&"",B4:B8,C4:C8,"No Match",0,1)

Lo anterior también se puede escribir como:

=XLOOKUP(F4:F5&"",B4:B8,C4:C8,"No Match",0,1)

En el contexto del OP, la fórmula será la siguiente:

=XLOOKUP([@[Phone Number]]&"",'Data'!F:F,'Data'!G:G,"No Match", 0,1)

Además, si tiene acceso a MS365, le sugiero encarecidamente que utilice la siguiente fórmula para la función Person Account Mobilemúltiple en lugar de laSUBSTITUTE()Lookup_Table

ingrese la descripción de la imagen aquí


=1&CONCAT(TEXTSPLIT(A4,{"(",")","-"," ","."},,1))

Si un double unary--> --o 1se multiplica o divide o 0se agrega a la fórmula anterior, entonces [Lookup_Value]no XLOOKUP()será necesario contactar y vaciar la cadena


Nota:Los números de teléfono que se muestran son falsos creados al azar; también cambie la referencia y los rangos según su demanda.


información relacionada