返回列表 上一主題 發帖

[發問] excel 中文+數字的排序

[發問] excel 中文+數字的排序

每次客戶給我的資料會有甲1~甲1000以上
跟乙1~乙1000以上
總共會有2000筆資料以上
排序是亂的

我想要排成
甲1~甲1000多  再來乙1~乙1000多

如果用內建的排序A~Z
會變成乙1乙10乙100......甲998甲999
變成這樣的排序

用內建的排序Z~A
會變成甲999甲998.......乙100乙10乙1

本來想用自訂清單的功能
但數量好像有限制

用內建的自訂清單有個甲,乙,丙......
但排了也還是乙在前面

回復 1# e86137

建議可以甲、乙資料分開各別排序後再結合一起,謝謝

TOP

回復 1# e86137


    如果資料在A欄
1.複製一份到B欄
2.另複製一份到D欄
3.B欄選取以 甲 做為分隔符號剖析得到C欄數字
4.D欄選取以 乙 做為分隔符號剖析得到E欄數字
5.以C.E欄做排序
以上參考
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

回復 1# e86137

資料A欄(A1是項目,從A2開始是資料甲或乙),請測試看看,謝謝

Sub test()
Dim Arr, i&
Arr = Range([c1], [a65536].End(3))
For i = 2 To UBound(Arr)
    Arr(i, 2) = Left(Arr(i, 1), 1)
    Arr(i, 3) = Mid(Arr(i, 1), 2)
Next
[a1].Resize(UBound(Arr), 3) = Arr
With [a1].Resize(UBound(Arr), 3)
    .Sort Key1:=.Item(2), Order1:=2, _
    Key2:=.Item(3), Order2:=1, Header:=xlYes
End With
Range("B2:C" & UBound(Arr)) = ""
End Sub

TOP

回復 5# samwang


成功了
這個方式也很方便!!!
感謝分享~

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題