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 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 Numbers
en elSource Table
tiene el formato número/general, mientras que en elLookup Table
tiene formato de texto desde el adicional 1
que se concatena usando &
--> Ampersand
.
Si investiga más a fondo, puede encontrar que, Excel
de forma predeterminada, los números son right aligned
mientras que los textos son, left aligned
a menos que haya formateado la alineación, pero no lo parece en la captura de pantalla, ya que también ha confirmado acerca de laSource
formato de datos. Además, cuando escribe un número, Excel
a menos que lo haya formateado antes, se mostrará como General
.
¿Qué necesitas hacer?
Concatenar un empty string
--> ""
con [Lookup_Value]
en elSource Table
mientras aplica la fórmula como se muestra a continuación, que debería funcionar para usted:
• 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 Mobile
múltiple en lugar de laSUBSTITUTE()
Lookup_Table
=1&CONCAT(TEXTSPLIT(A4,{"(",")","-"," ","."},,1))
Si un double unary
--> --
o 1
se multiplica o divide o 0
se 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.