Note: The other languages of the website are Google-translated. Back to English
Login  \/ 
x
or
x
Registrati  \/ 
x

or

Come trasporre i dati dalla colonna in una singola cella in Excel?

Quando è necessario trasporre un elenco di dati in una singola cella in un foglio di lavoro, normalmente è possibile applicare l'estensione Concatenare funzione per unire l'elenco di celle in una cella, ma sarà complesso se è necessario combinare dati enormi. In questo articolo, parlerò di alcuni trucchi rapidi per risolvere questa attività in Excel.

Trasponi i dati dalla colonna in una singola cella con la funzione definita dall'utente

Trasponi i dati dalla colonna in una singola cella con Kutools per Excel


Ad eccezione della funzione Concatenate per unire un elenco di valori di cella, è possibile applicare il seguente codice VBA per ottenere il risultato il più rapidamente possibile.

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

2. Clic inserire > Moduloe incolla il codice seguente nel file Modulo Finestra.

Codice VBA: trasponi i dati dalla colonna in una singola cella

Function transposeRange(Rg As Range)
'updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
        If Not IsEmpty(xCell.Value) Then
            xStr = xStr & xCell.Value & ","
        End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
End Function

3. Quindi salva e chiudi questo codice, torna al foglio di lavoro e inserisci questa formula: = intervallo di trasposizione (A1: A10) in una cella vuota per inserire il risultato e premere Entra chiave, otterrai tutti i valori delle celle in una colonna che sono stati posizionati in una singola cella, vedi screenshot:

doc traspone le celle in una cella 1

Note:: Nel codice sopra, A1: A10 è l'intervallo dell'elenco che desideri trasporre in una singola cella e inoltre puoi separare il contenuto unito con altri delimitatori, come virgola, trattino, spazio, ecc. semplicemente cambiando la virgola nello script xStr = xStr e xCell.Value & ",".


Se si dispone di Kutools for Excel, con il suo potente strumentoCombinare, puoi combinare i dati in una colonna, una riga o un intervallo in una cella.

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

Dopo l'installazione Kutools for Excel, per favore fai come segue :( Scarica subito Kutools per Excel! )

1. Seleziona la colonna di dati che desideri combinare in una cella.

2. Clic Kutools > Unisci e dividiCombina righe, colonne o celle senza perdere dati, vedi screenshot:

3. Nella finestra di dialogo visualizzata, seleziona Combina in una singola cella sotto il Per combinare le celle selezionate in base alle seguenti opzioni, quindi specifica un separatore per separare il contenuto unito, vedi screenshot:

doc traspone le celle in una cella 3

4. Quindi fare clic Ok or Iscriviti pulsante e otterrai il seguente risultato di cui hai bisogno:

doc traspone le celle in una cella 4 2 doc traspone le celle in una cella 5

Scarica e prova gratuitamente Kutools per Excel ora!


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!

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 ogni giorno centinaia di clic del mouse!
fondo officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sophie · 3 years ago
    Hi,

    Thanks a lot! I'm using your following function and it works very well. I would like to include an "if" function in the transposerange. What should I add to the function in VBA? Basically, it would work like a countif. So we would read the formula =transposerangeif(range,criteria).

    Thanks in advance!

    Function transposeRange(Rg As Range)
    'updateby Extendoffice 20151207
    Dim xCell As Range
    Dim xStr As String
    For Each xCell In Rg
    If Not IsEmpty(xCell.Value) Then
    xStr = xStr & xCell.Value & ","
    End If
    Next
    transposeRange = Left(xStr, Len(xStr) - 1)
    End Function
    • To post as a guest, your comment is unpublished.
      skyyang · 3 years ago
      Hello,Sophie,
      Could you give an example for your need, you can insert a screenshot here.
  • To post as a guest, your comment is unpublished.
    Eric · 3 years ago
    Thanks, this was very helpful.