Verificar célula para uma letra específica ou conjunto de letras

124

Em uma planilha do Google, desejo usar uma fórmula que produza um determinado texto ou número se uma determinada célula contiver determinadas letras.

Por exemplo, se eu colocar =IF(A1="Black";"YES";"NO")e A1 for igual a "Preto" - ele gera "SIM" corretamente. No entanto, quando eu colocá- =IF(A1="Bla";"YES";"NO")lo emite "NÃO". Existe alguma fórmula que eu possa usar que eu possa dizer algo parecido, =IF(A1 CONTAINS "Bla";"YES";"NO")para que saia "SIM".

user1799724
fonte

Respostas:

161

Você pode usar RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")
flyingjamus
fonte
74

Algumas opções sem REGEXMATCH, pois você pode querer fazer distinção entre maiúsculas e minúsculas e não querer dizer blastou ablativeacionar a YES. Usando vírgula como delimitador, como no OP, e por enquanto ignorando a condição SE:

Primeiro muito semelhante à resposta de @ user1598086:

=FIND("bla",A1)

Faz distinção entre maiúsculas e minúsculas, mas retorna #VALUE! em vez de NOe um número em vez de YES(no entanto, ambos podem ser alterados para NÃO / SIM, respectivamente).

=SEARCH("bla",A1)  

Não faz distinção entre maiúsculas e minúsculas, portanto trata Blacke blackigualmente. Retorna como acima.

O primeiro (para o último equivalente) para indicar se está blapresente após os três primeiros caracteres em A1:

=FIND("bla",A1,4)  

Retorna um número para blazer, blackmas #VALUE!para blazer, blue.

Para encontrar Blaapenas quando uma palavra completa por si só (ou seja, entre espaços - não no início ou no final de uma 'frase'):

=SEARCH(" Bla ",A1) 

Como o retorno em todos os casos acima é um número ("encontrado", de YESpreferência)) ou #VALUE!podemos usar ISERROR para testar #VALUE!dentro de uma fórmula IF, por exemplo, usando o primeiro exemplo acima:

 =if(iserror(FIND("bla",A1)),"NO","YES")  

Mais do que o regexmatchmas os componentes são facilmente ajustáveis.

nozes
fonte
@KaiNoack você precisa substituir ;por ,no Google Spreadsheet
Michael
@pnuts ótima resposta!
Michael
2

Você pode usar a seguinte fórmula,

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
imbond
fonte
-8

Basta usar = IF(A1="Bla*","YES","NO"). Quando você insere o asterisco, ele atua como um curinga para qualquer quantidade de caracteres após o texto especificado.

Tyler Depies-Bobrowitz
fonte
2
Isso não funciona. Tentei: = if (N7 = "N *", 0,1) em um valor de célula de "NÃO, obrigado" e ele retorna "1" #
31416 Clay Nichols