Note: The other languages of the website are Google-translated. Back to English

 Kako pretvoriti besedilni niz v pravi primer z izjemami v Excelu?

V Excelu lahko uporabite funkcijo Pravilno za enostavno pretvorbo besedilnih nizov v ustrezne črke, včasih pa morate pri pretvorbi besedilnih nizov v pravi črko izključiti nekatere določene besede, kot je prikazano na spodnji sliki zaslona. V tem članku bom govoril o nekaj hitrih trikih za reševanje tega dela v Excelu.

Pretvorite besedilne nize v ustrezne črke z izjemami z uporabo formule

Pretvorite besedilne nize v ustrezne črke z izjemami z uporabo kode VBA


Pretvorite besedilne nize v ustrezne črke z izjemami z uporabo formule

Morda vam bo naslednja formula pomagala pri hitrem reševanju te naloge, naredite tako:

Vnesite to formulo:

= ZGORNJI (LEVI (A2)) IN SREDNJI (TRIM (ZAMENJAVA (ZAMENJAVA (ZAMENJAVA (ZAMENJAVA (ZAMENJAVA (ZADNJI PODATKI ("" IN PROPER (ZASLON (A2) & "," Od "," od ")," A "," a ")," Ali "," je ")," ZDA "," ZDA ")), 2, LEN (A2)) v celico, kjer želite dobiti rezultat, in nato povlecite ročico za polnjenje, da zapolnite to formulo, besedilni nizi pa so pretvorjeni v ustrezne črke, vendar posebne izjeme, glejte posnetek zaslona:

Opombe: V zgornji formuli, A2 je celica, ki jo želite pretvoriti, »Od«, »A«, »Je«, »ZDA« so običajne prave črke po pretvorbi, „Od“, „a“, „je“, „ZDA“ so besede, ki jih želite izključiti iz ustreznega črka. S funkcijo SUBSTITUTE jih lahko spremenite po svojih željah ali dodate druge besede.


Pretvorite besedilne nize v ustrezne črke z izjemami z uporabo kode VBA

Če je zgornjo formulo nekoliko težko razumeti in spremeniti glede na vaše potrebe, lahko tukaj uporabite tudi kodo VBA za dokončanje te naloge. Naredite naslednje po korakih.

1. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: pretvorite besedilne nize v pravi primer z izjemami:

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. Nato pritisnite F5 tipko za zagon te kode in izpiše se pozivno polje, ki vas opomni, da izberete prvotne celice, ki jih želite pretvoriti, glejte posnetek zaslona:

4. In nato kliknite OK, izberite celice, v katere želite izpisati rezultate v izpuščenem polju, glejte posnetek zaslona:

5. Pojdi na klik OKin v pojavnem pogovornem oknu izberite besedila, ki jih želite izključiti, si oglejte posnetek zaslona:

6. In nato kliknite OK za izhod iz pogovornih oken in so vsi besedilni nizi pretvorjeni v pravi črko, vendar izključujejo določene besede, glejte sliko zaslona:


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (1)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
To bi bilo neverjetno, če bi samo makro izključil del vboda v CAPS in ne celotno celico s seznama izjem.
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL