• ベストアンサー

オートフィルタ #は使えない?

フィルタでこういうことはできないですか? A1→番号 A2→T1234 と言う文字が入っています。 この状態で1行目にフィルタをかけて、 抽出条件で「T####」を含む としてもT1234が引っかかりません。 Tで始まり、数字が4ケタ続く行を抽出したい場合 どうすればいいのでしょうか?

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

オートフィルタ(Excel)では「?」と「*」以外の文字では、検索などの処理を行うことはできません。 もし、大文字のTから始まってそのあとに4つの数字が入力されている行のみ抽出したいなら、以下のような数式を使用したフィルタオプションの設定を利用します。 準備として以下のような抽出条件の数式をC2セルに入力します(C1セルは空白または検索条件と入力しておけばよい)。 =AND(EXACT(LEFT(A2),"T"),ISNUMBER(MID(A2,2,4)*1)) データタブの「詳細設定」で、リスト範囲をA列のデータ範囲を選択し、検索条件範囲をC1:C2セルにしてOKすれば対象のデータが絞り込まれています。 ちなみに、上記の数式の意味は左1文字が大文字の「T」で2文字目から4文字分のテキストが数値という条件式になっています。 通常なら、上記の数式で対応できるのですが、例外的に2文字目から4文字の部分がすべて数字でない場合も数値と判断される文字列があります。 すなわち、T1.23などの文字列やT1-23などの文字列はその4文字が小数点の数値であったり、日付と認識され抽出対象になってしまいます。 これらを避けるには、以下のような数式で対応することになります(エラーは抽出対象外になります)。 =AND(EXACT(LEFT(A2),"T"),SUM(MID(A2,{2,3,4,5},1)*1))

ZYGMMMYTRDNP
質問者

お礼

ありがとうございました。

その他の回答 (2)

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

>Tで始まり、数字が4ケタ続く行を抽出したい エクセルのオートフィルタ(あるいは検索機能)はそこまで高性能ではないので,「4桁の数字」を検出する機能はありません。 敢えて出来るとすると,同じ内容をA列とB列に再掲しておいて A列は T???? と等しい さらに B列は T0000以上 かつ T9999以下 などのようにして,3段階で絞り込まないと出来ません。 #TabcdとかT001とかT12345とかを排除できないということです。  あなたの「実際のデータ」においてそういうのを無視してよければ,その条件を織り込んで手順を減らせる可能性はあります。 または隣のB列(あるいは離れたX列)に B2: =AND(LEFT(A2)="T",LEN(A2)=4,ISNUMBER(MID(A2,2,4)*1)) 以下コピー などのように検査列を用意,その結果でオートフィルタを使い絞り込む ような方法でもオートフィルタを使うことはできます。 何かの理由でどーしても列を増やしたくなければ,オートフィルタではなくフィルタの詳細設定(旧フィルタオプションの設定)を使い,条件(クライテリア)を前述したように作成して絞り込む方法もあります。

ZYGMMMYTRDNP
質問者

お礼

ありがとうございました。

  • slimebeth
  • ベストアンサー率61% (497/812)
回答No.1

>Tで始まり、数字が4ケタ続く行を抽出したい場合 その場合のワイルドカードは「?」を使います。 T???? ですね。

参考URL:
http://officetanaka.net/excel/excel2010/018.htm
ZYGMMMYTRDNP
質問者

お礼

ありがとうございました。