
esta é a minha 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 item na coluna B, quero saber se existe um item correspondente na Coluna A (o resultado deve ser: B1>TRUE,B2>TRUE,B3>FALSE)
Eu tentei isso:
=match(B1, A:A&"*")
mas não funciona.
Qualquer ideia?
Responder1
Esta solução se aplica estritamente ao seu exemplo.
Usando a correspondência aproximada do VLOOKUP em vez da correspondência exata, você tem a capacidade de fazer uma correspondência "difusa", como está descrevendo.
=IFERROR(IF(LEFT(B1,LEN(VLOOKUP(B1,A:A,1,TRUE)))=VLOOKUP(B1,A:A,1,TRUE),TRUE,FALSE),FALSE)
Basicamente, a fórmula procura a correspondência mais próxima que pode encontrar usando sua única string longa e pesquisando suas muitas strings mais curtas.
Ele identifica a primeira correspondência aproximada
Verifica se todos os caracteres na correspondência da coluna A estão representados na string da coluna B, começando com o caractere mais à esquerda
Retorna TRUE se todos os caracteres da correspondência A estiverem representados na string B
Retorna FALSE se nem todos os caracteres da correspondência A estiverem representados na string B
Fraqueza (por que isso pode falhar com dados verdadeiros):
O exemplo contém os números de página 1, 2, 3. Se a string da coluna B for a página 11, esta fórmula retornará TRUE quando corresponder a 1 (ela não procurará 11).