Πώς να μετατρέψετε τη συμβολοσειρά κειμένου σε σωστή περίπτωση με εξαιρέσεις στο Excel;
Στο Excel, μπορείτε να εφαρμόσετε τη συνάρτηση Proper για να μετατρέψετε εύκολα τις συμβολοσειρές κειμένου σε σωστή περίπτωση, αλλά, μερικές φορές, πρέπει να εξαιρέσετε ορισμένες συγκεκριμένες λέξεις κατά τη μετατροπή των συμβολοσειρών κειμένου στην κατάλληλη υπόθεση όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης. Αυτό το άρθρο, θα μιλήσω για μερικά γρήγορα κόλπα για την επίλυση αυτής της εργασίας στο Excel.
Μετατρέψτε τις συμβολοσειρές κειμένου σε σωστή περίπτωση με εξαιρέσεις χρησιμοποιώντας τον τύπο
Μετατροπή συμβολοσειρών κειμένου σε σωστή περίπτωση με εξαιρέσεις χρησιμοποιώντας τον κώδικα VBA
Μετατρέψτε τις συμβολοσειρές κειμένου σε σωστή περίπτωση με εξαιρέσεις χρησιμοποιώντας τον τύπο
Ίσως η ακόλουθη φόρμουλα να σας βοηθήσει να αντιμετωπίσετε αυτήν την εργασία γρήγορα, κάντε το ως εξής:
Εισαγάγετε αυτόν τον τύπο:
= ΑΝΩ (ΑΡΙΣΤΕΡΟ (A2)) & MID (ΤΡΙΜ (ΥΠΟΣΤΥΠΟΥΤΟΣ (ΥΠΟΣΤΥΠΟΥΤΟΣ (ΥΠΟΣΤΥΠΟΥΤΟΣ (ΥΠΟΤΥΠΤΟΣ ("" & PROPER (A2) & "", "Of", "of"), "A", "a"), "Is "," είναι ")," ΗΠΑ "," ΗΠΑ ")), 2, LEN (A2)) σε ένα κελί όπου θέλετε να λάβετε το αποτέλεσμα και, στη συνέχεια, σύρετε τη λαβή πλήρωσης για να συμπληρώσετε αυτόν τον τύπο και οι συμβολοσειρές κειμένου έχουν μετατραπεί σε σωστή περίπτωση, αλλά συγκεκριμένες εξαιρέσεις, δείτε το στιγμιότυπο οθόνης:
Σημείωση: Στον παραπάνω τύπο, A2 είναι το κελί που θέλετε να μετατρέψετε, «Από», «Α», «είναι», «ΗΠΑ» είναι οι κανονικές σωστές λέξεις μετά τη μετατροπή, "Of", "a", "is", "USA" είναι οι λέξεις που θέλετε να εξαιρέσετε από τη σωστή περίπτωση. Μπορείτε να τις αλλάξετε ανάλογα με τις ανάγκες σας ή να προσθέσετε άλλες λέξεις με τη συνάρτηση SUBSTITUTE.
Μετατροπή συμβολοσειρών κειμένου σε σωστή περίπτωση με εξαιρέσεις χρησιμοποιώντας τον κώδικα VBA
Εάν ο παραπάνω τύπος είναι κάπως δύσκολο να κατανοηθεί και να αλλάξει ανάλογα με τις ανάγκες σας, εδώ, μπορείτε επίσης να εφαρμόσετε έναν κωδικό VBA για να ολοκληρώσετε αυτήν την εργασία. Κάντε τα παρακάτω βήματα ένα προς ένα.
1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Microsoft Visual Basic για εφαρμογές παράθυρο.
2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο Παράθυρο ενότητας.
Κωδικός VBA: μετατροπή συμβολοσειρών κειμένου στην κατάλληλη περίπτωση με εξαιρέσεις:
Sub CellsValueChange()
'Updateby Extendoffice
Dim xSRg As Range
Dim xDRg As Range
Dim xPRg As Range
Dim xSRgArea As Range
Dim xRgVal As String
Dim xAddress As String
Dim I As Long
Dim K As Long
Dim KK As Long
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
If xSRg Is Nothing Then Exit Sub
Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
If xDRg Is Nothing Then Exit Sub
Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
If xPRg Is Nothing Then Exit Sub
Set xDRg = xDRg(1)
For I = 1 To xSRg.Areas.Count
Set xSRgArea = xSRg.Areas.Item(I)
For K = 1 To xSRgArea.Count
xRgVal = xSRgArea(K).Value
If Not IsNumeric(xRgVal) Then
xRgVal = CorrectCase(xRgVal, xPRg)
xDRg.Offset(KK).Value = xRgVal
End If
KK = KK + 1
Next
Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
Dim xArrWords As Variant
Dim I As Integer
Dim xPointer As Integer
Dim xVal As String
xPointer = 1
xVal = xRgVal
xArrWords = WordsOf(xRgVal)
For I = 0 To UBound(xArrWords)
xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
Debug.Print xPointer
Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
Next I
CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
Dim xDelimiters As Variant
Dim xArrRtn As Variant
xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
For Each xEachDelimiter In xDelimiters
xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
Next xEachDelimiter
xArrRtn = Split(Trim(xRgVal), " ")
WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
With xERg
If IsError(Application.Match(xArrWord, .Cells, 0)) Then
CorrectCaseOneWord = Application.Proper(xArrWord)
Else
CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
End If
End With
End Function
3. Στη συνέχεια πατήστε F5 κλειδί για την εκτέλεση αυτού του κώδικα και εμφανίζεται ένα πλαίσιο προτροπής για να σας υπενθυμίσει να επιλέξετε τα αρχικά κελιά που θέλετε να μετατρέψετε, δείτε το στιγμιότυπο οθόνης:
4. Και στη συνέχεια κάντε κλικ στο κουμπί OK, επιλέξτε τα κελιά όπου θέλετε να εξάγετε τα αποτελέσματα στο αναδυόμενο πλαίσιο, δείτε το στιγμιότυπο οθόνης:
5. Κάντε κλικ OKκαι στο αναδυόμενο παράθυρο διαλόγου, επιλέξτε τα κείμενα που θέλετε να εξαιρέσετε, δείτε το στιγμιότυπο οθόνης:
6. Και στη συνέχεια κάντε κλικ στο κουμπί OK για έξοδο από τους διαλόγους και όλες οι συμβολοσειρές κειμένου έχουν μετατραπεί στη σωστή περίπτωση, αλλά εξαιρέστε τις καθορισμένες λέξεις, δείτε το στιγμιότυπο οθόνης:
Τα καλύτερα εργαλεία παραγωγικότητας γραφείου
Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου. Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...
Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη
- Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
- Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
- Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!