Βρείτε τη θέση της τελευταίας εμφάνισης ενός χαρακτήρα στο Excel

Σε αυτό το σεμινάριο, θα μάθετε πώς μπορείτε να βρείτε τη θέση της τελευταίας εμφάνισης ενός χαρακτήρα σε μια συμβολοσειρά στο Excel.

Πριν από λίγες μέρες, ένας συνάδελφος αντιμετώπισε αυτό το πρόβλημα.

Είχε μια λίστα διευθύνσεων URL όπως φαίνεται παρακάτω και έπρεπε να εξαγάγει όλους τους χαρακτήρες μετά την τελευταία κάθετο ("/").

Έτσι, για παράδειγμα, από τη διεύθυνση https://example.com/archive/Ιανουάριος έπρεπε να αποσπάσει τον «Ιανουάριο».

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

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

Σε τέτοιες περιπτώσεις, το κόλπο είναι να βρεθεί η θέση της τελευταίας εμφάνισης της καμπύλης προώθησης στη διεύθυνση URL.

Σε αυτό το σεμινάριο, θα σας δείξω δύο τρόπους για να το κάνετε αυτό:

  • Χρησιμοποιώντας έναν τύπο Excel
  • Χρήση προσαρμοσμένης λειτουργίας (δημιουργήθηκε μέσω VBA)

Λήψη της τελευταίας θέσης ενός χαρακτήρα χρησιμοποιώντας τον τύπο του Excel

Όταν έχετε τη θέση του τελευταίου συμβάντος, μπορείτε απλά να εξαγάγετε οτιδήποτε στα δεξιά του χρησιμοποιώντας τη συνάρτηση RIGHT.

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

= ΔΕΞΙΑ (A2, LEN (A2) -FIND ("@", SUBSTITUTE (A2, "/", "@", LEN (A2) -LEN (SUBSTITUTE (A2, "/", ""))), 1 )) 

Πώς λειτουργεί αυτός ο τύπος;

Ας αναλύσουμε τον τύπο και να εξηγήσουμε πώς λειτουργεί κάθε μέρος του.

  • ΑΝΤΙΚΑΤΑΣΤΑΣΗ (A2, ”/”,“”) - Αυτό το τμήμα του τύπου αντικαθιστά την πλάγια γραμμή με μια κενή συμβολοσειρά. Έτσι, για παράδειγμα, Σε περίπτωση που θέλετε να βρείτε την εμφάνιση οποιασδήποτε συμβολοσειράς εκτός από την κάθετο, χρησιμοποιήστε αυτήν εδώ.
  • LEN (A2) -LEN (SUBSTITUTE (A2, ”/”,“”)) - Αυτό το μέρος θα σας πει πόσες προεξοχές υπάρχουν στη συμβολοσειρά. Απλώς αφαιρεί το μήκος της συμβολοσειράς χωρίς την κάθετο προς τα εμπρός από το μήκος της συμβολοσειράς με μπροστινές πτώσεις.
  • ΑΝΤΙΚΑΤΑΣΤΑΣΗ (A2, ”/”, ”@”, LEN (A2) -LEN (SUBSTITUTE (A2, ”/”, ””))) - Αυτό το μέρος του τύπου θα αντικαταστήσει την τελευταία κάθετο προς τα εμπρός με @. Η ιδέα είναι να κάνουμε αυτόν τον χαρακτήρα μοναδικό. Μπορείτε να χρησιμοποιήσετε όποιον χαρακτήρα θέλετε. Απλά βεβαιωθείτε ότι είναι μοναδικό και δεν εμφανίζεται ήδη στη συμβολοσειρά.
  • FIND ("@", SUBSTITUTE (A2, "/", "@", LEN (A2) -LEN (SUBSTITUTE (A2, "/", ""))), 1) - Αυτό το μέρος του τύπου θα σας έδινε τη θέση της τελευταίας κλίσης προς τα εμπρός.
  • LEN (A2) -FIND ("@", SUBSTITUTE (A2, "/", "@", LEN (A2) -LEN (SUBSTITUTE (A2, "/", ""))), 1) - Αυτό το μέρος του τύπου θα μας πει πόσοι χαρακτήρες υπάρχουν μετά την τελευταία κάθετο προς τα εμπρός.
  • = ΔΕΞΙΑ (A2, LEN (A2) -FIND ("@", SUBSTITUTE (A2, "/", "@", LEN (A2) -LEN (SUBSTITUTE (A2, "/", ""))), 1 )) - Τώρα αυτό θα μας έδινε απλώς τη συμβολοσειρά μετά την τελευταία κάθετο προς τα εμπρός.

Λήψη της τελευταίας θέσης ενός χαρακτήρα χρησιμοποιώντας προσαρμοσμένη συνάρτηση (VBA)

Ενώ ο παραπάνω τύπος είναι υπέροχος και λειτουργεί σαν γούρι, είναι λίγο περίπλοκος.

Εάν αισθάνεστε άνετα χρησιμοποιώντας το VBA, μπορείτε να χρησιμοποιήσετε μια προσαρμοσμένη λειτουργία (που ονομάζεται επίσης συνάρτηση καθορισμένη από το χρήστη) που δημιουργήθηκε μέσω VBA. Αυτό μπορεί να απλοποιήσει τον τύπο και να εξοικονομήσει χρόνο εάν πρέπει να το κάνετε συχνά.

Ας χρησιμοποιήσουμε το ίδιο σύνολο δεδομένων URL (όπως φαίνεται παρακάτω):

Για αυτήν την περίπτωση, έχω δημιουργήσει μια συνάρτηση που ονομάζεται LastPosition, η οποία βρίσκει την τελευταία θέση του καθορισμένου χαρακτήρα (η οποία είναι μια κάθετη γραμμή σε αυτήν την περίπτωση).

Εδώ είναι ο τύπος που θα το κάνει αυτό:

= RIGHT (A2, LEN (A2) -LastPosition (A2, "/")+1)

Μπορείτε να δείτε ότι αυτό είναι πολύ πιο απλό από αυτό που χρησιμοποιήσαμε παραπάνω.

Εδώ είναι πώς λειτουργεί αυτό:

  • LastPosition - η οποία είναι η προσαρμοσμένη λειτουργία μας - επιστρέφει τη θέση του κάθετου. Αυτή η συνάρτηση παίρνει δύο ορίσματα - την αναφορά κελιού που έχει τη διεύθυνση URL και τον χαρακτήρα του οποίου τη θέση πρέπει να βρούμε.
  • Στη συνέχεια, η συνάρτηση RIGHT μας δίνει όλους τους χαρακτήρες μετά την κάθετο.

Εδώ είναι ο κώδικας VBA που δημιούργησε αυτήν τη λειτουργία:

Λειτουργία LastPosition (rCell As Range, rChar As String) 'Αυτή η λειτουργία δίνει την τελευταία θέση του καθορισμένου χαρακτήρα' Αυτός ο κωδικός έχει αναπτυχθεί από το Sumit Bansal (https://trumpexcel.com) Dim rLen As Integer rLen = Len (rCell) Για i = rLen Προς 1 Βήμα -1 Εάν Mid (rCell, i - 1, 1) = rChar Τότε LastPosition = i Έξοδος από τη Λειτουργία Τέλος Αν Επόμενο i Λειτουργία Τέλος

Για να λειτουργήσει αυτή η λειτουργία, πρέπει να την τοποθετήσετε στο VB Editor. Μόλις τελειώσετε, μπορείτε να χρησιμοποιήσετε αυτήν τη λειτουργία όπως οποιαδήποτε άλλη κανονική συνάρτηση Excel.

Ακολουθούν τα βήματα για να αντιγράψετε και να επικολλήσετε αυτόν τον κώδικα στο VB back-end:

Ακολουθούν τα βήματα για να τοποθετήσετε αυτόν τον κωδικό στο VB Editor:

  1. Μεταβείτε στην καρτέλα Προγραμματιστής.
  2. Κάντε κλικ στην επιλογή Visual Basic. Αυτό θα ανοίξει τον επεξεργαστή VB στο backend.
  3. Στο παράθυρο Project Explorer στο VB Editor, κάντε δεξί κλικ σε οποιοδήποτε αντικείμενο για το βιβλίο εργασίας στο οποίο θέλετε να εισαγάγετε τον κώδικα. Εάν δεν βλέπετε το Project Explorer, μεταβείτε στην καρτέλα Προβολή και κάντε κλικ στο Project Explorer.
  4. Μεταβείτε στην επιλογή Εισαγωγή και κάντε κλικ στην ενότητα. Αυτό θα εισαγάγει ένα αντικείμενο ενότητας για το βιβλίο εργασίας σας.
  5. Αντιγράψτε και επικολλήστε τον κώδικα στο παράθυρο της λειτουργικής μονάδας.

Τώρα ο τύπος θα είναι διαθέσιμος σε όλα τα φύλλα εργασίας του βιβλίου εργασίας.

Σημειώστε ότι πρέπει να αποθηκεύσετε το βιβλίο εργασίας ως μορφή .XLSM καθώς περιέχει μακροεντολή. Επίσης, εάν θέλετε αυτός ο τύπος να είναι διαθέσιμος σε όλα τα βιβλία εργασίας που χρησιμοποιείτε, μπορείτε είτε να το αποθηκεύσετε στο Personal Macro Workbook είτε να δημιουργήσετε ένα πρόσθετο από αυτό.

Μπορεί επίσης να σας αρέσουν τα ακόλουθα σεμινάρια Excel:

  • Πώς να αποκτήσετε τον αριθμό λέξεων στο Excel.
  • Πώς να χρησιμοποιήσετε το VLOOKUP με πολλαπλά κριτήρια.
  • Βρείτε την τελευταία εμφάνιση μιας τιμής αναζήτησης μιας λίστας στο Excel.
  • Εξαγωγή Substring στο Excel.

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave