回答:
これを使ってみてください:
=ISNUMBER(SEARCH("Some Text", A3))
TRUE
セルにA3
が含まれてSome Text
いる場合に返されます。
CONTAINS("Text", cell)
機能があればいいのですが。
FIND()
代わりに使用する必要がありますSEARCH()
,
代わりにを使用してエラーが発生しました;
。提供された式を変更した後、=ISNUMBER(SEARCH("Some Text"; A3))
それは機能しました。ありがとう!
次の数式は、セルC10にテキスト「CHECK」が表示されるかどうかを決定します。そうでない場合、結果は空白になります。もしそうなら、結果は作品「CHECK」です。
=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
この式は私にとってより直感的に見えます。
=SUBSTITUTE(A1,"SomeText","") <> A1
これは、「SomeText」がA1に含まれている場合にTRUEを返します。
他の回答で述べられているIsNumber / SearchおよびIsError / Findの数式は確かに機能しますが、ヘルプを調べたり、Excelでこれらの数式を何度も試したりする必要が常にあります。
FIND()
Excelで関数を確認してください。
構文:
FIND( substring, string, [start_position])
#VALUE!
部分文字列が見つからない場合に返します。
ISNUMBER
これにネストされても機能します。大文字と小文字が区別される一致に対してのみです。
私はRink.Attendant.6の答えが好きです。実際に複数の文字列をチェックしたいので、次のようにしました。
最初の状況:ホームビルダーまたはコミュニティ名にすることができる名前で、ビルダーを1つのグループとしてバケット化する必要があります。これを行うには、「ビルダー」または「建設」などの単語を探しています。
=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
=OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*construction*"))
?
COUNTIFS
:COUNTIFS(A1,"*builder*",A1,"*construction*")
古い質問ですが、まだ有効だと思います。
CONTAINS関数がないので、VBAで宣言してみませんか?以下のコードは、文字列内の部分文字列を検索するVBA Instr関数を使用しています。文字列が見つからない場合は0を返します。
Public Function CONTAINS(TextString As String, SubString As String) As Integer
CONTAINS = InStr(1, TextString, SubString)
End Function
これは古い質問ですが、Excel 2016以降を使用している場合の解決策は、新しいIFS( condition1, return1 [,condition2, return2] ...)
条件を使用してネストされたif構造の必要性を取り除くことができるということです。
この質問のケースで使用する方法を視覚的に明確にするためにフォーマットしました。
=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)
SEARCH
文字列が見つからない場合はエラーを返すのでISERROR(...)=FALSE
、真偽をチェックして必要な値を返すようにラップしました。SEARCH
読みやすさのためにエラーの代わりに0を返すのは素晴らしいことですが、それは残念ながらそれが機能する方法です。
重要なもう1つの注意事項は、IFS
最初に検出した一致を返すため、順序が重要であることです。例えば、私の文字列があった場合Surf, Surfing, Surfs
として、String1,String2,String3
上記と私の細胞列だったSurfing
ことが原因でサブストリングであることの第二のではなく、第一項に一致しますSurf
。したがって、一般的な分母はリストの最後にする必要があります。私IFS
はSurfing, Surfs, Surf
正しく動作するように注文する必要があります(スワッピングSurfing
とSurfs
この簡単な例でも動作します)が、Surf
最後に動作する必要があります。
これが私が使っている式です
=IF( ISNUMBER(FIND(".",A1)), LEN(A1) - FIND(".",A1), 0 )
IFERROR(LEN(A1) - FIND(".", A1), 0)