• ベストアンサー

エクセルで数字を抽出後、降順に並べ替えたい

49通 52通 52通 48通 43通 36通 50通 のように並んでるデータがあります。 それを、『通』を除外して数字を抽出して、降順に並べ替えたいです。 違うセルに出てくる形でもOKなので教えていただけたらとても助かります。 今までは、区切り位置で『通』を消してそれから並べ替えをつかっていたのですが、ちょっと手間がかかるので、もっと速い方法があればと思って質問しました、よろしくお願い致します。

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

  • ベストアンサー
  • motsu2006
  • ベストアンサー率37% (110/297)
回答No.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列に存在すると仮定しています 次からは、データ抽出後このマクロを実行するだけで一発で終了しますよ。

takasi9381
質問者

お礼

回答ありがとうございます! このマクロはすごいですね! 一発で変換できました。自分もこういうマクロがかけるように精進します(Дヾ)・゜。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

=VALUE(LEFT(A2,LEN(A2)-1)) とかで数値化して並べ替えの方が手間だと思いますが... 現状でなら、「編集」「置換」で「通」を「」に置換して削除後に 「セルの書式設定」「表示形式」をユーザー定義で「0"通"」のようにすれば 値は数値で、単位付きになります。

takasi9381
質問者

お礼

ありがとうございます! 単位付にするといいんですね。助かりました。通を消すことばかり考えていました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

ご質問の意図が読み取れませんが、編集→置換の検索文字を通、置換後の文字列を未入力とし全て置換で如何でしょうか。

takasi9381
質問者

お礼

回答ありがとうございます! それでも「通」を外せますね、作業も若干短縮されるように思います。 それから、降順に並べ替えだと、合計の作業の手間はちょっと短縮されるのですが、できたら、一発で、数字のみで降順にしたいと思っています。

回答No.1

わざわざ通を外さないで、そのまま並べ替えをしても出来ますよ。

takasi9381
質問者

お礼

回答ありがとうございます! すみません、質問の仕方がわるかったみたいです汗。 最終的に欲しいデータは「通」をはずしたデータです。 それとも、並べ替えのオプションかなにかで、「通」も外せるということでしょうか?