
esta es mi mesa:
A B c
1 foo.com/page1 foo.com/page1?xyz
2 foo.com/page2 foo.com/page1?abc
3 foo.com/page3 foo.com/page8?xyz
para cada elemento en la columna B, quiero saber si hay un elemento coincidente en la columna A (el resultado debe ser: B1>VERDADERO,B2>VERDADERO,B3>FALSO)
He probado esto:
=match(B1, A:A&"*")
pero no funciona.
¿Alguna idea?
Respuesta1
Esta solución se aplica estrictamente a su ejemplo.
Al utilizar BUSCARV una coincidencia aproximada en lugar de una coincidencia exacta, tiene la capacidad de hacer una especie de coincidencia "difusa" como la que está describiendo.
=IFERROR(IF(LEFT(B1,LEN(VLOOKUP(B1,A:A,1,TRUE)))=VLOOKUP(B1,A:A,1,TRUE),TRUE,FALSE),FALSE)
Básicamente, la fórmula busca la coincidencia más cercana que puede encontrar usando una única cadena larga y buscando muchas cadenas más cortas.
Identifica la primera coincidencia cercana.
Verifica que todos los caracteres en la coincidencia de la columna A estén representados en la cadena de la columna B comenzando con el carácter más a la izquierda
Devuelve VERDADERO si todos los caracteres de la coincidencia A están representados en la cadena B
Devuelve FALSO si no todos los caracteres de la coincidencia A están representados en la cadena B
Debilidad (por qué esto puede fallar con datos verdaderos):
El ejemplo contiene los números de página 1, 2, 3. Si la cadena de la columna B es la página 11, esta fórmula devolverá VERDADERO cuando coincida con 1 (no buscará 11).