Excel - Πώς να ταξινομήσετε και να διαγράψετε περιττή τιμή;

Θέμα

Προσπαθώ να ταξινομήσω τα στοιχεία των ασθενών μας στην καθημερινή μας εργασία στο εργαστήριο όπως παρακάτω:

 "δείγμα εξωτερικού όχι" "barcode" "προσδιορισμός" 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 κανό 45 154878 canno 48 124569 canno 1 750122 metamfo 2 112563 metamfo 15 162533 metamfo 28 112254 metamfo 45 154878 metamfo 48 124569 metamfo 

όπου αυτά τα δεδομένα γίνονται εν μέρει ακόμα εν μέσω της ταξινόμησης διαφορετικά η πρώτη στήλη θα είναι τυχαία όπου θέλω να πάρω το τέλος της διαλογής με βάση τη στήλη Α με αύξουσα σειρά αλλά αυτό είναι στη βάση της στήλης C. Εάν υπάρχει μια τιμή η στήλη Α που επαναλαμβάνεται με διαφορετική τιμή στη στήλη CI θα ήθελε να ταξινομηθεί ως

 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 κανό 25 123456 canno 2 112563 metamfo 28 112254 metamfo 

Εάν αυτό συμβαίνει, η εύρεση του δείγματος θα ήταν μάλλον εύκολη. Μπορείτε να με βοηθήσετε.

Λύση

Εδώ είναι η μακροεντολή που θα το κάνει:

 ΥποδιαίρεσηAndRemove () DimLRow Όπως μακρύ Dim sExtNum ως String Dim sBarCode ως στοιχειοκυττάρων.Επιλέξτε Selection.Sort _ Key1: = Εύρος ("A2"), _ Order1: = xLAscending, _ Key2: = Εύρος ("B2" _ Παραγγελία2: = xlAscending, _Κλειδί3: = Εύρος ("C2"), Παραγγελία3: = xlAscending, _ Header: = xlYes, _CustCustom: = 1, MatchCase: = False, Orientation: = xlTopToBottom, ("R", "A"), "", "" "" ) Αν τα κελιά (lRow +, "A") = sExtNum και (Κύτταρα (lRow + 1, "B") = sBarCode) (LRow + 1, "C") Σειρές (lRow + 1) .Αποκαταστήστε τα υπόλοιπα κύτταρα (lRow, "C") = Κύτταρα (lRow + 1, "C" ") Σειρά (lRow + 1). Διαγραφή άκρου Εάν το άλλος lRow = lRow + 1 sExtNum = Κύτταρα (lRow, " A ") sBarCode = = Εύρος ("C2"), _ τάξη1: = xlAscending, _ κλειδί2: = εύρος ("A2"), Order2: = xlAscending, _Ορισμός3: = xlAscending, _ Header: = xlYes, _CorderCustom: = 1, _ MatchCase: = False, _ Orientation: = xlTopToBottom, _DateOption1: = xlSortNormal, _DateOption2: = xlSortNormal, A2 ") 

Σημείωση

Χάρη στην rizvisa1 για αυτή την άκρη στο φόρουμ.

Προηγούμενο Άρθρο Επόμενο Άρθρο

Οι Καλύτερες Συμβουλές