Verifique la celda para una letra específica o un conjunto de letras

124

En una hoja de cálculo de Google, quiero usar una fórmula que generará un determinado texto o número si una celda determinada contiene ciertas letras.

Por ejemplo, si pongo =IF(A1="Black";"YES";"NO")y A1 es igual a "Negro", genera "SÍ" correctamente. Sin embargo, cuando lo pongo =IF(A1="Bla";"YES";"NO")genera "NO". ¿Hay alguna fórmula que pueda usar que pueda decir algo así =IF(A1 CONTAINS "Bla";"YES";"NO")para que salga "SÍ"?

usuario1799724
fuente

Respuestas:

161

Puedes usar RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")
Flyingjamus
fuente
74

Algunas opciones sin REGEXMATCH, ya que es posible que no se distinga entre mayúsculas y minúsculas y no se quiera decir blasto ablativeactivar a YES. Usando una coma como delimitador, como en el OP, y por el momento ignorando la condición IF:

Primero muy similar a la respuesta de @ user1598086:

=FIND("bla",A1)

Es sensible a mayúsculas pero devuelve # ¡VALOR! en lugar de NOy un número en lugar de YES(sin embargo, ambos se pueden cambiar a NO / YES respectivamente).

=SEARCH("bla",A1)  

Sin distinción entre mayúsculas y minúsculas, por lo que trata Blacke blackigualmente. Vuelve como arriba.

El primero (para el último equivalente) para indicar si está blapresente después de los primeros tres caracteres en A1:

=FIND("bla",A1,4)  

Devuelve un número para blazer, blackpero #VALUE!para blazer, blue.

Para encontrar Blasolo cuando una palabra completa por sí sola (es decir, entre espacios, no al principio o al final de una 'oración'):

=SEARCH(" Bla ",A1) 

Dado que el retorno en todos los casos anteriores es un número ("encontrado", tan YESpreferido) o #VALUE!podemos usar ISERROR para probar #VALUE!dentro de una fórmula IF, por ejemplo tomando el primer ejemplo anterior:

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

Más largo que el regexmatchpero los componentes son fácilmente ajustables.

nueces
fuente
@KaiNoack es necesario sustituir ;por ,de cálculo de Google
Michael
@pnuts gran respuesta!
Michael
2

Puedes usar la siguiente fórmula,

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

Solo usa = IF(A1="Bla*","YES","NO"). Cuando inserta el asterisco, actúa como comodín para cualquier cantidad de caracteres después del texto especificado.

Tyler Depies-Bobrowitz
fuente
2
Esto no funciona. Probado: = if (N7 = "N *", 0,1) en un valor de celda de "NO, gracias" y devuelve "1"
Clay Nichols