Isso é fácil de fazer com fórmulas.
Para simplificar, eu coloquei a matriz
em Colunas C
- N
(e além) da planilha primária;
movê-lo para outra folha (página / tab) é trivial.
Este é um trabalho para a função SEARCH
,
que procura uma string dentro da outra, como "anti" dentro de "frenética".
Nós vamos usá-lo para procurar por cada propriedade individual
(“Analgésico”, “antibacteriano”, etc.) na lista de propriedades
(“Anti-séptico, antifúngico, analgésico, antitumoral, etc.”).
SEARCH
retorna a posição da substring -
por exemplo, SEARCH("anti", "frantic")
retorna 3,
porque "a" é o terceiro personagem de "frenético".
Nós não nos importamos com isso; nos importamos com o fato de que,
se a primeira string estiver presente na segunda, SEARCH
retornará um número,
e caso contrário, retorna um erro.
Então, se colocarmos ISERROR(SEARCH(C$1, $B2))
na célula C2
,
ele retorna FALSE se "anti-séptico" ( C1
) estiver na lista de propriedades
para Lavender ( B2
) e TRUE caso contrário.
Então
=IF(ISERROR(SEARCH(C$1, $B2)), "", "x")
exibe x
se a propriedade estiver na lista e em branco se não estiver.
Mas isso é uma simplificação excessiva. Se uma lista de propriedades incluir "antibacteriano (poderoso)", então, uma pesquisa por "antibacteriano" será bem-sucedida. Sua ilustração da sua matriz desejada sugere que você não quer que isso aconteça. Há um truque padrão para isso: pesquisar "antibacteriano" (com vírgulas no começo e no fim) para encontrar "antibacteriano" como uma entrada completa na lista. Mas isso não vai corresponder se "antibacteriano" for a primeira ou a última entrada da lista - então adicionamos vírgulas no começo e no final da lista também.
Então, coloque =IF(ISERROR(SEARCH(", "&C$1&",", ", "&$B2&",")), "", "x")
na célula C2
e arraste para baixo e para a direita: