この便利な数式を使用して、Excel のセル内の用語を検索します。
=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")
この式は、C1 に Gingrich が存在するかどうかを検索し、存在する場合は 1 を表示します。
一度に複数の用語を検索したいだけです。これにOR関数を追加する方法を知っている人は誰でも、Gingrich、Obama、Romneyなどを検索できます...?
この便利な数式を使用して、Excel のセル内の用語を検索します。
=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")
この式は、C1 に Gingrich が存在するかどうかを検索し、存在する場合は 1 を表示します。
一度に複数の用語を検索したいだけです。これにOR関数を追加する方法を知っている人は誰でも、Gingrich、Obama、Romneyなどを検索できます...?
別の方法
=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH({"Gingrich","Obama","Romney"},C1)))))>0,"1","")
また、たとえばA1からA3までの値のリストを保持している場合は、次を使用できます
=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($A$1:$A$3,C1)))))>0,"1","")
Search() 関数では見つかった文字列の位置が返されるため、ワイルドカードはまったく必要ありません。
このようなCOUNT関数を使用してみてください
=IF(COUNT(SEARCH({"Romney","Obama","Gingrich"},C1)),1,"")
ワイルドカードは必要ないことに注意してください(teylynが言うように)。特定の理由がない限り、「1」は引用符を必要としません(実際にはテキスト値になります)
これはあなたのためにそれを行います:
=IF(OR(ISNUMBER(SEARCH("Gingrich",C3)),ISNUMBER(SEARCH("Obama",C3))),"1","")
名前の右側の列 (列 C にあります) にこの関数を指定すると、結果は次のようになります。
Romney
Gingrich 1
Obama 1
@teylynの回答に加えて、複数の検索用語の文字列をSINGLEセル内に配置できることを追加したいと思います(用語ごとに異なるセルを使用し、その範囲を への引数として使用するのではなくSEARCH
)、このリンクから見つけた名前付き範囲とEVALUATE
関数。
たとえば、セルに次の用語をテキストとして入力します$G$1
。
"PRB", "utilization", "alignment", "spectrum"
search_terms
次に、上記のリンクで説明し、下の図に示すように、そのセルに名前を付けた名前付き範囲を定義しました。
Refers to:
フィールドに次のように入力します。
=EVALUATE("{" & TDoc_List!$G$1 & "}")
上記のEVALUATE
式は、リテラル文字列をエミュレートするために単純に使用されます
{"PRB", "utilization", "alignment", "spectrum"}
関数への入力として使用する: 内部で SINGLE セル(その場合は中括弧で補強)SEARCH
への直接参照を使用しても機能しないため、名前付き範囲と.$G$1
SEARCH
EVALUATE
トリックは、 への直接参照を -augmented 名前付き範囲 に置き換えることに$G$1
ありEVALUATE
ますsearch_terms
。
これは実際に機能し、Excel が実際にどれほど強力であるかをもう一度示しています。
お役に立てれば。