Esempi di funzioni MID: Excel, VBA e Fogli Google

Scarica esempio di cartella di lavoro

Scarica la cartella di lavoro di esempio

Questo tutorial mostra come usare il Funzione MID di Excel in Excel per estrarre il testo da una cella.

Panoramica della funzione MID

La funzione MID Restituisce il testo dal centro di una cella, definito da un numero iniziale e dal numero di caratteri.

Per utilizzare la funzione Foglio di lavoro Excel MID, selezionare una cella e digitare:

(Notare come appaiono gli input della formula)

Funzione MID Sintassi e ingressi:

= MID(testo,num_iniziale,num_caratteri)

testo - Una stringa di testo.

start_num - Il numero del carattere da cui iniziare la selezione.

num_chars - Il numero di caratteri dopo start_num da restituire.

Come utilizzare la funzione MID in Excel:

La funzione MID estrae un numero specifico di caratteri che specifichi da qualsiasi luogo tu voglia.

=MID(B3,C3,D3)

Può iniziare da qualsiasi numero visualizzato nella colonna C e da qualsiasi numero di caratteri nella colonna D.

MID per afferrare la stringa tra diversi delimitatori

Se la stringa che desideri è compresa tra due diversi delimitatori, questa è piuttosto semplice. Ad esempio, potremmo volere la stringa tra trattino ("-") e barra ("/").

=MID(B3,TROVA("-",B3)+1,TROVA("/",B3)-TROVA("-",B3)-1)

In questo caso qui, possiamo usare TROVA per verificare quale posizione del carattere inizia il trattino e aggiungere 1 per iniziare l'estrazione da lì.

Utilizzare di nuovo FIND per verificare da quale posizione del carattere inizia la barra e meno la posizione del trattino e 1 per ottenere la lunghezza della stringa che si desidera.

Puoi anche usare RICERCA. La differenza tra FIND e SEARCH è che il primo fa distinzione tra maiuscole e minuscole. Trovare un simbolo come lo spazio non avrebbe importanza.

=MID(B3,TROVA("-",B3)+1,CERCA("/",B3)-CERCA("-",B3)-1)

MID per afferrare la stringa tra lo stesso delimitatore

Se la stringa ha lo stesso delimitatore, è un po' più difficile di quella sopra perché FIND cattura la prima occorrenza. Ad esempio, potremmo volere la stringa tra il primo e il secondo spazio. Ma puoi anche indicare una posizione di partenza in TROVA.

=MID(B3, TROVA(" ",B3)+1,TROVA(" ",B3,TROVA(" ",B3)+1)-TROVA(" ",B3)-1)

Usa FIND proprio come nell'esempio sopra per verificare quale posizione del carattere inizia lo spazio e aggiungere 1 per iniziare l'estrazione da lì.

Usa di nuovo TROVA per verificare quale posizione del carattere inizia il secondo spazio iniziando a trovare 1 carattere dopo la posizione del primo spazio.

E infine meno la posizione del primo spazio e 1 per ottenere la lunghezza della stringa che vogliamo.

Puoi anche usare la RICERCA.

=MID(B3, TROVA(" ",B3)+1,CERCA(" ",B3,TROVA(" ",B3)+1)-CERCA(" ",B3)-1)

MID con numero/date

Nota che MID è una funzione di testo. Utilizzando MID, il risultato è un testo. Ad esempio, non sarai in grado di riassumere questi numeri nella cella E3 dopo aver utilizzato MID.

La stessa cosa accade per le date in quanto vengono riconosciute come numeri di serie e non come testo. Potrebbe non essere necessario sommare le date, ma non funziona bene nei filtri e nelle tabelle pivot.

Per superare i problemi di cui sopra, puoi utilizzare VALUE per convertire da testo a valori.

=VALORE(MID(B3,FIND(":",B3)+2,FIND(" ",B3,FIND(" ",B3)+1)-FIND(":",B3)-2))

MID per dividere per delimitatore comune

Potresti voler dividere tutte le parole in righe diverse. Quindi:

=TRIM(MID(SOSTITUTO(B$3," ",REPT(" ",LEN(B$3))),(RIGHE(B3:B$3)-1)*LEN(B$3)+1,LEN(B$3 )))

Quello che fa è usare SUBSTITUTE per sostituire tutti gli spazi con un afflusso di spazi ripetuti usando REPT. Risulta nel testo simile a questo:
“Excel è davvero fantastico”

L'influsso di ripetuti viene accuratamente ripetuto con una lunghezza totale del testo originale utilizzando LEN. Ciò significa che il numero di posizione da cui iniziare l'estrazione è un multiplo della lunghezza totale. Per la prima parola, estrai dalla posizione 1. Per la seconda, sarà la lunghezza totale + 1. Per la terza, la lunghezza totale x 2 + 1. Ecc. Per ottenere l'ennesima parola, usa ROWS.

Infine, il numero di caratteri utilizza sempre la lunghezza totale del testo originale.

Trova l'ennesima parola nella stringa

Potremmo combinare TRIM, LEN, SUBSTITUTE, REPT con MID come segue per ottenere l'ultima parola della stringa.

=TRIM(MID(SOSTITUTO(A$2," ",REPT(" ",LEN(A$2))), (B2-1)*LEN(A$2)+1, LUNGHEZZA(A$2)))

Il che ci darebbe i seguenti risultati:

Invertire una stringa di testo

È possibile invertire una stringa di testo combinando la funzione MID con TEXTJOINT come segue.

=TEXTJOIN("",1,MID(A2,{10,9,8,7,6,5,4,3,2,1},1))

Il che ci darebbe i seguenti risultati:

MID in Fogli Google

La funzione MID funziona esattamente allo stesso modo in Fogli Google come in Excel:

Note aggiuntive

Se num_chars è maggiore della lunghezza rimanente del testo, la funzione MID restituisce tutto il testo rimanente.

Esempi MID in VBA

Puoi anche usare la funzione MID in VBA. Tipo:
application.worksheetfunction.mid(text,start_num,num_chars)
Per gli argomenti della funzione (testo, ecc.), puoi inserirli direttamente nella funzione o definire le variabili da utilizzare al loro posto.

Torna all'elenco di tutte le funzioni in Excel

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave