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

Come invertire l'ordine delle stringhe di testo o delle parole in Excel?

Quando si utilizza il foglio di lavoro di Excel, come si inverte la stringa di testo o l'ordine delle parole in Excel? Ad esempio, vuoi invertire "Excel è uno strumento utile per noi"A"su rof loot lufesu a si lecxE". Oppure a volte puoi invertire l'ordine delle parole come "Excel, Word, PowerPoint, OneNote"A"OneNote, PowerPoint, Word, Excel". Normalmente questo è un po 'difficile da risolvere questo problema. Si prega di guardare i seguenti metodi:

Stringa di testo inversa con funzione definita dall'utente

Ordine inverso delle parole separato da un separatore specifico con codice VBA

Inverti la stringa di testo o l'ordine delle parole con Kutools per Excel in modo rapido e semplice


freccia blu freccia destra Stringa di testo inversa con funzione definita dall'utente

Supponendo che tu abbia un intervallo di stringhe di testo che desideri invertire, come "aggiungi gli zeri iniziali in Excel"A"lecxE ni sorez gnidael dda". Puoi invertire il testo con i seguenti passaggi:

1. Tieni premuto il ALT + F11 chiavi e apre il file Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla la seguente macro nel file Modulofinestra.

Function Reversestr(str As String) As String
    Reversestr = StrReverse(Trim(str))
End Function

3. Quindi salva e chiudi questo codice, torna al foglio di lavoro e inserisci questa formula: = reversestr (A2) in una cella vuota per inserire il risultato, vedi screenshot:

4. Quindi trascina il quadratino di riempimento verso il basso per copiare questa formula e il testo nelle celle viene venerato contemporaneamente, vedi screenshot:


freccia blu freccia destra Ordine inverso delle parole separato da un separatore specifico con codice VBA

Se hai un elenco di parole di cella separate da virgole come questa "insegnante, medico, studente, lavoratore, autista"E desideri invertire l'ordine delle parole in questo modo"guida, operaio, studente, dottore, insegnante". Puoi anche usare segui VBA per risolverlo.

1. Tieni premuto il ALT + F11 chiavi e apre il file Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla la seguente macro nel file Modulo finestra.

Sub ReverseWord()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Sigh As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Sigh = Application.InputBox("Symbol interval", xTitleId, ",", Type:=2)
For Each Rng In WorkRng
    strList = VBA.Split(Rng.Value, Sigh)
    xOut = ""
    For i = UBound(strList) To 0 Step -1
        xOut = xOut & strList(i) & Sigh
    Next
    Rng.Value = xOut
Next
End Sub

3. Quindi premere F5 chiave, viene visualizzata una finestra di dialogo, selezionare un intervallo con cui lavorare. Vedi screenshot:

4. E poi premere Ok, viene visualizzata un'altra finestra di dialogo per specificare il separatore su cui si desidera invertire le parole, vedi screenshot:

5. Quindi fare clic su OK, e puoi vedere le parole selezionate sono invertite, vedi screenshot:


freccia blu freccia destra Inverti la stringa di testo o l'ordine delle parole con Kutools per Excel in modo rapido e semplice

Lo Kutools for Excel'S Ordine di testo inverso può aiutarti a invertire rapidamente e comodamente varie stringhe di testo. Può eseguire le seguenti operazioni:

Inverti il ​​testo da destra a sinistra, ad esempio "tocca alcune parole"A"sdrow emos pat";

Il testo al contrario è separato da uno spazio o da altri caratteri specifici, come "mela arancia uva"A"uva arancia mela";

Kutools for Excel : con oltre 300 utili componenti aggiuntivi di Excel, da provare gratuitamente senza limitazioni in 30 giorni

Inverti il ​​testo da destra a sinistra:

1. Seleziona l'intervallo che desideri invertire.

2. Clic Kutools > Strumenti di testo > Ordine di testo inverso, vedi screenshot:

3. Nel Testo inverso finestra di dialogo, selezionare l'opzione appropriata da Separatore che corrispondono ai valori delle celle. E puoi vedere in anteprima i risultati dal file Riquadro di anteprima. Vedi screenshot:

 Scarica e prova gratuitamente Kutools per Excel ora!


Il testo al contrario è separato da uno spazio o da altri caratteri specifici:

Questa funzione può anche aiutarti a invertire le stringhe di testo separate da caratteri specifici.

1. Seleziona le celle e applica questa utilità facendo clic Kutools > Testo > Ordine di testo inverso.

2. Nell' Testo inverso finestra di dialogo, scegli il separatore che separa i valori della cella su cui desideri invertire le parole in base, vedi screenshot:

3. Quindi fare clic Ok or Candidati, le parole nelle celle sono state invertite immediatamente. Vedi screenshot:

Note:: Controllo Salta non testo celle per evitare di invertire i numeri nell'intervallo selezionato.

Per saperne di più su questa funzione, visita Ordine di testo inverso.

Scarica e prova gratuitamente Kutools per Excel ora!


freccia blu freccia destra Demo: stringa di testo inversa basata su un separatore specifico con Kutools per Excel

Kutools for Excel: con più di 300 utili componenti aggiuntivi di Excel, liberi di provare senza limitazioni in 30 giorni. Scarica e prova gratuita ora!

Articolo correlato:

Come capovolgere il nome e il cognome nelle celle in Excel?


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab

 

Commenti (19)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Questo è assurdo. Così tanto codice per eseguire solo un semplice compito di invertire la stringa? :o È necessario aggiungere solo 3 funzioni di riga nel modulo come di seguito: Function strrev(strValue As String) strrev = StrReverse(strValue) End Function Ora la formula =strrev(A1) può essere utilizzata nel foglio Excel. Funziona poiché StrReverse è una funzione integrata di VBA. :D
Questo commento è stato fatto dal moderatore sul sito
Un altro... Function InvertText(str As String) 'By Faseeh Muhammad Dim m As Integer For m = Len(str) To 1 Step -1 countRepp = countRepp & Mid(str, m, 1) Next m End Function
Questo commento è stato fatto dal moderatore sul sito
Scusa una piccola modifica Funzione InvertText(str As String) 'By Faseeh Muhammad Dim curr As String Dim m As Integer For m = Len(str) To 1 Step -1 countRepp = countRepp & Mid(str, m, 1) Next m Inverttext Funzione finale
Questo commento è stato fatto dal moderatore sul sito
Ciao a tutti, ho provato questa funzione: Sub ReverseText() 'Updateby20131128 Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) Per ogni Rng in WorkRng xValue = Rng.Value xLen = VBA.Len(xValue) xOut = "" For i = 1 To xLen getChar = VBA.Right(xValue, 1) xValue = VBA.Left(xValue, xLen - i) xOut = xOut & getChar Next Rng.Value = xOut Next End Sub ma quando l'ho eseguito con i numeri ha cancellato tutti gli zeri. conosci una funzione che non elimina gli zeri? Grazie!!
Questo commento è stato fatto dal moderatore sul sito
Usa il codice funzione di Vineet come modulo e quando usi la formula, usa questo trucco: =strrev(""&D9&"") dove D9 contiene il numero. Il codice VBA di Vineet per quella funzione è: Function strrev(strValue As String) strrev = StrReverse(strValue) End Function
Questo commento è stato fatto dal moderatore sul sito
Usa questo..metti il ​​tuo input in A1, quindi l'output sarà in B1 Sub zzzText() Dim xlen, xvalue, xoutput xlen = VBA.Len(Range("A1")) xvalue = Range("A1").Value xoutput = "" For i = 1 To xlen GetText = VBA.Right(xvalue, 1) xvalue = VBA.Left(xvalue, xlen - i) xoutput = xoutput & GetText Next i Range("B1").Value = xoutput Range( "C1").Valore = xlen Intervallo("D1").Valore = xvalore End Sub
Questo commento è stato fatto dal moderatore sul sito
Ho notato che molte persone stanno reinventando la ruota eseguendo comandi sinistro e destro, VB6 supporta string reverse SINTASSI: strRevese ("String") è tutto ciò di cui hai bisogno Dim stCellValue, i For i = 1 To 5 Range ("A" & X).Select stCellValue = Range("A" & X).Value stCellValue = StrReverse(stCellValue) Range("A" & X).Value = stCellValue Avanti i Un altro trucco ingegnoso sarebbe quello di precompilare gli zeri, se i valori inferiore a 10 ma deve essere in un formato dell'ora come "10:01:24" anziché "10:1:24" intMins = 1 stMinutes = right("00" & intMins, 2) result = 01
Questo commento è stato fatto dal moderatore sul sito
grazie è davvero utile per me :roll:
Questo commento è stato fatto dal moderatore sul sito
Salve, vorrei invertire le date. dal 20/11/2015 al 2015/11/20 Qualche aiuto? Grazie
Questo commento è stato fatto dal moderatore sul sito
Per le date tutto ciò che devi fare è cambiare il formato della cella nel formato necessario. Fare clic con il pulsante destro del mouse sulla cella che si desidera invertire e selezionare il formato cella. Seleziona Data nella sezione della categoria e cambia la posizione da dove ti trovi a Stati Uniti o Repubblica Ceca o un altro paese che potrebbe utilizzare il formato che ti interessa. Quindi scegli quello che soddisfa i tuoi requisiti.
Questo commento è stato fatto dal moderatore sul sito
ciao a tutti, non ho Kutools per invertire un carattere di testo, se qualcuno ha questi strumenti e vuole aiutarmi, per favore mandami un'e-mail per inviarti il ​​mio file per il reverse. la mia email è: [b][b]mohanned1@windowslive.com[/b][/b] per quanto riguarda,
Questo commento è stato fatto dal moderatore sul sito
si prega di seguire le istruzioni fornite dal sito Web Extend Office dopo aver cercato con Google per stringa inversa in Excel.
Questo commento è stato fatto dal moderatore sul sito
È possibile invertire il testo usando la formula, è ripetitivo e limitato a quanto lontano sei pronto ad andare e soggetto al numero di caratteri che Excel consentirà nella barra della formula. La lunghezza massima del testo sarà di 30 caratteri e si trova nella cella A1. La cella B1 leggerebbe: =TRIM(MID(LEFT(A1&REPT(" ",31),31),30,1)&MID(LEFT(A1&REPT(" ",31),31),29,1)&MID(LEFT( A1&REPT(" ",31),31),28,1)&MID(LEFT(A1&REPT(" ",31),31),27,1)&MID(LEFT(A1&REPT(" ",31),31),26,1 ,1)&MID(LEFT(A31&REPT(" ",31),25,1),1)&MID(LEFT(A31&REPT(" ",31),24,1),1)&MID(LEFT(A31&REPT(" ", 31),23,1),1)&MID(SINISTRA(A31&REPT(" ",31),22,1),1)&MID(SINISTRA(A31&REPT(" ",31),21,1),1)&MID( SINISTRA(LA31&RIPETI(" ",31),20,1),1)&MID(SINISTRA(LA31&RIPETI(" ",31),19,1),1)&MID(SINISTRA(LA31&RIPETI(" ",31),18,1) ,1)&MID(LEFT(A31&REPT(" ",31),17,1),1)&MID(LEFT(A31&REPT(" ",31),16,1),1)&MID(LEFT(A31&REPT(" ",31),15,1),1)&MID(LEFT(A31&REPT(" ",31),14,1),1)&MID(LEFT(A31&REPT(" ",31),13,1),1) &MID(LEFT(A31&REPT(" ",31),12,1),1)&MID(LEFT(A31&REPT(" ",31),11,1),1)&MID(LEFT(A31&REPT(" ",31), 10,1),1)&MID(SINISTRA(A31&REPT(" ",31),9,1),1)&MID(SINISTRA(A31&REPT(" ",31),8,1),1)&MID(SINISTRA(A31&REPT (" ",31),7,1),1)&MID(LEFT(A31&REPT(" ",31),6,1),1)&MID(LEFT(A31&REPT(" ",31),5,1),1, 31)&MID(SINISTRA(A31&RIPETI(" ",4,1),1),31)&MID(SINISTRA(A31&RIPETI(" ",3,1),1),31)&M ID(LEFT(A31&REPT(" ",2,1),1),31)&MID(LEFT(A31&REPT(" ",1,1),1),1)) Risultato: A1: Duncan Sullivan-Shaw B31: wahS -navilluS nacnuD Fondamentalmente il tuo testo nella cella A1 diventa lungo 1 caratteri aggiungendo spazi sufficienti per abilitarlo, e ogni carattere viene letto singolarmente da destra a sinistra fino a raggiungere il primo carattere. Ciò comporterà il testo invertito contenente spazi iniziali, che il comando TRIM rimuove per te. Per ridurre o aumentare la lunghezza, rimuovere o aggiungere ogni istruzione. Il numero all'interno dell'istruzione REPT dovrebbe essere XNUMX in più rispetto alla lunghezza massima a cui stai lavorando e la tua prima istruzione MID inizierà alla lunghezza massima scendendo a XNUMX.
Questo commento è stato fatto dal moderatore sul sito
Ho scoperto che il Sub originale ha fornito i risultati con un ulteriore sospiro alla fine di tutte le celle selezionate. Quindi ho corretto questa parte. For i = UBound(strList) To 0 Step -1 Se i > 0 Then xOut = xOut & strList(i) & Sigh Else xOut = xOut & strList(i) Next Rng.Value = xOut
Questo commento è stato fatto dal moderatore sul sito
È possibile iniziare il contrario con una certa lunghezza di caratteri (per la funzione definita dall'utente o il codice VBA)? Ad esempio, invertire i valori della cella A1 che iniziano dopo il conteggio dei caratteri uguale al valore B1. Quindi, se B1 è di 10 caratteri, il contrario inizierà con i caratteri 11+ in A1..
Questo commento è stato fatto dal moderatore sul sito
Grazie mille. Questo codice ha aiutato il mio amico in un modo molto buono
Questo commento è stato fatto dal moderatore sul sito
fantastico molto utile grazie per aver condiviso i dettagli
Questo commento è stato fatto dal moderatore sul sito
Questo è davvero un grande aiuto... Grazie mille
Questo commento è stato fatto dal moderatore sul sito
Ik zoek een manier om een ​​heleboel woorden in 'rijm-fabetische volgorde' te zetten. Dus de laatste lettere van het woord moeten in alfabetische volgorde. Ieman enig idea? VrGr Amanda
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite