[[20121202232431]] 『並べ替え』(二郎) ページの最後に飛ぶ

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

 

 『並べ替え』(二郎)

 A列を並べ替えをして、B列のようにしたいのですが教えてください。
 書式はすべて標準でAB-CDまでは同じです。

       A             B
 1  AB-CDE        AB-CDE                    
 2  AB-CDE-FG     AB-CDE
 3  AB-CDF        AB-CDF
 4  AB-CDE        AB-CDEFGH   
 5  AB-CDEFGH     AB-CDEFGH
 6  AB-CDEFGI     AB-CDEFGI
 7  AB-CDEFGH     AB-CDE-FG
 8  AB-CDE-FG     AB-CDE-FG
 9  AB-CDE-FG     AB-CDE-FG


 >B列のようにしたい

 > 3  AB-CDF        AB-CDF
 > 4  AB-CDE        AB-CDEFGH  
             ↑
            この順(Fの次にE が来る)がミスでないなら、
            並べ替えのルールを言葉でご説明いただけませんか?

            推測はできますが、確信が持てません。
           (早押しクイズが好きな回答者もいますけど)

 (半平太) 2012/12/03 09:10

長さが短い方を上、ということなのでしょう。

Sub test()

    Dim i As Long

    Columns("A").Replace What:="-", Replacement:="z"

    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        Cells(i, "A").Value = String(20 - Len(Cells(i, "A").Value), "!") & Cells(i, "A").Value
    Next i

    Columns("A").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
    Columns("A").Replace What:="z", Replacement:="-"
    Columns("A").Replace What:="!", Replacement:=""
End Sub

(???)


 B1 =(LEN(A1)-LEN(SUBSTITUTE(A1,"-",)))*1000+LEN(A1)
 下へコピー。

 B列昇順、A列昇順の順番設定で並び替え。

 ※@「-」の数 A文字数 Bアルファベット順 の降順順位考えで並び設定。

 (GobGob)

 半平太様、???様、GobGob様ありがとうございました。
 半平太様  AB-CDEFGH  
         ↑
         >この順(Fの次にE が来る)がミスでないなら、
         >並べ替えのルールを言葉でご説明いただけませんか?

 紛らわしくてすみません。これで間違いではありません。
 さらに質問ですが、C列に数値がありB列の種類に合わせて降順に並べ替え
 するにはどのような手段がありますか?教えてください。

       B             C
 1  AB-CDE          1.2                   
 2  AB-CDE          1.4
 3  AB-CDF          3.0
 4  AB-CDEFGH       2.8   
 5  AB-CDEFGH       1.3
 6  AB-CDEFGI      0.55
 7  AB-CDE-FG      1.37 
 8  AB-CDE-FG      1.21
 9  AB-CDE-FG       0.7

 (二郎)

 C1 =(LEN(A1)-LEN(SUBSTITUTE(A1,"-",)))*1000+LEN(A1)
 下へコピー。

 C列昇順、A列昇順、B列降順 の順番設定で並び替え。

 (GobGob)

並べ替えのルールを言葉でご説明いただけませんか?

 すみませんでした。もう一度説明をやり直します。
 以下A列の並べ替えのルールは、文字の長さが短い方を上にして、アルファベット順
 でなくても構いません。
 B列の数値はA列の種類に応じて降順に並べ替え、→から右のように並べ替えを
 したいでのですがご指導おねがいします。

      A               B      →       A     B   
 1  AB-CDE         1.2             AB-CDE       1.4                   
 2  AB-CDE-FG      1.37      AB-CDE       1.2
 3  AB-CDF         3.0       AB-CDF       3.0
 4  AB-CDE         1.4           AB-CDEFGH    2.8  
 5  AB-CDEFGH      1.3         AB-CDEFGH    1.3
 6  AB-CDEFGI      0.55        AB-CDEFGI    0.55
 7  AB-CDEFGH      2.8         AB-CDE-FG    1.37
 8  AB-CDE-FG      0.7             AB-CDE-FG    1.21
 9  AB-CDE-FG      1.21            AB-CDE-FG    0.7

 (二郎)

 GobGobさんの回答で旨くいきました。ありがとうございました。
 (二郎)

コメント返信:

[ 一覧(最新更新順) ]


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