Dividi il testo in base al carattere/i in Excel

Anonim

La suddivisione dei testi è uno dei compiti di base in Excel. Spesso abbiamo bisogno di dividere nomi, ID, indirizzi ecc. Da un testo concatenato. Per fare ciò, scegliamo un testo separatore nella stringa e usiamo per dividere ogni segmento di stringa. In questo articolo impareremo come dividere il testo in base a uno o più caratteri nella stringa.

Dividi la stringa di testo su un carattere specifico usando la formula

Possiamo dividere i testi a caratteri specifici usando la funzione LEFT, RIGHT, LEN e FIND. Ci saranno ovviamente almeno due parti di testo diviso. In primo luogo, il testo prima del testo specifico (testo a sinistra del carattere) e in secondo luogo, il testo dopo il testo specifico (testo a destra del carattere).

Dividi il testo a sinistra della stringa

Vediamo come possiamo dividere il testo a sinistra dei caratteri.

Formula generica

=SINISTRA(stringa,TROVA("carattere specifico", stringa)-1)

Corda: La stringa da cui si desidera dividere il testo. Questo può essere un valore hardcoded, un riferimento di cella o una formula.

Carattere specifico: Il carattere/i in cui si desidera dividere il testo. Questo può essere un valore hardcoded, un riferimento di cella o una formula.

Vediamo un esempio per chiarire le cose.

Esempio: Dividi il testo a sinistra della stringa in base a un carattere

Qui ho questo semplice set di dati. Nell'intervallo A2: A1, nominiamo e codici concatenati con la virgola (","). Il nome è a sinistra della virgola e voglio dividerlo da ogni testo.

Applicare qui la formula generica sopra per ottenere il testo a sinistra della virgola nella stringa. Copialo in B2 e trascina verso il basso.

=SINISTRA(A2,TROVA(",",A2)-1)


Puoi vedere che ogni nome viene estratto dalla stringa con precisione.

Come funziona?

Come sappiamo, la funzione LEFT estrae un dato numero di caratteri da una data stringa. Ora scomponiamo la formula al rovescio.

TROVA(",",A2): qui la funzione TROVA cerca la posizione della stringa di ricerca virgola (",") nella cella A2 (Georgina Schalk,30). Restituisce 16. Ora la formula è = SINISTRA (A2,16-1).

Poiché non vogliamo che la virgola (",") faccia parte della stringa estratta, sottraiamo 1 da 16. (se i caratteri di destinazione fossero 2, allora sottrarremmo 2 e così via. In breve, sottraiamo la lunghezza del stringa di ricerca dalla posizione della stringa di ricerca per non includerla nel risultato).

Infine, avremo LEFT(A2,15) e otterremo il nome estratto (15 caratteri da sinistra).

Dividi il testo a destra della stringa

Abbiamo imparato come ottenere il testo a sinistra di un carattere specifico. Ora, vediamo come possiamo dividere il testo a destra del/i carattere/i specifico/i.

Formula generica

=DESTRA(stringa,LEN(stringa)-FIND("carattere/i specifico/i", stringa))

Corda: La stringa da cui si desidera dividere il testo. Questo può essere un valore hardcoded, un riferimento di cella o una formula.

Carattere specifico: Il carattere/i in cui si desidera dividere il testo. Questo può essere un valore hardcoded, un riferimento di cella o una formula.

Vediamo un esempio per chiarire le cose.

Esempio: Dividi il testo a destra della stringa in base a un carattere

Useremo gli stessi dati che abbiamo usato nell'esempio precedente. Questa volta dobbiamo estrarre i codici dalla stringa. I codici sono a destra della virgola (","). Usiamo la formula generica sopra per dividere il testo da destra.
Nella cella C2, scrivi questa formula e trascina verso il basso per ottenere ciascun valore.

=DESTRA(A2,LEN(A2)-TROVA(",",A2))


Come funziona:

Scomponiamolo dall'interno. La funzione LUNGHEZZA restituisce il numero di caratteri nella stringa.

LUNGHEZZA(A2) restituisce 18. La funzione TROVA restituisce 16, come in precedenza. Ora la formula si risolve in RIGHT(A2,18-16), che di nuovo si risolve in RIGHT(A2,2).

Ora, poiché sappiamo che la funzione RIGHT restituisce il numero dato di caratteri da destra di una determinata stringa, quindi otteniamo 30 (2 caratteri da destra).

Quindi abbiamo diviso il testo in un testo specifico in una stringa usando la funzione text excel. È dinamico. Ogni volta che inserirai un nuovo dato nella colonna, otterrai il testo estratto nelle colonne adiacenti (se copi la formula nella cella adiacente). Usando questo metodo avrai il testo originale intatto. Se lo desideri, puoi valutare incolla dell'output ed eliminare i dati di origine.
Dividi il testo in corrispondenza di caratteri specifici utilizzando la funzione Testo in colonna
Usando la formula sopra, possiamo separare il testo solo alla prima apparizione di un testo specifico nella stringa. Se ci fossero più virgole in posti casuali nel testo, la formula sopra sarebbe inutile. Dovremo usare più formule e sarebbe noioso. Come dividiamo il testo su ogni aspetto di un personaggio specifico?

C'è una funzione integrata per dividere il testo in colonne. È chiamato Testo in colonna caratteristica. Usando questa funzione puoi dividere il testo originale in più colonne, su ogni aspetto del separatore.

Vediamo come puoi usarlo per dividere il testo in base a un carattere specifico.

Per prima cosa, hai abbastanza colonne vuote così a destra del testo di origine. Se hai dati nelle colonne a destra del testo di origine, potrebbero essere sostituiti. È meglio copiare i dati di origine in un nuovo foglio. In questo modo, avrai i tuoi dati di origine intatti e nessun altro dato sarà interessato.

  • Seleziona i dati che vuoi dividere.
  • Premi ALT>A>E. Si aprirà la finestra della procedura guidata Converti testo in colonna. Puoi anche andare su Dati> Testo in colonna, nella scheda della barra multifunzione.
  • Seleziona Delimitato e fai clic su Avanti.
    Sono disponibili poche opzioni di separatore comuni da selezionare, come Tab, Punto e virgola, Virgola, Spazio e Altro. È possibile selezionare uno o più separatori.
  • Qui divideremo il testo usando il separatore di virgole. Possiamo selezionare la casella di controllo virgola, ma qui utilizzeremo l'opzione Altro. In un'altra opzione, puoi scrivere qualsiasi testo in cui dividere il testo. Scriveremo una virgola.


Dopo aver scritto la virgola nella casella di testo, Excel visualizzerà l'anteprima dell'output prima che tu finisca.

  • Premi il pulsante Fine. E 'fatto. I tuoi dati sono divisi in base al carattere specificato.

  • Se avessimo usato più separatori, come lo spazio e la virgola entrambi, avremmo diviso anche il nome e il cognome.

    Quindi sì ragazzi questo è il modo in cui dividiamo il testo in base a un carattere o al testo nella stringa in Excel. Entrambi i metodi hanno i loro vantaggi e svantaggi. Nel primo metodo crei un separatore dinamico che puoi utilizzare più volte semplicemente modificando i dati. Ma quando devi dividere il testo in troppe parti, il metodo della formula Excel può essere complesso e noioso. D'altra parte il metodo Text to Column è buono su questa parte ma non è dinamico.

    Fatemi se avete dubbi o requisiti speciali nella sezione commenti qui sotto.

    Estrai il testo da una stringa in Excel utilizzando la funzione SINISTRA e DESTRA di Excel

    Come estrarre il nome di dominio dalla posta elettronica in Excel

    Dividi numeri e testo da stringa in Excel

    Articoli popolari:

    50 scorciatoie di Excel per aumentare la produttività

    La funzione CERCA.VERT in Excel

    CONTA.SE in Excel 2016

    Come utilizzare la funzione SOMMA.SE in Excel