数値をワイルドカードでフィルタしたい
●質問:
Excelの表に記入された入力値に誤りが無いか、フィルタ機能で確認を試みています。
添付の画像のように入力されており、日付や名前はうまくフィルタ出来たのですが、「現場コード」(数値)がどうしてもうまくフィルタ出来ません。
桁数が多い、桁数が少ない、極端に数値が大きいor小さい、入力忘れ(空欄)など、明らかに入力ミスである項目を見つけるため、今までは「5?????」に等しくない値をフィルタしていました。
例では、4行目と6行目が引っかかることになりますが、どのようにすればフィルタ出来るでしょうか?
●経緯:
何故か今まではこの現場コードの欄が文字列になっているExcelデータが回ってきていたのですが、最近この現場コード欄が数値の状態のExcelが回ってくるようになり、それ以来「5?????」ではフィルタ出来なくなりました。(「等しくない」にすると、全行表示されたままです。)
そもそも、フィルタする際に[▼]ボタンを押したとき、[テキストフィルター]ではなく [数値フィルター]と言う項目があるのが原因ではないかと思います。
ネットで調べてみると、隣のセルに「=""&C2」のような式を入れてオートフィルし、その式を入力した列をフィルタすると言う方法はありましたが、現場コード欄が文字列で届いていたときはそのままフィルタ出来たのが不可解です。
C列の [セルの書式設定] にて、分類を「文字列」にしても、上述のフィルタに引っかかりません。
フィルタの[▼]ボタンを押した後に「5?????」を検索すれば該当行を導き出すことはできますが、試しにこの動作をマクロ記録機能にかけてみると、下記のように、検索で出てきた結果の値を直接指定したことになっています。
ActiveSheet.Range("$A$1:$C$6").AutoFilter Field:=3, Criteria1:=Array( _
"512013", "513572", "513842"), Operator:=xlFilterValues
最終的に、このフィルタの動作をマクロに組み込むことも考えているため、どのようにフィルタしようか判断に困っています。
どのような操作でフィルタをかければ、該当行(4行目と6行目)を見つけ出せるでしょうか?
●利用環境:
OS:Windows7
Excel2010
*画像の表は例です。記入している数値は実際に業務で使用したものではありません。
補足
ご回答誠にありがとうございました。 「0」のみをフィルターにかけましたが「0」の合計はやはり「0」でした。 小数点以下も数えていますが、1未満の値はありません。 ちなみにデータは9万行くらいあります。