Excel - Kuinka lajitellaan ja poistetaan tarpeeton arvo?

Ongelma

Olen yrittänyt lajitella potilastiedot meidän päivittäisessä työstämme laboratoriossa seuraavasti:

 "näyte ulkoinen ei" "viivakoodi" "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 kanuuni 5 156453 canno 8 159456 canno 20 145698 canno 25 123456 canno 45 154878 canno 48 124569 canno 1 750122 metamfo 2 112563 metamfo 15 162533 metamfo 28 112254 metamfo 15 162533 metamfo 28 112254 metamfo 15 162533 metamfo 28 112254 metamfo 45 metamfo 

jos nämä tiedot on puolet tehty vielä lajittelun keskellä, muuten ensimmäinen sarake on satunnainen, jos haluan saada lajittelun loppuun sarakkeen A perusteella nousevassa järjestyksessä, mutta se on sarakkeen C perusteella. sarake A, joka toistetaan sarakkeen CI eri arvolla, haluaisi, että se lajitellaan

 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 

Jos näin tapahtuu, otoksen löytäminen olisi melko helppoa. Voitko auttaa minua.

Ratkaisu

Tässä on makro, joka tekisi sen:

 Sub sortAndRemove () Dim lRow niin pitkään Dim sExtNum merkkijonoina s sararukko merkkisoluina.Valitse valinta.Sortti _ Näppäin1: = Alue ("A2"), _ Järjestys1: = xlAscending, _ Key2: = Alue ("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 = Solut (lRow, "A") sBarCode = Solut (lRow, "B") Tee vaikka (solut (lRow, "A") "" ) Jos solut (lRow + 1, "A") = sExtNum ja (solut (lRow + 1, "B") = sBarCode) Sitten jos solut (lRow, "C") "" sitten solut (lRow, "C") = Solut (lRow, "C") & ", " ja solut (lRow + 1, "C") Rivit (lRow + 1). Poista muut solut (lRow, "C") = solut (lRow + 1, C) ") Rivit (lRow + 1). Poista loppu Jos muut lRow = lRow + 1 sExtNum = solut (lRow, " A ") sBarCode = solut (lRow, " B ") Lopeta, jos silmukka solut. = Range ("C2"), _ Order1: = xlAscending, _ Key2: = Range ("A2"), _ Order2: = xlAscending, _ Key3: = Range ("B2"), _ Tilaa3: = xlAscending, _ Header: = xlYes, _ TilaaCustom: = 1, _ MatchCase: = False, _ Orientation: = xlTopToBottom, _ DataOption1: = xlSortNormal, _ DataOption2: = xlSortNormal, _ DataOption3: = xlSortNormal, _ DataOption3: = xlSortNormal, A2 ") Valitse End Sub 

Huomautus

Kiitos rizvisa1: stä tästä vinkistä foorumissa.

Edellinen Artikkeli Seuraava Artikkeli

Top Vinkkejä