Kako prenesti celice v enem stolpcu na podlagi edinstvenih vrednosti v drugem stolpcu?
Recimo, da imate obseg podatkov, ki vsebuje dva stolpca, zdaj želite prenesti celice v enem stolpcu v vodoravne vrstice na podlagi edinstvenih vrednosti v drugem stolpcu, da dobite naslednji rezultat. Ali imate kakšno dobro idejo za rešitev te težave v Excelu?
Prenesite celice v en stolpec na podlagi edinstvenih vrednosti s formulami
Prenesite celice v en stolpec na podlagi edinstvenih vrednosti s kodo VBA
Prenesite celice v en stolpec na podlagi edinstvenih vrednosti s Kutools za Excel
Prenesite celice v en stolpec na podlagi edinstvenih vrednosti s formulami
Z naslednjimi formulami matrike lahko izvlečete edinstvene vrednosti in prenesete njihove ustrezne podatke v vodoravne vrstice, naredite naslednje:
1. Vnesite to matrično formulo: = INDEKS ($ A $ 2: $ A $ 16, UTEK (0, COUNTIF ($ D $ 1: $ D1, $ A $ 2: $ A $ 16), 0)) na primer v prazno celico D2 in pritisnite Shift + Ctrl + Enter da dobite pravilen rezultat, glejte posnetek zaslona:
Opombe: V zgornji formuli, A2: A16 je stolpec, iz katerega želite navesti unikatne vrednosti, in D1 je celica nad to formulo.
2. Nato povlecite ročico za polnjenje navzdol do celic, da izvlečete vse edinstvene vrednosti, glejte posnetek zaslona:
3. In nato nadaljujte z vnosom te formule v celico E2: =IFERROR(INDEX($B$2:$B$16, MATCH(0, COUNTIF($D2:D2,$B$2:$B$16)+IF($A$2:$A$16<>$D2, 1, 0), 0)), 0)in ne pozabite pritisniti Shift + Ctrl + Enter tipke, da dobite rezultat, glejte posnetek zaslona:
Opombe: V zgornji formuli: B2: B16 so podatki stolpca, ki jih želite prenesti, A2: A16 je stolpec, na podlagi katerega želite prenesti vrednosti, in D2 vsebuje edinstveno vrednost, ki ste jo izvlekli v 1. koraku.
4. Nato povlecite ročico za polnjenje desno od celic, v katere želite navesti prenesene podatke, dokler se ne prikaže 0, glejte posnetek zaslona:
5. In nato še naprej povlecite ročico za polnjenje do obsega celic, da dobite prenesene podatke, kot je prikazano na sliki spodaj:
Prenesite celice v en stolpec na podlagi edinstvenih vrednosti s kodo VBA
Morda so formule zapletene, da jih lahko razumete, tukaj lahko zaženete naslednjo kodo VBA, da dobite želeni rezultat, ki ga potrebujete.
1. Držite tipko ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.
2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Moduli Okno.
Koda VBA: Prenesite celice v en stolpec na podlagi edinstvenih vrednosti v drugem stolpcu:
Sub transposeunique()
'updateby Extendoffice
Dim xLRow As Long
Dim i As Long
Dim xCrit As String
Dim xCol As New Collection
Dim xRg As Range
Dim xOutRg As Range
Dim xTxt As String
Dim xCount As Long
Dim xVRg As Range
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("please select data range(only two columns):", "Kutools for Excel", xTxt, , , , , 8)
Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
If xRg Is Nothing Then Exit Sub
If (xRg.Columns.Count <> 2) Or _
(xRg.Areas.Count > 1) Then
MsgBox "the used range is only one area with two columns ", , "Kutools for Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("please select output range(specify one cell):", "Kutools for Excel", xTxt, , , , , 8)
If xOutRg Is Nothing Then Exit Sub
Set xOutRg = xOutRg.Range(1)
xLRow = xRg.Rows.Count
For i = 2 To xLRow
xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i, 1).Value
Next
Application.ScreenUpdating = False
For i = 1 To xCol.Count
xCrit = xCol.Item(i)
xOutRg.Offset(i, 0) = xCrit
xRg.AutoFilter Field:=1, Criteria1:=xCrit
Set xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)
If xVRg.Count > xCount Then xCount = xVRg.Count
xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible).Copy
xOutRg.Offset(i, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Next
xOutRg = xRg.Cells(1, 1)
xOutRg.Offset(0, 1).Resize(1, xCount) = xRg.Cells(1, 2)
xRg.Rows(1).Copy
xOutRg.Resize(1, xCount + 1).PasteSpecial Paste:=xlPasteFormats
xRg.AutoFilter
Application.ScreenUpdating = True
End Sub
3. Nato pritisnite F5 tipko za zagon te kode in pojavilo se bo pozivno polje, ki vas bo opomnilo, da izberete obseg podatkov, ki ga želite uporabiti, glejte posnetek zaslona:
4. In nato kliknite OK , se bo pojavilo drugo pozivno polje, ki vas bo opozorilo, da izberete celico, v katero želite dati rezultat, glejte sliko zaslona:
6. Kliknite OK in podatki v stolpcu B so bili preneseni na podlagi edinstvenih vrednosti v stolpcu A, glejte posnetek zaslona:
Prenesite celice v en stolpec na podlagi edinstvenih vrednosti s Kutools za Excel
Če imate Kutools za Excel, ki združuje Napredne kombinirane vrstice in Razdeljene celice pripomočki, lahko to nalogo hitro dokončate brez kakršnih koli formul ali kode.
Kutools za Excel : z več kot 300 priročnimi dodatki za Excel, ki jih lahko brezplačno preizkusite v 30 dneh. |
Po namestitvi Kutools za Excel, naredite naslednje:
1. Izberite obseg podatkov, ki ga želite uporabiti. (Če želite obdržati izvirne podatke, jih najprej kopirajte in prilepite na drugo mesto.)
2. Nato kliknite Kutools > Spoji in razdeli > Napredne kombinirane vrstice, glej posnetek zaslona:
3. v Kombiniraj vrstice na podlagi stolpca pogovorno okno, naredite naslednje:
(1.) Kliknite ime stolpca, na podlagi katerega želite prenesti podatke, in izberite Primarni ključ;
(2.) Kliknite drug stolpec, ki ga želite prenesti, in kliknite Združite nato izberite eno ločilo, da ločite kombinirane podatke, kot so presledek, vejica, podpičje.
4. Nato kliknite Ok , so podatki v stolpcu B združeni v eno celico na podlagi stolpca A, glej posnetek zaslona:
5. Nato izberite kombinirane celice in kliknite Kutools > Spoji in razdeli > Razdeljene celice, glej posnetek zaslona:
6. v Razdeljene celice pogovorno okno, izberite Razdeli na stolpce pod tip in nato izberite ločilo, ki ločuje vaše združene podatke, glejte posnetek zaslona:
7. Nato kliknite Ok in izberite celico, v katero boste razdeljeni rezultat postavili v izpuščeno pogovorno okno, glejte posnetek zaslona:
8. Kliknite OK, in dobili boste rezultat, kot ga potrebujete. Oglejte si posnetek zaslona:
Prenesite in brezplačno preizkusite Kutools za Excel zdaj!
Predstavitev: Prenesite celice v en stolpec na podlagi edinstvenih vrednosti s programom Kutools za Excel
Najboljša orodja za pisarniško produktivnost
Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%
- Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
- Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
- Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
- Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
- Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
- Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
- Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
- Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
- Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
















































