Separare i caratteri in una lunga stringa (Microsoft Excel)
John ha un foglio di lavoro che, nella colonna A, ha un gran numero di stringhe di testo molto lunghe. Deve estrarre individualmente i primi 249 caratteri da ciascuna stringa, posizionando un singolo carattere in ogni cella a destra della stringa.
Ci sono un paio di modi in cui puoi eseguire questa operazione. È abbastanza facile da fare attraverso l’uso di una formula semplice. Ad esempio, se la tua prima stringa di testo è nella cella A1, inserisci la seguente formula alla sua destra, nella cella B1:
=MID($A1,COLUMN()-1,1)
Questa formula utilizza le funzioni del foglio di lavoro di Excel per separare la stringa di testo. La funzione COLONNA, in questo caso, restituisce il valore 2 poiché la formula è nella colonna B e quella è la seconda colonna del foglio di lavoro.
Questo valore viene decrementato di 1 e quindi utilizzato come puntatore nella stringa nella cella A1, contrassegnando da dove deve provenire il carattere estratto. Quando copi correttamente questa formula, per quante celle desideri, finisci con i singoli caratteri della stringa, in ordine consecutivo.
Ovviamente, se hai un bel po ‘di stringhe nel foglio di lavoro (come fa John), quindi copiare questa formula su 249 colonne e giù, diciamo, diverse centinaia di righe può creare un foglio di lavoro molto lento. In tali situazioni può essere opportuno utilizzare una macro per dividere le stringhe invece di una formula. La seguente macro, SplitUp, è un approccio per eseguire lo strappo effettivo.
Sub SplitUp() Dim c As Range Dim r As Range Dim sTemp As String Dim z As Integer Set r = Range("A1", Range("A65536").End(xlUp)) For Each c In r sTemp = Left(c, 249) For z = 1 To Len(sTemp) c.Offset(0, z) = Mid(sTemp, z, 1) Next z Next End Sub
La macro inizia definendo un intervallo (r) costituito da tutte le celle della colonna A che contengono valori. La variabile c viene quindi utilizzata per rappresentare ogni cella dell’intervallo e i primi 249 caratteri estratti da ciascuna cella. Un ciclo For … Next viene quindi utilizzato per estrarre ciascun carattere dalla stringa e inserirlo in una cella a destra della stringa.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (2790) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: