Excel - Hogyan lehet rendezni és törölni a redundáns értéket?

Probléma

A laboratóriumban végzett napi munka során próbáltam a betegadatokat rendezni az alábbiak szerint:

 "minta külső nem" "vonalkód" "assay" 4 321456 amf 9 125487 amf 10 155886 amf 15 162533 amf 45 154878 amf 48 124569 amf 1 750122 bupo 5 156453 bupo 6 145896 bupo 10 155886 bupo 11 114456 bupo 13 357456 bupo 15 162533 bupo 17 789456 bupo 18 158456 bupo 45 154878 bupo 48 124569 bupo 1 750122 canno 5 156453 canno 8 159456 canno 20 145698 canno 25 123456 canno 45 154878 canno 48 124569 cannon 1 750122 metamfo 2 112563 metamfo 15 162533 metamfo 28 112254 metamfo 15 162533 metamfo 28 112254 metamfo 45 metamfo 

ahol ez az adat félig kész még a rendezés közepette, ellenkező esetben az első oszlop nem lesz olyan hely, ahol az A oszlop alapján növekvő sorrendben szeretném a válogatás végét elérni, de ez a C oszlop alapján történik. Az oszlopban a CI különböző értékkel megismétlődő A oszlop azt szeretné, hogy az oszlopot rendezze

 4 321456 amf 9 125487 amf 10 155886 amf, bupo, 15 162533 amf, bupo, metamfo 45 154878 amf, bupo, canno, metamfo 48 124569 amf, bupo, canno, metamfo 1 750122 bupo, canno, metamfo 5 156453 bupo, canno 6 145896 bupo 11 114456 bupo 13 357456 bupo 17 789456 bupo 18 158456 bupo 8 159456 canno 20 145698 canno 25 123456 canno 2 112563 metamfo 28 112254 metamfo 

Ha ez megtörténik, a minta megkeresése meglehetősen egyszerű lenne. Tudna nekem segíteni.

Megoldás

Itt van a makró, amely ezt tenné:

 Sub sortAndRemove () Dim lRow As Long Dim sExtNum mint karakterlánc Dim sBarCode mint String Cells.Select Selection.Sort _ Key1: = Tartomány ("A2"), _ Rend 1: = xlAscending, _ Key2: = Tartomány ("B2") _ Order2: = xlAscending, _ Key3: = Range ("C2"), _ Order3: = xlAscending, _ Header: = xlYes, _ OrderCustom: = 1, _ MatchCase: = False, _ Orientation: = xlTopToBottom, _ DataOption1: = xlSortNormal, _ DataOption2: = xlSortNormal, _ DataOption3: = xlSortNormal lRow = 2 sExtNum = cellák (lRow, "A") sBarCode = Cellák (lRow, "B") Végezzenek (cellák (lRow, "A") "" ) Ha a cellák (lRow + 1, "A") = sExtNum és (cellák (lRow + 1, "B") = sBarCode), akkor ha a cellák (lRow, "C") "" majd a cellák (lRow, "C") = Cellák (lRow, "C") & ", " & Cells (lRow + 1, "C") Sorok (lRow + 1). Else cellák törlése (lRow, "C") = Cellák (lRow + 1, C) ") Sorok (lRow + 1). Vége megszüntetése Ha további lRow = lRow + 1 sExtNum = Cellák (lRow, " A ") sBarCode = Cellák (lRow, " B ") Vége Ha Loop Cells.Select Selection. = Tartomány ("C2"), _ Rendelés1: = xlAscending, _ Key2: = Tartomány ("A2"), _ Rendelés2: = xlAscending, _ Kulcs3: = Tartomány ("B2"), _ Order3: = xlAscending, _ Header: = xlYes, _ OrderCustom: = 1, _ MatchCase: = False, _ Orientation: = xlTopToBottom, _ DataOption1: = xlSortNormal, _ DataOption2: = xlSortNormal, _ DataOption3: = xlSortNormal, A2 ") 

jegyzet

Köszönet a rizvisa1-nek a fórumon található tippért.

Előző Cikk Következő Cikk

Top Tippek