Note: The other languages of the website are Google-translated. Back to English

 Hvordan transponeres celler i en kolonne baseret på unikke værdier i en anden kolonne?

Antag, at du har en række data, der indeholder to kolonner, nu vil du transponere celler i en kolonne til vandrette rækker baseret på unikke værdier i en anden kolonne for at få følgende resultat. Har du gode ideer til at løse dette problem i Excel?

doc transponere unikke værdier 1

Transponer celler i en kolonne baseret på unikke værdier med formler

Transponer celler i en kolonne baseret på unikke værdier med VBA-kode

Transponer celler i en kolonne baseret på unikke værdier med Kutools til Excel


Med følgende matrixformler kan du udtrække de unikke værdier og transponere deres tilsvarende data i vandrette rækker. Gør som følger:

1. Indtast denne matrixformel: = INDEKS ($ A $ 2: $ A $ 16, MATCH (0, COUNTIF ($ D $ 1: $ D1, $ A $ 2: $ A $ 16), 0)) ind i en tom celle, f.eks. D2, og tryk på Skift + Ctrl + Enter nøgler sammen for at få det rigtige resultat, se skærmbillede:

doc transponere unikke værdier 2

Bemærk: I ovenstående formel A2: A16 er den kolonne, som du vil liste de unikke værdier fra, og D1 er cellen over denne formelcelle.

2. Træk derefter fyldhåndtaget ned til cellerne for at udtrække alle de unikke værdier, se skærmbillede:

doc transponere unikke værdier 3

3. Og fortsæt derefter med at indtaste denne formel i celle 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), og husk at trykke på Skift + Ctrl + Enter nøgler for at få resultatet, se skærmbillede:

doc transponere unikke værdier 4

Bemærk: I ovenstående formel: B2: B16 er de søjledata, du vil transponere, A2: A16 er den kolonne, som du vil transponere værdierne baseret på, og D2 indeholder den unikke værdi, som du har udvundet i trin 1.

4. Træk derefter fyldhåndtaget til højre for de celler, som du vil liste de transponerede data, indtil viser 0, se skærmbillede:

doc transponere unikke værdier 5

5. Og fortsæt derefter med at trække påfyldningshåndtaget ned til celleområdet for at få de transponerede data som vist på følgende skærmbillede:

doc transponere unikke værdier 6


Kan være, at formlerne er komplekse for dig at forstå, her kan du køre følgende VBA-kode for at få det ønskede resultat, du har brug for.

1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.

VBA-kode: Transponer celler i en kolonne baseret på unikke værdier i en anden kolonne:

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. Tryk derefter på F5 nøgle til at køre denne kode, og der vises et promptfelt for at minde dig om at vælge det dataområde, du vil bruge, se skærmbillede:

doc transponere unikke værdier 7

4. Og klik derefter på OK knap, vises en anden promptboks for at minde dig om at vælge en celle for at placere resultatet, se skærmbillede:

doc transponere unikke værdier 8

6. Klik OK knappen, og dataene i kolonne B er blevet transponeret baseret på unikke værdier i kolonne A, se skærmbillede:

doc transponere unikke værdier 9


Hvis du har Kutools til Excel, kombinerer Avancerede kombinere rækker og Opdel celler hjælpeprogrammer, kan du hurtigt afslutte denne opgave uden formler eller kode.

Kutools til Excel : med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage.

Efter installation Kutools til Excelskal du gøre som følger:

1. Vælg det dataområde, du vil bruge. (Hvis du vil beholde de originale data, skal du først kopiere og indsætte dataene til et andet sted.)

2. Klik derefter på Kutools > Flet og del > Avancerede kombinere rækker, se skærmbillede:

3. I Kombiner rækker baseret på kolonne dialogboksen, skal du udføre følgende handlinger:

(1.) Klik på det kolonnenavn, du vil transponere data baseret på, og vælg Primærnøgle;

(2.) Klik på en anden kolonne, som du vil transponere, og klik på Kombiner vælg derefter en separator for at adskille de kombinerede data, såsom mellemrum, komma, semikolon.

doc transponere unikke værdier 11

4. Klik derefter på Ok knap, er dataene i kolonne B kombineret i en celle baseret på kolonne A, se skærmbillede:

doc transponere unikke værdier 12

5. Og vælg derefter de kombinerede celler, og klik Kutools > Flet og del > Opdel celler, se skærmbillede:

6. I Opdel celler dialogboksen, vælg Opdel til kolonner under Type valgmulighed, og vælg derefter separatoren, der adskiller dine kombinerede data, se skærmbillede:

doc transponere unikke værdier 14 14

7. Klik derefter på Ok knap, og vælg en celle for at placere splitresultatet i den poppede dialogboks, se skærmbillede:

doc transponere unikke værdier 15

8. Klik OK, og du får resultatet, som du har brug for. Se skærmbillede:

doc transponere unikke værdier 16

Download og gratis prøveversion Kutools til Excel nu!


Kutools til Excel: med mere end 300 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 30 dage. Download og gratis prøveversion nu!

De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (56)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan ville jeg gå i den modsatte retning? Fra flere kolonner til en enkelt kolonne? Tak på forhånd! Tim
Denne kommentar blev minimeret af moderatoren på webstedet
Det her var fantastisk. Jeg havde en excel med omkring 2000 unikke værdier i række A og kunne ikke have klaret denne øvelse uden din hjælp. Mange mange tak.
Denne kommentar blev minimeret af moderatoren på webstedet
Selve første trin fejler =INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) giver fejlen Værdi ikke tilgængelig
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg vil bare gøre det modsatte. Som om jeg allerede har slutresultatet, og jeg vil nå det første skridt.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg leder efter det samme
Denne kommentar blev minimeret af moderatoren på webstedet
Fandt du en løsning på det modsatte scenario? Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg vil også gerne gøre det modsatte. Nogen løsning I har herrer?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej gutter,
For at få det modsatte resultat baseret på eksemplet i denne artikel, kan du anvende følgende VBA-kode: (Bemærk: Når du vælger det dataområde, du vil transponere, skal du ekskludere overskriftsrækken)

Sub TransposeUnique_2()
Dim xLRow, xLCount As Long
Dim xRg As Range
Dim xOutRg As Range
Dim xObjRRg As Range
Dim xTxt Som streng
Dim xCount As Long
Dim xVRg As Range
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Indstil xRg = Application.InputBox("Vælg venligst dataområde:", "Kutools for Excel", xTxt, , , , , 8)
Indstil xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
Hvis xRg ikke er noget, skal du afslutte Sub
Hvis (xRg.Rows.count < 2) Eller _
(xRg.Areas.count > 1) Derefter
MsgBox "Ugyldigt valg", , "Kutools til Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("Vælg venligst outputområde (specificer én celle):", "Kutools for Excel", xTxt, , , , , 8)
Hvis xOutRg ikke er noget, skal du afslutte Sub
Application.ScreenUpdating = False
xLCount = xRg.Columns.count
For xLRow = 1 Til xRg.Rows.count
Indstil xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)
xObjRRg.Kopi
xOutRg.Offset(, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Område(Cells(xOutRg.Row, xOutRg.Column), Cells(xOutRg.Row + xObjRRg.count - 1, xOutRg.Column)).Værdi = xRg.Cells(xLRow, 1).Værdi
Indstil xOutRg = xOutRg.Offset(RowOffset:=xObjRRg.count)
Næste
Application.ScreenUpdating = True
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan man transponerer, hvis B-kolonnen ikke har unikke værdier, men stadig har brug for disse værdier
KTE 100
KTE 100
Forudsat at de er to forskellige transaktioner
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Didin,

Kan du give dit problem mere klart eller detaljeret?
Du kan indsætte et eksempel på et skærmbillede til dit problem.
Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej der,
Kan du hjælpe mig med nedenstående krav.
Produkt ----- ordre
KTE ------ 100KTE ------ 200KTO ------ 300KTO ------ 300
forventet output
Produkt ----- ordre ----- ordre ------ ordre
KTE ------ 100 ------ 200
KTO ------ 300 ------ 300







Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har også brug for det samme. Jeg vil vise 100 to gange, hvis der er i dataene
Denne kommentar blev minimeret af moderatoren på webstedet
Kan du foreslå en formel for det
Denne kommentar blev minimeret af moderatoren på webstedet
Har du nogensinde fået svar/løsning på denne udfordring? Jeg har den samme.
Denne kommentar blev minimeret af moderatoren på webstedet
Er der en måde at gøre dette på omvendt? Dvs data i rækker af varierende længde og så sortering i to kolonner? Se vedlagte.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg vil også transponere duplikerede værdier (alle værdier - unikke + dublet) og ikke kun unikke værdier. Kan du også give formlen til det.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har brug for det samme
Denne kommentar blev minimeret af moderatoren på webstedet
Har du nogensinde fået svar/løsning på denne udfordring? Jeg har den samme.
Denne kommentar blev minimeret af moderatoren på webstedet
Med nedenstående formel:

=IFERROR(INDEX($B$2:$B$45, MATCH(0, COUNTIF($D2:D2,$B$2:$B$45)+IF($A$2:$A$10<>$D2, 1, 0), 0)), 0)

Hvordan kan jeg transponere data ved hjælp af omtrentlige matches? Sig, jeg vil udtrække alle værdierne fra kolonne B, der matcher de første 9 tegn/cifre fra kolonne A? Kolonne B har 11 tegn, mens A kun har 9. tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg er nødt til at gøre præcis det modsatte af dette. Jeg har mange mange kolonner forbundet med et række-id, og jeg vil gerne indsætte dem i to kolonner
jeg har f.eks
rowid, værdi, værdi1, værdi2, værdi3, værdi4, værdi..225
100, Dolphin, 255, 9--, sarah, jameson, ....
179, Router, flood, jason, 89, næse



Jeg vil have det til at se sådan ud
100, delfin
100, 255
100, 9--
100, sarah
100, jaemeson
179, Router
179, oversvømmelse
179, jason
179, 89
179, næse
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Dave,
For at løse dit problem, brug venligst nedenstående VBA-kode: (Bemærk: Når du vælger det dataområde, du vil transponere, skal du ekskludere overskriftsrækken.)

Sub TransposeUnique_2()
Dim xLRow, xLCount As Long
Dim xRg As Range
Dim xOutRg As Range
Dim xObjRRg As Range
Dim xTxt Som streng
Dim xCount As Long
Dim xVRg As Range
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Indstil xRg = Application.InputBox("Vælg venligst dataområde:", "Kutools for Excel", xTxt, , , , , 8)
Indstil xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
Hvis xRg ikke er noget, skal du afslutte Sub
Hvis (xRg.Rows.count < 2) Eller _
(xRg.Areas.count > 1) Derefter
MsgBox "Ugyldigt valg", , "Kutools til Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("Vælg venligst outputområde (specificer én celle):", "Kutools for Excel", xTxt, , , , , 8)
Hvis xOutRg ikke er noget, skal du afslutte Sub
Application.ScreenUpdating = False
xLCount = xRg.Columns.count
For xLRow = 1 Til xRg.Rows.count
Indstil xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)
xObjRRg.Kopi
xOutRg.Offset(, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Område(Cells(xOutRg.Row, xOutRg.Column), Cells(xOutRg.Row + xObjRRg.count - 1, xOutRg.Column)).Værdi = xRg.Cells(xLRow, 1).Værdi
Indstil xOutRg = xOutRg.Offset(RowOffset:=xObjRRg.count)
Næste
Application.ScreenUpdating = True
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Tak, det fungerer perfekt, du sparede mig 2 dage! :)
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Skyyang,
del venligst koden for 3 kolonner. Nedenfor er eksemplet:
Jeg vil have data som: yogesh@gmail.com fællesskab 1 visning kun fællesskab 2 kun visning ...... goyal@gmail.com fællesskab 1 visning kun fællesskab 2 kun visning........

Denne kommentar blev minimeret af moderatoren på webstedet
Hej ygoyal,

For at løse dit problem skal du anvende nedenstående kode:

Sub TransposeUnique_2()

Dim xLRow, xLCount As Long

Dim xRg As Range

Dim xOutRg As Range

Dim xObjRRg As Range

Dim xTxt Som streng

Dim xCount As Long

Dim xVRg As Range

Dim xC, xI, xI1, xI2 Som heltal

On Error Resume Next

xTxt = ActiveWindow.RangeSelection.Address

Indstil xRg = Application.InputBox("Vælg venligst dataområde:", "Kutools for Excel", xTxt, , , , , 8)

Indstil xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)

Hvis xRg ikke er noget, skal du afslutte Sub

Hvis (xRg.Rows.Count < 2) Eller _

(xRg.Areas.Count > 1) Derefter

MsgBox "Ugyldigt valg", , "Kutools til Excel"

Exit Sub

End If

Set xOutRg = Application.InputBox("Vælg venligst outputområde (specificer én celle):", "Kutools for Excel", xTxt, , , , , 8)

Hvis xOutRg ikke er noget, skal du afslutte Sub

Application.ScreenUpdating = False

xLCount = xRg.Columns.Count

For xLRow = 1 Til xRg.Rows.Count

Indstil xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)

On Error Resume Next

xC = (xObjRRg.Count Mod 2)

Hvis xC <> 0 Så

xC = Int(xObjRRg.Count / 2) + 1

Else

xC = Int(xObjRRg.Count / 2)

End If

xI1 = 1

xI2 = 2

For xI = 1 til xC

Område(xObjRRg.Item(xI1), xObjRRg.Item(xI2)). Kopi

xOutRg.Offset(, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

xOutRg.Value = xRg.Cells(xLRow, 1).Value

Indstil xOutRg = xOutRg.Offset(RowOffset:=1)

xI1 = xI1 + (2)

xI2 = xI2 + (2)

Næste

Næste

Application.ScreenUpdating = True

End Sub



Prøv venligst, håber det kan hjælpe dig!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Bro, Koden virker modsat. Se venligst det vedhæftede skærmbillede af krav. De tilgængelige data er rækkevis og ønsker at transponere dataene i kolonner.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej ygoyal,
Beklager for sent svar. Anvend venligst følgende kode, prøv det!

Sub transposeunique()

'opdatering af Extendoffice

Dim xLRow As Long

Dim jeg så længe

Dim xCrit Som streng

Dim xCol Som ny kollektion

Dim xRg As Range

Dim xOutRg As Range

Dim xTxt Som streng

Dim xCount As Long

Dim xVRg As Range

Dim xFRg, xSRg, xCRg Som område

On Error Resume Next

xTxt = ActiveWindow.RangeSelection.Address

Indstil xRg = Application.InputBox("Vælg venligst dataområde (kun 3 kolonner):", "Kutools for Excel", xTxt, , , , , 8)

Indstil xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)

Hvis xRg ikke er noget, skal du afslutte Sub

Hvis (xRg.Columns.Count <> 3) Eller _

(xRg.Areas.Count > 1) Derefter

MsgBox "det brugte område er kun et område med to kolonner", , "Kutools for Excel"

Exit Sub

End If

Set xOutRg = Application.InputBox("Vælg venligst outputområde (specificer én celle):", "Kutools for Excel", xTxt, , , , , 8)

Hvis xOutRg ikke er noget, skal du afslutte Sub

Indstil xOutRg = xOutRg.Range(1)

xLRow = xRg.Rows.Count

For i = 2 Til xLRow

xCol.Add xRg.Cells(i, 1).Value, xRg.Cells(i,1).Value

Næste

Application.ScreenUpdating = False

Application.ScreenUpdating = False

For i = 1 Til xCol.Count

xCrit = xCol.Item(i)

xOutRg.Offset(i, 0) = xCrit

xRg.AutoFilter Field:=1, Criteria1:=xCrit

Indstil xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)

Hvis xVRg.Count > xCount Så xCount = xVRg.Count

Indstil xSRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)

Indstil xCRg = xOutRg.Offset(i, 1)

For hver xFRg I xSRg

xFRg.Copy

xCRg.PasteSpecial

xRg.Range("B1"). Kopi

xCRg.Offset(-(i), 0). PasteSpecial

xFRg.Offset(0, 1).Kopi

Indstil xCRg = xCRg.Offset(0, 1)

xCRg.PasteSpecial

xRg.Range("c1"). Kopi

xCRg.Offset(-(i), 0). PasteSpecial

Indstil xCRg = xCRg.Offset(0, 1)

Næste

Application.CutCopyMode = False

Næste

xRg.Item(1).Kopi

xOutRg.PasteSpecial

xRg.AutoFilter

Application.ScreenUpdating = True

End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Bro Jeg prøvede at bruge denne kode, men excel'en går i stå, når jeg kører denne kode og kunne ikke se outputtet fra ovenstående kode. Foreslå venligst, hvad du skal gøre i dette tilfælde.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
Koden fungerer godt i min projektmappe, hvilken Excel-version bruger du?
Denne kommentar blev minimeret af moderatoren på webstedet
MS Excel 2016
Denne kommentar blev minimeret af moderatoren på webstedet
Koden fungerer også fint i min Excel 2016, prøv den med nogle små rækkevidde først.
Denne kommentar blev minimeret af moderatoren på webstedet
Har testet på 160 plader, men i det stadig dublet var der.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Skyyang, Elsker det her, har du nogen chance for at få det til at fungere i fire kolonner? igen bare at bruge de to første som en komparator, eller endnu bedre muligheden for at vælge antallet af kolonner, før du vælger dem? Jeg tog et kig på dit manuskript, ville ikke have en anelse om, hvordan man opnår dette...
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Skyyang, Elsker det her, har du nogen chance for at få det til at fungere i fire kolonner? igen bare at bruge de to første som en komparator, eller endnu bedre muligheden for at vælge antallet af kolonner, før du vælger dem? Jeg tog et kig på dit manuskript, ville ikke have en anelse om, hvordan man opnår dette...
Denne kommentar blev minimeret af moderatoren på webstedet
Bro, vær sød at hjælpe med dette.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Bro, venter stadig på din hjælp
Denne kommentar blev minimeret af moderatoren på webstedet
Denne kommentar blev minimeret af moderatoren på webstedet
Samme som Dave, jeg er nødt til at gøre det stik modsatte af dette. Tabel 2 skal transponeres til Tabel 1. Input Tabel 2, Output Tabel 1.
Denne kommentar blev minimeret af moderatoren på webstedet
=INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) fungerede for mig at transponere de unikke værdier af en kolonne til en ny kolonne MEN...er der en måde at annoncere i en sorteringsfunktion, så den nye kolonne oprettet transponeres i stigende rækkefølge?


Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Behov for at få det samme output, men for foruddefinerede kolonner, der skal vælges, ville være ($A,$B) og skal outputkolonnen Position på $D$1.
Hvis nogen har ideer, ville det være en stor hjælp!!!!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej kan vi tilføje hver række og give output i én kolonne, med ovenstående funktionalitet.
Denne kommentar blev minimeret af moderatoren på webstedet
Så jeg arbejder for en virksomhed. Vi har kolonner til info som efternavn, fornavn, rang, sektion, telefonnummer, adresse. Er der en måde, jeg kan bruge en lignende formel til at transponere hele rækken af ​​info til en kolonne ved navne?
Denne kommentar blev minimeret af moderatoren på webstedet
=INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) fungerede for mig at transponere de unikke værdier af en kolonne til en ny kolonne MEN ... er der en måde at få alle værdierne i B-kolonnen til at blive transponeret som angivet nedenfor:

Produkt Ordre Dato Produkt Ordre Ordre Ordre Ordre Ordre Ordre Ordre Ordre
KTE 100 3/3/2019 KTE 100 100 100 200 100 150 100
KTO 150 3/3/2019 KTO 150 100 200 100 150 200
KTE 100 3/4/2019 BOT 150 100 200 150 100 200
KTO 100 3/4/2019 COD 200 150 100 150
KTO 200 3/5/2019
KTE 100 3/5/2019
BOT 150 3/5/2019
BOT 100 3/6/2019
KTO 100 3/6/2019
KTE 200 3/6/2019
BOT 200 3/7/2019
COD 200 3/7/2019
KTE 100 3/7/2019
KTO 150 3/7/2019
BOT 150 3/8/2019
KTE 150 3/8/2019
COD 150 3/8/2019
BOT 100 3/9/2019
BOT 200 3/10/2019
COD 100 3/10/2019
KTO 200 3/10/2019
COD 150 3/11/2019
KTE 100 3/11/2019
Denne kommentar blev minimeret af moderatoren på webstedet
Makroen virkede ikke. Den kopierede bare indholdet i celle A1.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har et datasæt i kolonne A (Unikt ID) - E. Hver række har data baseret på ID#, der er flere rækker for hvert ID#, men jeg vil have en række pr. ID# med alle de andre data i kolonner ( det ville være 5 kolonner lange minimum og 25 maksimum afhængigt af hvor mange hvert unikt ID har). Jeg fandt en kode, men den virker kun for to kolonner. Jeg var nødt til at sammenkæde de fire kolonner (ikke inklusive ID) og derefter afgrænse efter at have kørt makroen (meget arbejde). For 15,000 rækker data er dette ekstra tidskrævende. Er der en endeløs kolonnemakro, der ville fungere? På forhånd tak til alle for jeres hjælp!
ID KODE ST KODE# DATO
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har et datasæt, som har flere ID'er i kolonne A, og har forbundet data i kolonne B. Jeg brugte ovenstående formel og ændrede det lidt, så jeg transponerer cellerne i kolonne B til en række baseret på det unikke ID knyttet til det i kolonne A. Formlen, der bruges til at identificere de unikke ID'er, er: =INDEX($A$2:$A$13409, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$13409), 0)). Formlen, der bruges til at udføre transponeringen, er: =IFERROR(INDEX($B$2:$B$13409, MATCH(0, IF($A$2:$A$13409<>$D2, 1, 0)+COUNTIF($D2: D2,$B$2:$B$13409), 0)), "I/A"). Begge angivet i artiklen, kun lidt ændret.

Problemet er, at mit datasæt i kolonne B har dubletter, som nogle gange vises efter hinanden, og jeg har brug for, at alle værdierne i kolonnen vises i rækkerne.

Det vedhæftede billede er, hvad jeg gerne vil have, at tabellen skal vise (dette er en lille prøvestørrelse, det sande datasæt har over 13,000 poster). Det, der sker nu, er, at når en gentagelsesværdi stødes på, vil den ikke tælle den.
dvs. Række 9 for ID 11980 viser nu kun 0 -31.79 -0.19 -0.74 N/AN/A .... når det jeg skal have vist i stedet er 0 0 -31.79 -0.19 -0.74 0 0 N/AN/A . ...

Er der en måde at omgå dette problem og løse det på?

På forhånd tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Har du nogensinde fået svar/løsning på denne udfordring? Jeg har den samme.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har et datasæt, som har 3 kolonner præsenteret nedenfor:



Kolonne A Kolonne B Kolonne C



Land1 År1 Værdi1

Land1 År2 Værdi2

Land1 År3 Værdi3,



Land2 År1 Værdi1

Land2 År3 Værdi3,

...........



Jeg skal kombinere disse 3 kolonner i en tabel som denne:

År1 År2 År3 ................................. ÅrX



Land1 Værdi1 Værdi2 Værdi3

Land2 Værdi1 #Manglende værdi3

.....
.....
.....

CountryX Valuex ...................





Det problem, jeg står over for, er, at for nogle data i kolonne A har jeg ikke værdier for hvert år, kun for nogle. (F.eks. mangler land 2 værdier for år 2)





Er der en måde at omgå dette problem og løse det på?



På forhånd tak!
Denne kommentar blev minimeret af moderatoren på webstedet
kan du venligst dele koden, hvis der er 2 kolonner, der skal kopieres i stedet for 1. nedenfor er eksemplet.
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL