• ベストアンサー

エクセル2000でオートフィルターオプション

1.列のデータにオートフィルターをかけ、N/A!やVALUE!等のエラー値と空白を除く、すべてを表示させようと思います。 試行錯誤の結果、抽出条件の指定を 「 "" より大きい 」 とするとうまく表示されるようです。 これは正しいでしょうか? 2.N/A!やVALUE!等のエラー値を除く、空白を含むすべてを表示させようと思います。 試行錯誤の結果、抽出条件の指定を 「 NULL より小さい 」 としてみるとうまく表示されるようです。 これは正しいでしょうか? 両方とも、理屈がわからないのでいまいち自信がありません。 ご教示いただけましたら幸いです。 (o。_。)oペコッ

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

>「 "" より大きい 」... >「 NULL より小さい 」... これが抽出条件のドロップダウンにそれぞれ『 "" 』と『 NULL 』という『文字列』を入れているという意味なら、 うまく表示されてるように見えても実際は正しくないのではないでしょうか。 『 "" 』という抽出条件では、『"』や『!』の文字列は抽出されませんし 『 NULL 』では『o』や『p』やひらがなや漢字は抽出されませんよね? データが数値ではなく文字列限定の場合、 エラー値と空白を除く、すべてを表示したい場合は 「 * 」「と等しい」で指定できるはずです。 エラー値を除く、空白を含むすべてを表示したい場合は 「 * 」「と等しい」 OR 「(空白)」「と等しい」 で指定できるはずです。 もし数値も含むようであれば、オートフィルタではなく[フィルタオプション]を使ったほうが良いです。 [XL2002]複雑な検索条件を使用してリストデータを抽出する方法 http://support.microsoft.com/kb/402757/ja この「II. 計算検索条件」あたりを参考にして 数式による検索条件を =NOT(ISERROR(A2)) や =NOT(OR(ISERROR(A2),ISBLANK(A2))) などにします。

merlionXX
質問者

お礼

やはりそうなんですね。 今回、テストしたのはエラー値と半角英字だけだったのでうまくいったように見えただけでした。 ありがとうございます。

その他の回答 (2)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.3

「2.」については理由の推測がつかず、また、こちらの環境では 再現もできませんでしたので、「1.」についてのみですが・・・ (Excel2003/WinXP) なお、以下の回答は、「当該列にあるのは、エラー以外は文字 列型のデータのみ」という前提となっています。 (こちらでのテスト結果では、数値型のデータについては抽出され  なかったため。もしもmerlionXXさんの環境で、数値も抽出対象に  なったとすると、これも「2.」と同様に再現しなかったことになるので  その場合は以下は的外れとなるので読み飛ばして戴いて構いません) > 「 "" より大きい 」 とするとうまく表示されるようです。 オートフィルタとは「指定した条件式がTrueを返す行のみを表示 (→True以外を返す行を非表示化)させる機能」だと思います。 「""より大きい」という条件は「「セルの値]>""」という式に相当する はずですが、文字列を「>」で比較した場合は、  ・対象文字が1文字の場合は、その文字コードで比較   (「""」は、ANSI(ASCII?)で「0」に相当するので多分最小扱い)  ・複数の場合は、左端の文字から順に比較   (文字数が少ない場合は、「""」扱い) となると思いますので、通常のデータが抽出されることについては 納得されているかと思います。 (どんな文字列も、最小の文字コードを持つ「""」よりは「大」とみなされる、と) 一方、「#N/A」などのエラー値は通常のデータとは異なるデータ型 のためか、「=」や「>」などの通常の比較演算子で評価を行うと、 エラー値が返されます。 従って、「#N/A」が表示された行は、条件式の結果が「True」には ならなかったことになり、表示対象外と判断される、と考えられます。 (エラー値が通常の定数と異なる型を持っているからこそ、エラーか  どうかをVBAなどで判定する際にはIsError関数などが必要:  通常データと同じ型なら、「該当する組み込み定数との比較」で  判定が可能になっているはず、と) ですので、「1.」については「正しい」と言えるかと思います。 ※数値型データの場合は、イミディエイトウィンドウで「?1<""」を  確認してもらうとわかりますが、データ型不一致とのエラーが  返され(=評価結果はTrueではなくエラー値)ますので、  「#N/A」等と同様に表示対象外になったものと思われます。

merlionXX
質問者

お礼

今回、テストしたのはエラー値と半角英字だけだったのでうまくいったように見えただけでした。 ありがとうございます。

回答No.1

merlionXXさん 今日は! ■オートフィルタで完全一致抽出を簡単に-オートフィルタボタン↓ http://www.relief.jp/itnote/archives/002204.php ■Excel(エクセル)基本講座:オートフィルタ(データ抽出)↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm ■Excel(エクセル)基本講座:データベース クエリ(データ抽出)↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter2.htm ■エラー値の非表示方法↓ http://homepage3.nifty.com/hhokadakek5/excel/kino0.htm 異常が参考に為るでしょう。

merlionXX
質問者

お礼

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