- ベストアンサー
エクセルでこんな関数ありますか?
ある文字列から特定の文字を含んだものを抽出したいのです。 例えば、品名が ABCDE ABCDD ABBDE BCBCD の場合、「CD」を含んだものを抽出する場合、 IF(セル="*CD*","有","無し") のような式で出せると思ったのですが、うまくいきません。 要は「フィルター機能」の「オプション」の「○○を含む」機能と同等の関数がないかと。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 SEARCH関数だと、アルファベットの大文字と小文字の区別が出来ません。 大文字と小文字を区別したい場合は、FIND関数を使用します。 =IF(ISNUMBER(FIND("CD",A1)),"有","無し") なお、今回の場合だと、ISNUMBERとISERRORはちょうど反対の判定結果になります。 ちなみに、No.2の方の回答にあるように、 「ISERROR()=FALSE」 とすると、判定を1回余分に行うことになります。 (まあ、たいしたことではないんですが。)
その他の回答 (5)
- AloneAgain
- ベストアンサー率71% (285/400)
No.5です。 もし、No.5 の方法を試されるのであれば、 B2 に入れる数式を↓に変更してください。 --------------------------------------- =IF(AND($D$1<>"", ISNUMBER(FIND($D$1,A2))),ROW(A1),"") --------------------------------------- 以下、B50までオートフィルでコピーしてください。 (↑ B列を作業列として使い、品名データが50行以内に収まるとして)
- AloneAgain
- ベストアンサー率71% (285/400)
こんにちは。 >「フィルター機能」の「オプション」の「○○を含む」機能と同等の関数 …というのは、 たとえば、D1に CDと入力すれば、"CD"という文字列を含む品名が D3以下に表示される、 というような意味でしょうか? もしそうであれば、以下のようにしてみてください。 *** ※D1に検索文字列を入れると、D3以下に該当する品名を抽出します。 ※品名が A列にあり、1行目が見出し、データはA2:A50の範囲内にあるとします。 作業列を使う方法です。 ここではB列を使います。 B列にすでにデータがある場合は、列を挿入してください。 ※あとでB列を非表示にすればいいのですが、 別に作業列はどの列でもかまいません。 たとえば P列とかQ列とかでも。 *** B2 に↓を入れ、以下オートフィルでコピー --------------------------------------- =IF(ISNUMBER(FIND($D$1,A2)),ROW(A1),"") --------------------------------------- ROW(A1) の A1 は、作業列を何行目から始めるかに関係なく、 先頭のセルは、必ず A1 にしておいてください。 D3 に↓を入れ、以下、A列のデータ数分、オートフィルでコピー -------------------------------------------------------------- =IF(COUNT(B:B)<ROW(A1),"",INDEX($A$2:$A$50,SMALL(B:B,ROW(A1)))) -------------------------------------------------------------- 上に同じく、先頭のセルは、ROW(A1) のままにしておいてください。 *** D1 に CD と入力すると、 D3セル以下に CDという文字列を含む品名が抽出されます。 データ範囲、セル位置は実際の表に合わせて変更してください。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
IF(COUNTIF(セル,"*CD*"),"有","無し") それとも IF(COUNTIF(セル,"*CD*"),セル,"")
- puzou
- ベストアンサー率35% (102/284)
=IF(ISERROR(SEARCH("CD",A1)))=FALSE,"有","無し") でできますよ。 SEARCH関数は特定の文字列を指定範囲から探し出す関数。 (もし見つからない場合は#VALUE!を返します) ISERROR関数はエラーかどうかを判別する関数です。
- mu2011
- ベストアンサー率38% (1910/4994)
以下の関数では如何でしょうか。 =IF(COUNTIF(範囲,検索値),”有”,”無”)