Você pode fazer isso com uma fórmula de matriz. Para um intervalo fixo, a fórmula em C2
seria
=IF(MAX(IFERROR(SEARCH($A$2:$A$5,$B2),0))>0,"yes","no")
Certifique-se de inserir isso como uma fórmula de matriz usando Ctrl + Deslocar + Enter . Você saberá que funcionou quando você colocar chaves {} em qualquer extremidade da fórmula.
Se você quiser que o intervalo seja dinâmico, uma boa maneira é definir um intervalo nomeado. Se você tentar usar toda a coluna A:A
, tudo retornará yes
, porque as funções SEARCH
e FIND
retornarão TRUE
se a sequência que você está procurando estiver em branco. Como A:A
conteria espaços em branco na sua lista, todos os seus resultados serão yes
e isso não é útil. Em vez disso, precisamos definir um intervalo nomeado dinâmico. Existem algumas maneiras de fazer isso, mas eu gostaria de abrir o "Gerenciador de nomes" (está no meio da faixa de opções "Fórmulas" na seção "Nomes definidos"). Abra isso e clique em "Novo" no canto superior esquerdo. Dê um nome como Keywords
e uma fórmula "Refere-se a"
=OFFSET(Sheet1!$A$1,1,0,MATCH(TRUE,INDEX(ISBLANK(Sheet1!$A:$A),0,0),0)-2)
AgoravocêpodemudarafórmulaemC1
paraisto(aindadigitadocomCtrl+Shift+Enter)
=IF(MAX(IFERROR(SEARCH(Keywords,$B2),0))>0,"yes","no")
Advertência # 1
SEARCH
não faz distinção entre maiúsculas e minúsculas. Se você quiser uma pesquisa que diferencia maiúsculas de minúsculas, substitua-a por FIND
.
Advertência # 2
A fórmula para o intervalo nomeado dinâmico pressupõe que não haja espaços em branco na lista de palavras-chave. Ele fará referência a todas as células de A2
até a célula antes do primeiro espaço em branco. Obviamente, isso também pressupõe que há um espaço em branco em A:A
, o que significa que sua lista de palavras-chave precisa ter menos de 1.048.575 itens.
Caveate # 3
Você pode fazer isso sem o intervalo nomeado, mas sua fórmula é longa e difícil de seguir. No entanto, ele mantém tudo empacotado em uma única fórmula. Se seus dados forem muito grandes, eu recomendaria o intervalo nomeado, pois isso acelera os cálculos. Para combinar tudo, a fórmula em C2
seria
=IF(MAX(IFERROR(SEARCH(OFFSET(Sheet1!$A$1,1,0,MATCH(TRUE,INDEX(ISBLANK(Sheet1!$A:$A),0,0),0)-2),$B2),0))>0,"yes","no")