KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Inserisci caratteri ogni X caratteri nelle celle di Excel – Metodi semplici

AutoreXiaoyang Data di modifica

Quando lavori con codici prodotto, numeri di serie, numeri di telefono, codici identificativi o stringhe di testo lunghe in Excel, potresti aver bisogno di inserire un carattere specifico ogni tot caratteri. Ad esempio, potresti voler trasformare ABCDEF123456 in ABC-DEF-123-456 oppure aggiungere uno spazio ogni 4 cifre per rendere più leggibili numeri lunghi.
Excel non offre un pulsante integrato dedicato a questa operazione, ma puoi eseguirla facilmente con alcuni metodi semplici. Questo articolo ti illustrerà diverse soluzioni pratiche per inserire un carattere personalizzato ogni X posizioni all’interno delle celle di Excel.

Aggiungi caratteri ogni X caratteri

Inserisci caratteri ogni X caratteri in Excel

Note importanti e limitazioni

Conclusione


Inserisci caratteri ogni X caratteri in Excel

I metodi seguenti ti mostreranno come inserire rapidamente caratteri specifici ogni numero prefissato di caratteri in Excel, permettendoti di separare facilmente testi lunghi, codici identificativi, codici prodotto o sequenze numeriche a intervalli regolari, per un contenuto più standardizzato e leggibile.

 

Metodo 1: Aggiungi caratteri ogni X caratteri con formula

Se utilizzi Excel 365 o Excel 2021, puoi sfruttare una formula a matrice dinamica per suddividere il testo in gruppi di lunghezza fissa e unirli con un carattere specificato.

Inserisci la seguente formula in una cella vuota:

=TEXTJOIN("-",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4))

Quindi premi il tasto Invio e trascina il quadratino di riempimento verso il basso per applicare la formula alle altre celle.
Aggiungi caratteri ogni X caratteri con formula

Come funziona questa formula?

  • LEN(A2): Restituisce il numero totale di caratteri presenti nella cella A2.
  • ARROTONDA.ECCESSO(LEN(A2)/4,0): Calcola quanti gruppi sono necessari. Anche se l’ultimo gruppo contiene meno di 4 caratteri, verrà comunque incluso.
  • SEQUENZA(ARROTONDA.ECCESSO(LEN(A2)/4,0),,1,4): Genera le posizioni iniziali: 1, 5, 9, 13 e così via.
  • STRINGA.ESTRAI(A2,SEQUENZA(...),4): Estrae ogni gruppo di 4 caratteri dal testo.
  • TESTO.UNISCI("-",VERO,...): Unisce tutti i gruppi estratti con un trattino.

Personalizza la formula

Puoi personalizzare carattere e intervallo in base alle tue esigenze.

Aggiungi uno spazio ogni 4 caratteri:

=TEXTJOIN(" ",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4))

Aggiungi una barra ogni 2 caratteri:

=TEXTJOIN("/",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/2,0),,1,2),2))

Utilizza riferimenti di cella per impostazioni flessibili: (Questa versione è più flessibile perché puoi modificare il carattere inserito o il numero di intervallo senza dover modificare la formula stessa.)

Se:

  • Testo Originale è in A2,
  • Il carattere da inserire è in B1,
  • Il numero di intervallo è in C1
=TEXTJOIN($B$1,TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/$C$1,0),,1,$C$1),$C$1))

Vantaggi e svantaggi

VantaggiSvantaggi
Risultato dinamico che si aggiorna automaticamenteFunziona solo in Excel 365, Excel 2021 e versioni successive
Non richiede VBALa formula potrebbe risultare difficile per i principianti
Facile da copiare verso il basso per più celleIl risultato è basato su una formula, non su testo statico
 

Metodo 2: Aggiungi caratteri ogni X caratteri con codice VBA

Se desideri inserire un carattere specifico ogni tot caratteri in più celle e ottenere il risultato immediatamente, VBA è la soluzione ideale.

  1. Tieni premuti i tasti ALT + F11 in Excel: si aprirà la finestra di Microsoft Visual Basic, Applications Edition.
  2. Fai clic su Inserisci > Modulo e incolla il seguente codice nella finestra del modulo.
Sub InsertCharacter()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
Dim xRow As Integer
Dim xChar As String
Dim index As Integer
Dim arr As Variant
Dim xValue As String
Dim outValue As String
Dim xNum As Integer
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
xRow = Application.InputBox("Number of characters :", xTitleId, Type:=1)
xChar = Application.InputBox("Specify a character :", xTitleId, Type:=2)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
xNum = 1
For Each Rng In InputRng
    xValue = Rng.Value
    outValue = ""
    For index = 1 To VBA.Len(xValue)
        If index Mod xRow = 0 And index <> VBA.Len(xValue) Then
            outValue = outValue + VBA.Mid(xValue, index, 1) + xChar
        Else
            outValue = outValue + VBA.Mid(xValue, index, 1)
        End If
    Next
    OutRng.Cells(xNum, 1).Value = outValue
    xNum = xNum + 1
Next
End Sub
  1. Premi il tasto F5 per eseguire questo codice. Apparirà una finestra di dialogo che ti chiederà di selezionare l’intervallo dati in cui desideri inserire un carattere specifico nelle stringhe di testo. Vedi lo screenshot qui sotto:
    Seleziona l'intervallo di dati
  2. Fai quindi clic su OK; nella finestra successiva, inserisci il numero di caratteri dopo il quale desideri aggiungere un carattere specifico a intervalli regolari. Guarda lo screenshot:
    Inserisci il numero di caratteri
  3. Prosegui facendo clic su OK; nella finestra successiva, inserisci il carattere specifico che desideri aggiungere al testo. Guarda lo screenshot:
    Specifica un carattere
  4. Fai clic sul pulsante OK e scegli una cella in cui desideri visualizzare il risultato nella finestra di dialogo. Guarda lo screenshot:
    Scegli la cella di output
  5. Infine, fai clic su OK. Excel inserirà il carattere specificato ogni X caratteri e collocherà i risultati nell’area di posizionamento dell’elenco selezionata.
    Inserisci caratteri ogni X caratteri con codice VBA

Vantaggi e svantaggi

VantaggiSvantaggi
Funziona nelle versioni precedenti di ExcelRichiede l’abilitazione delle macro
Può elaborare molte celle contemporaneamenteIl VBA potrebbe risultare difficile per i principianti
Restituisce risultati statici direttamenteNon è dinamico se Dati di origine cambia
Impostazioni flessibili per caratteri e intervalliI file con macro devono essere salvati come .xlsm
 

Metodo 3: Aggiungi caratteri ogni X caratteri con funzione definita dall’utente

Una funzione definita dall’utente, detta anche UDF, ti consente di creare la tua funzione Excel personalizzata con VBA. Dopo averla aggiunta, potrai utilizzarla come una normale formula di foglio di lavoro.

  1. Premi Alt + F11 per aprire l’editor VBA.
  2. Fai clic su Inserisci > Modulo. Copia e incolla il seguente codice nel modulo.
Function InsertEveryX(TextStr As String, InsertChar As String, IntervalNum As Long) As String
    Dim i As Long
    Dim ResultStr As String
    If IntervalNum <= 0 Then
        InsertEveryX = TextStr
        Exit Function
    End If
    For i = 1 To Len(TextStr) Step IntervalNum
        ResultStr = ResultStr & Mid(TextStr, i, IntervalNum) & InsertChar
    Next i
    If Len(ResultStr) > 0 Then
        ResultStr = Left(ResultStr, Len(ResultStr) - Len(InsertChar))
    End If
    InsertEveryX = ResultStr
End Function
  1. Chiudi l’editor VBA e torna al foglio di lavoro. Inserisci la seguente formula:
=InsertEveryX(A2,"-",4)

Suggerimento: puoi anche salvare il carattere da inserire e il numero dell’intervallo direttamente nelle celle.

Trascina quindi il quadratino di riempimento verso il basso per estendere la formula alle altre celle.
Inserisci caratteri ogni X caratteri con UDF

Vantaggi e svantaggi

VantaggiSvantaggi
Funziona come una normale formula di ExcelRichiede la configurazione VBA
Più facile da leggere rispetto a una formula complessaLe macro devono essere abilitate
Riutilizzabile nella cartella di lavoroNon disponibile in altre cartelle di lavoro se non copiato
Supporta caratteri e intervalli personalizzatiLa cartella di lavoro deve essere salvata come .xlsm
 

Metodo 4: Aggiungi caratteri ogni X caratteri con Kutools per Excel

Se non desideri utilizzare formule complesse o codice VBA, Kutools per Excel offre un modo più semplice per inserire caratteri nel testo delle celle. Grazie ai suoi strumenti per il testo, puoi aggiungere rapidamente caratteri specifici in posizioni fisse o applicare operazioni di elaborazione testuale a più celle.

  1. Seleziona le celle in cui desideri inserire i caratteri, quindi fai clic su Kutools > Testo > Aggiungi testo.
    seleziona la funzione Aggiungi testo
  2. Nella finestra di dialogo Aggiungi testo:
    1. Inserisci il carattere che desideri aggiungere, ad esempio -, / oppure uno spazio nella casella Testo.
    2. Nella sezione Posizione di aggiunta, scegli Dopo la posizione specificata e inserisci le posizioni in cui devono essere aggiunti i caratteri.
    3. Fai clic su OK.
      imposta le opzioni nella finestra di dialogo

Suggerimento: in questo esempio ho inserito 4, 8 e 12 nella casella «Dopo la posizione specificata», il che significa che il testo specifico verrà inserito dopo il 4°, l’8° e il 12° carattere di ogni stringa.

Ora il carattere specificato è stato inserito nei valori delle celle negli intervalli indicati.

Inserisci Testo nelle Celle di Excel Più Velocemente con Kutools

Grazie alla funzione Aggiungi testo di Kutools per Excel, puoi inserire rapidamente caratteri specifici, simboli o testo nelle celle selezionate senza dover ricorrere a formule complesse o al codice VBA.

Né formule né VBAInserisci testo con impostazioni semplici invece di creare formule complesse.
Elaborazione in bloccoApplica la stessa regola di inserimento a più celle contemporaneamente.
Posizioni flessibiliAggiungi testo all'inizio, alla fine o in posizioni di caratteri specifiche.
Adatto ai principiantiUna finestra di dialogo visiva rende la formattazione del testo più semplice ed efficiente.

Note importanti e limitazioni

1. I risultati delle formule sono dinamici

Se utilizzi il metodo con formula, il risultato si aggiornerà automaticamente quando Testo Originale cambia. Ciò è utile per fogli di lavoro in corso, ma il risultato rimane basato su una formula.

Se hai bisogno di valori di testo fissi, copia i risultati della formula e usa:Home>Incolla>Incolla Valori

2. VBA e Kutools restituiscono generalmente risultati statici.

VBA e Kutools sono più adatti per un'elaborazione una tantum. Una volta inseriti i caratteri, il risultato non verrà aggiornato automaticamente se il testo di origine cambia, a meno che non si esegua nuovamente il codice o lo strumento.

3. Controlla se l’ultimo gruppo è più breve.

Se la lunghezza del testo non è esattamente divisibile per il numero dell’intervallo, l’ultimo gruppo conterrà i caratteri rimanenti.

4. Celle vuote

Quando l’intervallo selezionato contiene celle vuote, VBA e Kutools in genere possono saltarle automaticamente o lasciarle invariate. Tuttavia, se utilizzi formule, le celle vuote potrebbero generare risultati imprevisti o errori. Per evitarlo, racchiudi la formula con **SE** o **SE.ERRORE**, in modo da mantenere vuote le celle corrispondenti.

=IF(A2="","",TEXTJOIN("-",TRUE,MID(A2,SEQUENCE(ROUNDUP(LEN(A2)/4,0),,1,4),4)))

5. Caratteri speciali

La maggior parte dei separatori comuni—come trattini, virgole, spazi, barre e punti—può essere inserita senza problemi. Puoi anche aggiungere testo personalizzato a piacimento.


Conclusione

Aggiungere caratteri ogni X posizioni in Excel rende più semplice leggere, formattare e gestire stringhe di testo lunghe. Per gli utenti di Excel 365 o Excel 2021, il metodo basato sulle formule rappresenta una soluzione flessibile e dinamica. Se devi elaborare molte celle contemporaneamente, VBA ti permette di completare l’operazione in modo efficiente. Se cerchi una formula personalizzata e riutilizzabile, una funzione definita dall’utente (UDF) è la scelta ideale. Per chi preferisce un approccio semplice, visivo e senza codice, Kutools per Excel offre un modo ancora più rapido per gestire questo tipo di attività di formattazione del testo.

In generale, usa le formule per ottenere risultati dinamici, ricorri a VBA o alle UDF quando ti serve un controllo più avanzato e scegli Kutools per semplificare al massimo il flusso di lavoro, riducendo al minimo i passaggi manuali.