web-dev-qa-db-ja.com

セルにサブストリングが含まれているかどうかを確認してください

セルに与えられた文字/部分文字列が含まれているかどうかを調べるための組み込み関数はありますか?

区切り文字がないときにエラーをスローすることなく、Left/Right/Midのようなテキスト関数を条件付きで適用できることを意味します。

207
geotheory

これを使ってみてください。

=ISNUMBER(SEARCH("Some Text", A3))

セルA3Some Textが含まれる場合、これはTRUEを返します。

348
gwin003

次の数式は、テキスト "CHECK"がセルC10に表示されるかどうかを決定します。そうでない場合、結果は空白です。もしそうであれば、結果は仕事「CHECK」です。

=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
20
Steve

IFステートメント内の単一の関数を使用してこれを行いたい人のために、私は使用します

=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)

サブストリングTEXTがセルA1にあるかどうかを確認する

[注:TEXTにはアスタリスクが必要です]

12
dsm

この式は私にとって直感的に思えます。

=SUBSTITUTE(A1,"SomeText","") <> A1

"SomeText"がA1に含まれる場合、これはTRUEを返します。

他の回答に記載されているIsNumber/SearchおよびIsError/Findの式は確かに機能しますが、私は常にヘルプを見たりExcelで試したりする必要があることに気付きます。

10
Warren Stevens

ExcelのFIND()関数をチェックしてください。

構文:

FIND( substring, string, [start_position])

部分文字列が見つからない場合は#VALUE!を返します。

8
paras_doshi

私はRink.Attendant.6の回答が好きです。私は実際には複数の文字列をチェックしたいと思い、それをこのようにしました:

まず状況:住宅建設業者やコミュニティの名前になることができる名前と私は1つのグループとして建築業者をまとめる必要があります。これを行うには、私は単語 "ビルダー"または "建設"などを探しています。

=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
1
Givings

これは古い質問ですが、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"
)

文字列が見つからない場合はSEARCHname__がエラーを返すので、私はそれをISERROR(...)=FALSEでラップして真実をチェックしてから必要な値を返します。読みやすさのためにSEARCHname__がエラーではなく0を返した場合は、それは素晴らしいことですが、残念ながらそれだけで動作します。

もう1つの重要な注意点は、IFSname__は最初に見つかった一致を返すため、順序付けが重要です。たとえば、上記のSurf, Surfing, Surfsのように私の文字列がString1,String2,String3で、私のセルの文字列がSurfingname__の場合、部分文字列がSurfname__であるため、2番目の用語ではなく最初の用語で一致します。したがって、共通の分母はリストの最後にある必要があります。私のIFSname__は、正しく機能するようにSurfing, Surfs, Surfの順序にする必要があります(この簡単な例では、Surfingname__とSurfsname__の入れ替えも機能します)が、Surfname__は最後にする必要があります。

0
Shawn