• ベストアンサー

エクセルの検索・表示機能について

エクセル2000を使用しているのですが、エクセルのシートに時系列で縦に膨大なデータがあるのですが、その中から「ABC」と言う文字と「DEF」という文字両方を含んでいる行だけを表示させ、最終は印刷をしたいのですが、どのようにすればよいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

関数とオートフィルタで可能です。 印刷範囲をあらかじめ設定しておき、印刷範囲外の列の一行目に下記の関数式を入力します。  =ISERROR(FIND("ABC",A1,1)+FIND("DEF",A1,1)) A1の部分は文字列を検索する対象セルです。 対象の文字列があればFALSEを返し、 対象の文字列がなければTRUEを返してきます。 次に入力した列を選択し、Ctrlキーを押しながらDキーを押します。 これで関数式を入力した列いっぱいに式が複写されます。 複写された式の行に当たる部分は自動で変更されるので A1 にあたる箇所を修正する必要はありません。 あとは関数式を入力した列にオートフィルタを設定して、【FALSE】のみ抽出してください。 複数の列に検索する文字が散らばっている場合は、上の関数式の A1 を CONCATENATE(A1,"/",B1,"/",C1) などに置き換えて文字を繋げてください。  "/" は隣り合うセルの文字が直接繋がることを避けるために挿入する適当な文字です。 置き換えることなく、別の列に関数式を記述してその列を参照しても同じ結果を得られます。 使用している関数は  FIND  ISERROR  CONCATENATE の3つです。 文字列をFIND関数で探しますが、文字列が見つかった場合は数値が帰りますが、みつからなかった場合エラーになります。 エラーでなければ文字列が含まれるのでISERROR関数で判定しています。 CONCATENATE関数は文字を繋げているだけですので、A1&"/"&B1&"/"&C1 と置き換えることもできます。

11b87trip
質問者

お礼

回答ありがとうございました。 参考になりました。

その他の回答 (1)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.2

◆関数とオートフィルタでのよるものに、こんな方法もありますよ ◆=COUNTIF(A1,"*ABC*")*COUNTIF(A1,"*DEF*") ◆「ABC」と言う文字と「DEF」という文字両方を含んでいれば、「1」が、それ以外は「0」になります ◆オートフィルタで、この列を「1」でフィルタしてください

11b87trip
質問者

お礼

回答ありがとうございました。 参考になりました。

関連するQ&A