プロが教えるわが家の防犯対策術!

いつもお世話になってます。

エクセルのオートフィルタ機能で特定の条件を満たす値(数値)を抽出したいのですが
なぜか全く機能しません。

例えば、「123456」という文字列が縦列の中に含まれていて
「▼」をクリックして「オートフィルタオプション」より、
123「で始まる」値を抽出したいんですがHITしません。

しかし、123456「と等しい」であればHITするんです。
同様に、123456「より大きい」や123456「以上」もHITします。

セルの表示形式では「数値」になってます。
「標準」にしても「文字列」にしても同様の結果です。

「123456と等しい」のに123で始まらないの!?
とグチを言いたくなるくらい困ってます・・・

どなたか、ヒントだけでもいいのでアドバイスお願いします。

A 回答 (4件)

「文字列」にすれば機能します

    • good
    • 0

追加


セルの表示形式を文字列にしてから入力します。
あるいは、「'」(シングルクォーテーション)を頭に付けてから入力します。
(基本的な原因は数値になっているためです)
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

しかし、残念ながら「文字列」に変更しても解決しませんでした。
(手順:列ごと選択して「セルの書式設定」→「表示形式」で「文字列」を選択)

一つ気になることがあるのですが
列全体を「文字列」に変更すると10文字?以上の数列がプラスを含んだ値に変換されます。
(元は81901582****が、「8.9****E+11」となります。←電話番号なので*で伏字にしてます。)

しかしセルをダブルクリックすると「文字列に保存されています」とエラーチェックが出ます。
この状態になるときちんと「で始まる」で抽出できました。
しかし、数千行もあるのですべてこのような作業ができません・・・

お礼日時:2005/11/27 22:36

>数千行もあるのですべてこのような作業ができません・・・


一列作業列をとって、
例えばA列に数値が入力されているとしたら
=TEXT("#",A1)
と入力してフィルコピー(右下角をダブルクリック)します。
そうすれば、この列でフィルタが「で始まる」で使えると思います。
    • good
    • 1
この回答へのお礼

できました!

ただ、=TEXT("#",A1) ではなく =TEXT(A1,"#")
のようですね。
あと、フィルコピーの機能も勉強になりました。
いままで縮尺を限界まで小さくして、一気にドラッグしてましたので・・・。
どうもありがとうございました。
近日中に締め切りたいと思います。

お礼日時:2005/11/28 21:25

A2に番号「123456」が入っていた場合、B2に=LEFT(A2,3)と入れると、頭の3桁の「123」が表示されます。



A列の3行目以降に数千件の番号がある場合、
オートフィル機能かコピー・ペーストで、数千件分B2の関数をB列の3行目以降にコピーします。

オートフィルタ機能で、B列を「123」と等しいとすれば、「123」で始まる該当の列だけ表示されると思うのですが…。
    • good
    • 0
この回答へのお礼

この方法も試してみましたがうまくできました。
どうもありがとうございます。

お礼日時:2005/11/28 21:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!