Respostas:
Tente usar isto:
=ISNUMBER(SEARCH("Some Text", A3))
Isso retornará TRUEse a célula A3contiver Some Text.
CONTAINS("Text", cell)função.
FIND()no lugar deSEARCH()
,invés de ;. Depois de alterar a fórmula fornecida =ISNUMBER(SEARCH("Some Text"; A3)), funcionou. Obrigado!
A fórmula a seguir determina se o texto "CHECK" aparece na célula C10. Caso contrário, o resultado está em branco. Se isso acontecer, o resultado é o trabalho "CHECK".
=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
Essa fórmula me parece mais intuitiva:
=SUBSTITUTE(A1,"SomeText","") <> A1
isso retornará TRUE se "SomeText" estiver contido em A1.
As fórmulas IsNumber / Search e IsError / Find mencionadas nas outras respostas certamente funcionam, mas sempre me pego precisando procurar a ajuda ou fazer experiências no Excel com muita frequência com essas.
Para aqueles que gostariam de fazer isso usando uma única função dentro da instrução IF, eu uso
=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)
para ver se o substring TEXT está na célula A1
[NOTA: O TEXTO precisa ter asteriscos em torno dele]
Confira a FIND()função no Excel.
Sintaxe:
FIND( substring, string, [start_position])
Retorna #VALUE!se não encontrar a substring.
ISNUMBERtambém funciona, apenas para correspondências que diferenciam maiúsculas de minúsculas.
Eu gosto da resposta Rink.Attendant.6. Na verdade, eu quero verificar várias seqüências de caracteres e fiz desta maneira:
Primeiro a situação: nomes que podem ser construtores de casas ou nomes de comunidades e eu preciso agrupar os construtores como um grupo. Para fazer isso, estou procurando a palavra "construtor" ou "construção" etc. etc.
=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
=OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*construction*"))?
COUNTIFS:COUNTIFS(A1,"*builder*",A1,"*construction*")
É uma pergunta antiga, mas acho que ainda é válida.
Como não há função CONTAINS, por que não declará-la no VBA? O código abaixo usa a função Instr VBA, que procura uma substring em uma string. Retorna 0 quando a sequência não é encontrada.
Public Function CONTAINS(TextString As String, SubString As String) As Integer
CONTAINS = InStr(1, TextString, SubString)
End Function
Esta é uma pergunta antiga, mas uma solução para aqueles que usam o Excel 2016 ou mais recente é que você pode remover a necessidade de estruturas aninhadas se usando a nova IFS( condition1, return1 [,condition2, return2] ...)condicional.
Eu o formatei para tornar visualmente mais claro como usá-lo para o caso desta pergunta:
=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)
Como SEARCHretorna um erro se uma string não for encontrada, envolvi-a com um ISERROR(...)=FALSEpara verificar a verdade e, em seguida, retorne o valor desejado. Seria ótimo se SEARCHretornado 0 em vez de um erro de legibilidade, mas é assim que infelizmente funciona.
Outra nota de importância é que IFSretornará a correspondência que encontrar primeiro e, portanto, a ordem é importante. Por exemplo, se minhas seqüências de caracteres fossem Surf, Surfing, Surfsas String1,String2,String3mencionadas acima e a sequência de células, Surfingela corresponderia no primeiro termo, em vez do segundo por causa da substring Surf. Assim, os denominadores comuns precisam ser os últimos da lista. Meu IFSprecisaria ser ordenado Surfing, Surfs, Surfpara funcionar corretamente (trocar Surfinge Surfstambém funcionaria neste exemplo simples), mas Surfprecisaria ser o último.
Aqui está a fórmula que estou usando
=IF( ISNUMBER(FIND(".",A1)), LEN(A1) - FIND(".",A1), 0 )
IFERROR(LEN(A1) - FIND(".", A1), 0)