[[20031203111041]] 『製品コード番号の下2桁が01と03のものを抽出』(へごま) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『製品コード番号の下2桁が01と03のものを抽出』(へごま)

製品コード番号の下2桁が01と03のものを抽出したいのですが、オートフィルタオプションの抽出条件の指定を使ってうまくいきません。うまい方法はないでしょうか?


 ドロップダウンリストの(オプション)で
 *01 と等しい
 OR
 *03 と等しい
 にしてOK
 (KAMIYA)



上記の方法だとうまく行きません。
何千件ものレコードが存在するのですが、1レコード(一番最初のレコード)しかヒットしないのです・・・・。自分でテストデータをつくってやるとうまく抽出してくれるのですが・・・・・。
(へごま)


 コード以降に半角スペース、全角スペースが入っているのではないですか?
 「編集」→「置換」で全角スペース、半角スペースを空白に置換してから
 上記方法を試してもだめでしょうか。
 テストでうまくいくのなら、問題ないはずです。
 簡易に調べるには、該当のデータを「右寄せ」表示にしてみて右側が
 セル枠からあいてしまうようならスペースが挿入されています。
 (KAMIYA)


 (1) > 1レコード(一番最初のレコード)しかヒットしない
  データの途中に空行があってそれ以降探していない可能性があります。

 (2)ドロップダウンリストの(オプション)で
  *01* と等しいで抽出して、最後が01のものが複数存在したら、
   スペースか何かが入っている可能性があります。

 (kazu)


 間違いを書いてしまいました。
 データ末尾の半角スペースはオートフィルタでは無視されます。
 全角スペースが入っていないか、確認してください。
 (KAMIYA)


 製品コード番号は英字なども含む文字列ですか?コードが 0〜9 だけで
構成されていて、数値として認識されているという事はないですか?(Yosh!)


回答頂きました皆さん、ありがとうございます。
Yosh!さんがご指摘頂きましたとおり、数字のみだったので文字列と認識されず
オートフィルのオプションを利用した抽出が出来ておりませんでした。
数値として認識されている場合のコードの場合、私の目的を果たす簡単な方法/お勧めの方法は
ございますでしょうか?(へごま)


 あの〜、天下のお歴々がそろい踏みしとるところへしゃしゃり出るんはなんなんですけ
 ど、マクロで処理ッちゅうんはあきまへんか?
 まぁ、そうっと置いとこ。
    (弥太郎)
 '----------------
 Sub selct()
    Dim c
    For Each c In Cells.SpecialCells(xlCellTypeConstants, xlNumbers)
        If Right(c, 2) = "03" Or Right(c, 2) = "01" Then
            i = i + 1
            Cells(i, 9) = c
                   '↑コレは9(I)列目に出力します
                   '必要な列に書き換えて下さい。

        End If
    Next c
 End Sub


 弥太郎さん、Yosh!です。衝突しました。

 私のはオートフィルタ用の列を作成する案です。
コードがA2〜A10に入っているとします。
・B2に =RIGHT(A2,2) としてB10までコピー ※RIGHTの結果は文字として認識されます。
・B列にオートフィルタのオプションを設定
 01 と等しい
   OR
 03 と等しい
(Yosh!)


 同じくオートフィルタ&作業列案。
 作業列に
 =MOD(A2,100)として必要範囲までコピー。(こちらは数値になります)
 作業列のオートフィルタのオプションで
 1 と等しい
   OR
 3 と等しい
(KAMIYA)


マクロの知識がない私にはYosh!さんのオートフィルを利用した方法がわかり易くて
良かったです。
回答頂きました皆さん、本当にありがとうございました。
(へごま)


 Oh! 「!」のハチマキがまぶしく見える!
     Good night (yatarou!)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.