- ベストアンサー
エクセルフィルタ機能1セルにカンマ区切り複数データ
エクセルで複数のデータがカンマ区切りで1つのセルに入っている場合のフィルタ方法について教えてください。 例えば A B 1 名前 動物 2 たろう いぬ,ねこ 3 はな ぞう 4 あき ぞう,いぬ B列からオートフィルター機能のように'いぬ'を選択していぬを抽出し2と4の行を表示させるにはどうしたらよいでしょうか。エクセル初心者です。どなたか設定方法を教えていただけますでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
標準的なオートフィルタの機能で「いぬ」を含む行を抽出することができます。 ご使用のバージョンがExcel2007なら、オートフィルタの▼をクリックし、テキストフィルタから「指定の値を含む」から「いぬ」を含むでフィルタしてください。 ちなみに、数式で抽出するなら、以下のような数式になります。 =INDEX(A:A,SMALL(INDEX(ISERROR(FIND("いぬ",$B$2:$B$100))*10000+ROW($B$2:$B$100),),ROW(A1)))&"" 上記の式を入力し、右方向に1つ、下方向に適当数オートフィルしてください。 Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、ご質問の際には必ずバージョンを明記するようにしましょう。
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
No.1です! たびたびごめんなさい。 前回の作業用の列の数式を変更してください。 前回の式ですとE2セルが空白の場合すべてが表示されてしまいます。 作業列C2セルの数式は =IF($E$2="","",IF(ISNUMBER(FIND($E$2,B2)),ROW(),"")) です。 何度も失礼しました。m(__)m
お礼
tomo04さん、早速のご回答ありがとうございます! また、現在使っているバージョンがexcelバージョン2000でできました。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 ↓の画像のように作業用の列を設けます。 作業列DC2セルに =IF(ISNUMBER(FIND($E$2,B2)),ROW(),"") という数式を入れオートフィルで下へずぃ~~~!っとコピー! そしてF2セルに =IF(COUNT($C:$C)<ROW(A1),"",INDEX(A:A,SMALL($C:$C,ROW(A1)))) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 これでE2セルに検索したい文字列の1文字でも入力すれば B列にその文字列を含んだものが表示できます。 以上、参考になれば良いのですが・・・m(__)m
お礼
MackyNo1さん、ご回答ありがとうございます。 現バージョンはバージョン2000でした。。古いですね。 実際困っているデータは複数の列にも同様に1セルの中にカンマ区切りの情報があって、 それを1列の条件で抽出したあと、他の列の条件で更に抽出して絞り込んでいく方法を とりたかったのです。 バージョンアップが楽な方法のようですね。 ありがとうございました!