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".

Respostas:


161

Você pode usar RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")

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.


@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")

-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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.