- ベストアンサー
Excel2003 オートフィルタで「~で始まる」が機能しません
いつもお世話になってます。 エクセルのオートフィルタ機能で特定の条件を満たす値(数値)を抽出したいのですが なぜか全く機能しません。 例えば、「123456」という文字列が縦列の中に含まれていて 「▼」をクリックして「オートフィルタオプション」より、 123「で始まる」値を抽出したいんですがHITしません。 しかし、123456「と等しい」であればHITするんです。 同様に、123456「より大きい」や123456「以上」もHITします。 セルの表示形式では「数値」になってます。 「標準」にしても「文字列」にしても同様の結果です。 「123456と等しい」のに123で始まらないの!? とグチを言いたくなるくらい困ってます・・・ どなたか、ヒントだけでもいいのでアドバイスお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>数千行もあるのですべてこのような作業ができません・・・ 一列作業列をとって、 例えばA列に数値が入力されているとしたら =TEXT("#",A1) と入力してフィルコピー(右下角をダブルクリック)します。 そうすれば、この列でフィルタが「で始まる」で使えると思います。
その他の回答 (3)
- kamejiro
- ベストアンサー率28% (136/479)
A2に番号「123456」が入っていた場合、B2に=LEFT(A2,3)と入れると、頭の3桁の「123」が表示されます。 A列の3行目以降に数千件の番号がある場合、 オートフィル機能かコピー・ペーストで、数千件分B2の関数をB列の3行目以降にコピーします。 オートフィルタ機能で、B列を「123」と等しいとすれば、「123」で始まる該当の列だけ表示されると思うのですが…。
お礼
この方法も試してみましたがうまくできました。 どうもありがとうございます。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
追加 セルの表示形式を文字列にしてから入力します。 あるいは、「'」(シングルクォーテーション)を頭に付けてから入力します。 (基本的な原因は数値になっているためです)
お礼
早速の回答ありがとうございます。 しかし、残念ながら「文字列」に変更しても解決しませんでした。 (手順:列ごと選択して「セルの書式設定」→「表示形式」で「文字列」を選択) 一つ気になることがあるのですが 列全体を「文字列」に変更すると10文字?以上の数列がプラスを含んだ値に変換されます。 (元は81901582****が、「8.9****E+11」となります。←電話番号なので*で伏字にしてます。) しかしセルをダブルクリックすると「文字列に保存されています」とエラーチェックが出ます。 この状態になるときちんと「で始まる」で抽出できました。 しかし、数千行もあるのですべてこのような作業ができません・・・
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
「文字列」にすれば機能します
お礼
できました! ただ、=TEXT("#",A1) ではなく =TEXT(A1,"#") のようですね。 あと、フィルコピーの機能も勉強になりました。 いままで縮尺を限界まで小さくして、一気にドラッグしてましたので・・・。 どうもありがとうございました。 近日中に締め切りたいと思います。