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 pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
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!