- ベストアンサー
エクセルで数字を抽出後、降順に並べ替えたい
49通 52通 52通 48通 43通 36通 50通 のように並んでるデータがあります。 それを、『通』を除外して数字を抽出して、降順に並べ替えたいです。 違うセルに出てくる形でもOKなので教えていただけたらとても助かります。 今までは、区切り位置で『通』を消してそれから並べ替えをつかっていたのですが、ちょっと手間がかかるので、もっと速い方法があればと思って質問しました、よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
マクロを使うといいですね。 マクロ記憶という機能を使うと、新規でコーディングしなくても思い通りのコーディングができますよ(できないこともあるかもしれませんが……)。 私の方でやってみました。下記のようなコードになります。 Sub Macro1() Columns("C:C").Select Selection.Replace What:="通", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Sort Key1:=Range("C1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal End Sub ※データはC列に存在すると仮定しています 次からは、データ抽出後このマクロを実行するだけで一発で終了しますよ。
その他の回答 (3)
- mshr1962
- ベストアンサー率39% (7417/18945)
=VALUE(LEFT(A2,LEN(A2)-1)) とかで数値化して並べ替えの方が手間だと思いますが... 現状でなら、「編集」「置換」で「通」を「」に置換して削除後に 「セルの書式設定」「表示形式」をユーザー定義で「0"通"」のようにすれば 値は数値で、単位付きになります。
お礼
ありがとうございます! 単位付にするといいんですね。助かりました。通を消すことばかり考えていました。
- mu2011
- ベストアンサー率38% (1910/4994)
ご質問の意図が読み取れませんが、編集→置換の検索文字を通、置換後の文字列を未入力とし全て置換で如何でしょうか。
お礼
回答ありがとうございます! それでも「通」を外せますね、作業も若干短縮されるように思います。 それから、降順に並べ替えだと、合計の作業の手間はちょっと短縮されるのですが、できたら、一発で、数字のみで降順にしたいと思っています。
- sakemoni1008
- ベストアンサー率31% (317/992)
わざわざ通を外さないで、そのまま並べ替えをしても出来ますよ。
お礼
回答ありがとうございます! すみません、質問の仕方がわるかったみたいです汗。 最終的に欲しいデータは「通」をはずしたデータです。 それとも、並べ替えのオプションかなにかで、「通」も外せるということでしょうか?
お礼
回答ありがとうございます! このマクロはすごいですね! 一発で変換できました。自分もこういうマクロがかけるように精進します(Дヾ)・゜。