• ベストアンサー

EXCEL-複数列から特定内容の行のみ抽出

EXCEL2010です。 添付画像のように、「好物1~3」に入力されている内容で特定の文字(メロン)を含む行のみを抽出するにはどのようにしたらよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

貼付画像はExcel 2013で検証してた結果です。 Excel 2010でも同様な結果を得られると思います。 チョット面倒臭い数式になりますが次のようにされると良いでしょう。 A13=IFERROR(IF(INDEX($A$1:$E$6,SUMPRODUCT(SMALL(($C$2:$E$6="メロン")*ROW(A$2:A$6),COUNTIF($C$2:$E$6,"<>メロン")+ROW(A1))),COLUMN())<>"",INDEX($A$1:$E$6,SUMPRODUCT(SMALL(($C$2:$E$6="メロン")*ROW(A$2:A$6),COUNTIF($C$2:$E$6,"<>メロン")+ROW(A1))),COLUMN()),""),"") A13の数式を右と下へオートフィルでコピーしました。 上の表のデータが空欄のとき下の表に0を表示しても良ければIF関数を除けますので簡略化できます。 A13=IFERROR(INDEX($A$1:$E$6,SUMPRODUCT(SMALL(($C$2:$E$6="メロン")*ROW(A$2:A$6),COUNTIF($C$2:$E$6,"<>メロン")+ROW(A1))),COLUMN()),"")

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

添付図 A8にめろんを記入 A9に =INDEX(A:A,SMALL(IF($C$2:$E$6=$A$8,ROW($C$2:$E$6),9999),ROW(A1)))&"" と記入、必ずコントロールキーとシフトキーを押しながらEnterで入力 右に下にコピー。 #参考 F2: =IF(COUNTIF(C2:E2,"めろん"),"yes","") などのように記入して以下コピー F列をオートフィルタで絞ってしまった方が遥かに簡単かつ実用的で、応用の広いやり方です。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 たびたびごめんなさい。 前回のSheet1の作業列の数式が抜けていました。 前回の配置通りとしてSheet1の作業列G2セルの数式は =IF(COUNTIF(C2:E2,Sheet2!A$1),ROW(),"") としてフィルハンドルでずぃ~~~!っと下へコピーしておいてください。 どうも失礼しました。m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! ↓の画像のように別Sheetに表示させるとします。 作業用の列を設ける方法が簡単だと思います。 ↓の画像で上側が元データのSheet1、下側がSheet2とします。 Sheet2のA1セルに「特定内容」のデータを入力します。 画像ではSheet2のA4セルに =IFERROR(INDEX(Sheet1!A:A,SMALL(Sheet1!$G:$G,ROW(A1)))&"","") という数式を入れ、列・行方向にフィルハンドルでコピー! これで画像のような感じになります。m(_ _)m

関連するQ&A