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

 Hur transponerar man celler i en kolumn baserat på unika värden i en annan kolumn?

Om du antar att du har en rad data som innehåller två kolumner, nu vill du transponera celler i en kolumn till horisontella rader baserat på unika värden i en annan kolumn för att få följande resultat. Har du några bra idéer för att lösa detta problem i Excel?

doc transponera unika värden 1

Transponera celler i en kolumn baserat på unika värden med formler

Transponera celler i en kolumn baserat på unika värden med VBA-kod

Transponera celler i en kolumn baserat på unika värden med Kutools för Excel


Med följande matrisformler kan du extrahera de unika värdena och transponera deras motsvarande data i horisontella rader, gör så här:

1. Ange denna matrisformel: = INDEX ($ A $ 2: $ A $ 16, MATCH (0, COUNTIF ($ D $ 1: $ D1, $ A $ 2: $ A $ 16), 0)) till en tom cell, till exempel D2, och tryck på Skift + Ctrl + Enter för att få rätt resultat, se skärmdump:

doc transponera unika värden 2

Anmärkningar: I ovanstående formel, A2: A16 är den kolumn som du vill lista de unika värdena från, och D1 är cellen ovanför denna formelcell.

2. Dra sedan fyllningshandtaget ner till cellerna för att extrahera alla unika värden, se skärmdump:

doc transponera unika värden 3

3. Och fortsätt sedan med att ange denna formel i cell 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)och kom ihåg att trycka på Skift + Ctrl + Enter för att få resultatet, se skärmdump:

doc transponera unika värden 4

Anmärkningar: I ovanstående formel: B2: B16 är den kolumninformation som du vill transponera, A2: A16 är den kolumn som du vill transponera värdena baserat på, och D2 innehåller det unika värdet som du har extraherat i steg 1.

4. Dra sedan påfyllningshandtaget till höger om cellerna som du vill visa de transponerade data tills visar 0, se skärmdump:

doc transponera unika värden 5

5. Och fortsätt sedan med att dra påfyllningshandtaget ner till cellområdet för att få den transponerade informationen enligt följande skärmdump:

doc transponera unika värden 6


Kan vara att formlerna är komplexa för dig att förstå, här kan du köra följande VBA-kod för att få det önskade resultatet du behöver.

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Transponera celler i en kolumn baserat på unika värden i en annan kolumn:

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. Tryck sedan på F5 nyckel för att köra den här koden och en snabbruta dyker upp för att påminna dig om att välja det dataområde du vill använda, se skärmdump:

doc transponera unika värden 7

4. Och klicka sedan på OK -knappen, kommer en annan snabbruta att dyka upp för att påminna dig om att välja en cell för att sätta resultatet, se skärmdump:

doc transponera unika värden 8

6. Klicka OK och data i kolumn B har transponerats baserat på unika värden i kolumn A, se skärmdump:

doc transponera unika värden 9


Om du har Kutools för Excel, kombinerar Avancerade kombinera rader och Dela celler verktyg kan du snabbt avsluta den här uppgiften utan några formler eller kod.

Kutools för Excel : med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar.

När du har installerat Kutools för Excel, gör så här:

1. Välj det dataområde du vill använda. (Om du vill behålla originaldata, vänligen kopiera och klistra in data till en annan plats först.)

2. Klicka sedan Kutools > Slå ihop och dela > Avancerade kombinera rader, se skärmdump:

3. I Kombinera rader baserat på kolumn dialogrutan, gör följande:

(1.) Klicka på det kolumnnamn som du vill transponera data baserat på och välj Primärnyckel;

(2.) Klicka på en annan kolumn som du vill transponera och klicka på Kombinera välj sedan en separator för att separera de kombinerade uppgifterna, till exempel mellanslag, komma, semikolon.

doc transponera unika värden 11

4. Klicka sedan Ok knappen har data i kolumn B kombinerats i en cell baserat på kolumn A, se skärmdump:

doc transponera unika värden 12

5. Välj sedan de kombinerade cellerna och klicka Kutools > Slå ihop och dela > Dela celler, se skärmdump:

6. I Dela celler dialogrutan väljer du Dela upp till kolumner under Typ alternativ och välj sedan avgränsaren som separerar dina kombinerade data, se skärmdump:

doc transponera unika värden 14 14

7. Klicka sedan Ok och välj en cell för att placera det delade resultatet i dialogrutan som visas, se skärmdump:

doc transponera unika värden 15

8. Klicka OK, och du får resultatet efter behov. Se skärmdump:

doc transponera unika värden 16

Ladda ner och testa gratis Kutools för Excel nu!


Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsning på 30 dagar. Ladda ner och testa gratis nu!

De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (56)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hur skulle jag gå i motsatt riktning? Från flera kolumner till en enda kolumn? Tack på förhand! Tim
Denna kommentar minimerades av moderatoren på webbplatsen
Det här var fantastiskt. Jag hade ett excel med cirka 2000 unika värden i rad A och hade inte klarat av denna övning utan din hjälp. Många många tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Själva första steget misslyckas =INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) ger felet Value Not Available
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill bara göra tvärtom. Som att jag redan har slutresultatet och jag vill nå det första steget.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag letar efter samma sak
Denna kommentar minimerades av moderatoren på webbplatsen
Hittade du någon lösning på det motsatta scenariot? Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill också göra tvärtom. Någon lösning ni har herrar?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej grabbar,
För att få det motsatta resultatet baserat på exemplet i den här artikeln kan du använda följande VBA-kod: (Obs: När du väljer det dataintervall som du vill överföra, vänligen exkludera rubrikraden)

Sub TransposeUnique_2()
Dim xLRow, xLCount As Long
Dim xRg As Range
Dim xOutRg As Range
Dim xObjRRg 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("vänligen välj dataintervall:", "Kutools för Excel", xTxt, , , , , 8)
Ställ in xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
Om xRg är ingenting, avsluta Sub
If (xRg.Rows.count < 2) Eller _
(xRg.Areas.count > 1) Sedan
MsgBox "Ogiltigt urval", , "Kutools för Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("vänligen välj utdataområde (ange en cell):", "Kutools för Excel", xTxt, , , , , 8)
Om xOutRg är ingenting, avsluta Sub
Application.ScreenUpdating = False
xLCount = xRg.Columns.count
För xLRow = 1 Till xRg.Rows.count
Ställ in xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)
xObjRRg.Copy
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)).Value = xRg.Cells(xLRow, 1).Value
Ställ in xOutRg = xOutRg.Offset(RowOffset:=xObjRRg.count)
Nästa
Application.ScreenUpdating = True
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Hur man gör omvandlingen om B-kolumnen inte har unika värden men fortfarande behöver dessa värden
KTE 100
KTE 100
Förutsatt att de är två olika transaktioner
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Didin,

Kan du ge ditt problem tydligare eller mer detaljerat?
Du kan infoga ett exempel på en skärmdump för ditt problem.
Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej där,
Kan du hjälpa mig med nedanstående krav.
Produkt ----- beställning
KTE ------ 100KTE ------ 200KTO ------ 300KTO ------ 300
förväntad produktion
Produkt ----- order ----- order ------ order
KTE ------ 100 ------ 200
KTO ------ 300 ------ 300







Denna kommentar minimerades av moderatoren på webbplatsen
Jag behöver också detsamma. Jag vill visa 100 två gånger om det finns i data
Denna kommentar minimerades av moderatoren på webbplatsen
Kan du föreslå en formel för det
Denna kommentar minimerades av moderatoren på webbplatsen
Har du någonsin fått svar/upplösning på den här utmaningen? Jag har samma.
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att göra detta omvänt? Dvs data i rader av varierande längd och så sortera den i två kolumner? Se bifogad.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag vill också överföra dubbletter av värden (alla värden - unika + dubbletter) och inte bara unika värden. Kan du ge formeln för det också.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag behöver detsamma
Denna kommentar minimerades av moderatoren på webbplatsen
Har du någonsin fått svar/upplösning på den här utmaningen? Jag har samma.
Denna kommentar minimerades av moderatoren på webbplatsen
Med formeln nedan:

=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)

Hur kan jag överföra data med hjälp av ungefärliga matchningar? Säg, jag vill extrahera alla värden från kolumn B som matchar de första 9 tecknen/siffrorna från kolumn A? Kolumn B har 11 tecken medan A endast 9. tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Jag måste göra precis tvärtom. Jag har många många kolumner kopplade till ett rad-id och jag vill klistra in dem i två kolumner
jag har till exempel
rowid, värde, värde1, värde2, värde3, värde4, värde..225
100, Dolphin, 255, 9--, sarah, jameson, ....
179, Router, flood, jason, 89, nos



Jag vill att det ska se ut så här
100, Delfin
100, 255
100, 9--
100, sarah
100, jaemeson
179, Router
179, översvämning
179, jason
179, 89
179, näsa
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Dave,
För att lösa ditt problem, använd nedanstående VBA-kod: (Obs: När du väljer det dataintervall som du vill överföra, vänligen exkludera rubrikraden.)

Sub TransposeUnique_2()
Dim xLRow, xLCount As Long
Dim xRg As Range
Dim xOutRg As Range
Dim xObjRRg 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("vänligen välj dataintervall:", "Kutools för Excel", xTxt, , , , , 8)
Ställ in xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
Om xRg är ingenting, avsluta Sub
If (xRg.Rows.count < 2) Eller _
(xRg.Areas.count > 1) Sedan
MsgBox "Ogiltigt urval", , "Kutools för Excel"
Exit Sub
End If
Set xOutRg = Application.InputBox("vänligen välj utdataområde (ange en cell):", "Kutools för Excel", xTxt, , , , , 8)
Om xOutRg är ingenting, avsluta Sub
Application.ScreenUpdating = False
xLCount = xRg.Columns.count
För xLRow = 1 Till xRg.Rows.count
Ställ in xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)
xObjRRg.Copy
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)).Value = xRg.Cells(xLRow, 1).Value
Ställ in xOutRg = xOutRg.Offset(RowOffset:=xObjRRg.count)
Nästa
Application.ScreenUpdating = True
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Tack, det fungerar perfekt, du sparade mig 2 dagar! :)
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Skyyang,
vänligen dela koden för 3 kolumner. Nedan är exemplet:
Jag vill ha data som: yogesh@gmail.com community 1 view only community 2 view only ...... goyal@gmail.com community 1 view only community 2 view only........

Denna kommentar minimerades av moderatoren på webbplatsen
Hej ygoyal,

För att lösa ditt problem, använd koden nedan:

Sub TransposeUnique_2()

Dim xLRow, xLCount As Long

Dim xRg As Range

Dim xOutRg As Range

Dim xObjRRg As Range

Dim xTxt As String

Dim xCount As Long

Dim xVRg As Range

Dim xC, xI, xI1, xI2 Som heltal

On Error Resume Next

xTxt = ActiveWindow.RangeSelection.Address

Set xRg = Application.InputBox("vänligen välj dataintervall:", "Kutools för Excel", xTxt, , , , , 8)

Ställ in xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)

Om xRg är ingenting, avsluta Sub

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

(xRg.Areas.Count > 1) Sedan

MsgBox "Ogiltigt urval", , "Kutools för Excel"

Exit Sub

End If

Set xOutRg = Application.InputBox("vänligen välj utdataområde (ange en cell):", "Kutools för Excel", xTxt, , , , , 8)

Om xOutRg är ingenting, avsluta Sub

Application.ScreenUpdating = False

xLCount = xRg.Columns.Count

För xLRow = 1 Till xRg.Rows.Count

Ställ in xObjRRg = Range(xRg.Cells(xLRow, 2), xRg.Cells(xLRow, xLCount)).SpecialCells(xlCellTypeConstants)

On Error Resume Next

xC = (xObjRRg.Count Mod 2)

Om xC <> 0 Då

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

annars

xC = Int(xObjRRg.Count / 2)

End If

xI1 = 1

xI2 = 2

För xI = 1 Till xC

Range(xObjRRg.Item(xI1), xObjRRg.Item(xI2)).Kopiera

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

Application.CutCopyMode = False

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

Ställ in xOutRg = xOutRg.Offset(RowOffset:=1)

xI1 = xI1 + (2)

xI2 = xI2 + (2)

Nästa

Nästa

Application.ScreenUpdating = True

End Sub



Försök gärna, hoppas det kan hjälpa dig!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Bror, Koden fungerar mittemot. Se den bifogade skärmdumpen av kravet. Den tillgängliga data är radvis och vill överföra data i kolumner .
Denna kommentar minimerades av moderatoren på webbplatsen
Hej ygoyal,
Ursäkta för att jag svarar sent, använd följande kod, försök!

Sub transposeunique()

'uppdatering av Extendoffice

Dim xLRow As Long

Dim jag så länge

Dim xCrit As String

Dim xCol Som ny kollektion

Dim xRg As Range

Dim xOutRg As Range

Dim xTxt As String

Dim xCount As Long

Dim xVRg As Range

Dim xFRg, xSRg, xCRg Som intervall

On Error Resume Next

xTxt = ActiveWindow.RangeSelection.Address

Set xRg = Application.InputBox("vänligen välj dataintervall (endast 3 kolumner):", "Kutools för Excel", xTxt, , , , , 8)

Ställ in xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)

Om xRg är ingenting, avsluta Sub

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

(xRg.Areas.Count > 1) Sedan

MsgBox "det använda intervallet är bara ett område med två kolumner", , "Kutools för Excel"

Exit Sub

End If

Set xOutRg = Application.InputBox("vänligen välj utdataområde (ange en cell):", "Kutools för Excel", xTxt, , , , , 8)

Om xOutRg är ingenting, avsluta Sub

Ställ in xOutRg = xOutRg.Range(1)

xLRow = xRg.Rows.Count

För i = 2 Till xLRow

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

Nästa

Application.ScreenUpdating = False

Application.ScreenUpdating = False

För i = 1 Till xCol.Count

xCrit = xCol.Item(i)

xOutRg.Offset(i, 0) = xCrit

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

Ställ in xVRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)

Om xVRg.Count > xCount Då är xCount = xVRg.Count

Ställ in xSRg = xRg.Range("B2:B" & xLRow).SpecialCells(xlCellTypeVisible)

Ställ in xCRg = xOutRg.Offset(i, 1)

För varje xFRg I xSRg

xFRg.Copy

xCRg.PasteSpecial

xRg.Range("B1"). Kopiera

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

xFRg.Offset(0, 1).Kopiera

Ställ in xCRg = xCRg.Offset(0, 1)

xCRg.PasteSpecial

xRg.Range("c1"). Kopiera

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

Ställ in xCRg = xCRg.Offset(0, 1)

Nästa

Application.CutCopyMode = False

Nästa

xRg.Item(1).Kopiera

xOutRg.PasteSpecial

xRg.AutoFilter

Application.ScreenUpdating = True

End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Bro, jag försökte använda den här koden men excel hänger sig när jag kör den här koden och kunde inte se resultatet från ovanstående kod. vänligen föreslå vad du ska göra i det här fallet.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Koden fungerar bra i min arbetsbok, vilken Excel-version använder du?
Denna kommentar minimerades av moderatoren på webbplatsen
MS Excel 2016
Denna kommentar minimerades av moderatoren på webbplatsen
Koden fungerar bra i min Excel 2016 också, vänligen prova den med lite data från små intervall först.
Denna kommentar minimerades av moderatoren på webbplatsen
Har testat på 160 skivor men i den fortfarande dubblett fanns där.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Skyyang, älskar det här, har du någon chans att få det att fungera i fyra kolumner? återigen bara använda de två första som en komparator, eller ännu hellre möjligheten att välja antalet kolumner innan du väljer dem? Jag tittade på ditt manus, skulle inte ha en aning om hur man uppnår detta...
Denna kommentar minimerades av moderatoren på webbplatsen
Hej Skyyang, älskar det här, har du någon chans att få det att fungera i fyra kolumner? återigen bara använda de två första som en komparator, eller ännu hellre möjligheten att välja antalet kolumner innan du väljer dem? Jag tittade på ditt manus, skulle inte ha en aning om hur man uppnår detta...
Denna kommentar minimerades av moderatoren på webbplatsen
Broder, snälla hjälp med detta.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej bror, väntar fortfarande på din hjälp
Denna kommentar minimerades av moderatoren på webbplatsen
Hallå
Denna kommentar minimerades av moderatoren på webbplatsen
Samma som Dave, jag måste göra precis motsatsen till detta. Tabell 2 för att överföras till Tabell 1. Indatatabell 2, Utdatatabell 1.
Denna kommentar minimerades av moderatoren på webbplatsen
=INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) fungerade för mig att överföra de unika värdena för en kolumn till en ny kolumn MEN...finns det ett sätt att annonsera i en sorteringsfunktion så att den nya kolumnen som skapas transponeras i stigande ordning?


Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Behöver du få samma ut put men för fördefinierade kolumner som ska väljas skulle vara ($A,$B) och behöver utdatakolumnen Position på $D$1.
Om någon har idéer skulle det vara till stor hjälp!!!!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej kan vi lägga till varje rad och ge utdata i en kolumn, med ovanstående funktionalitet.
Denna kommentar minimerades av moderatoren på webbplatsen
Så jag jobbar på ett företag. Vi har kolumner för info som efternamn, förnamn, rang, sektion, telefonnummer, adress. Finns det något sätt jag kan använda en liknande formel för att överföra hela raden med information till en kolumn med namn?
Denna kommentar minimerades av moderatoren på webbplatsen
=INDEX($A$2:$A$16, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$16), 0)) fungerade för mig att överföra de unika värdena för en kolumn till en ny kolumn MEN...finns det ett sätt att få alla värden i B-kolumnen att transponeras enligt nedan:

Produkt Order Datum Produkt Order Order Order Order Order Order Order Order
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
Denna kommentar minimerades av moderatoren på webbplatsen
Makrot fungerade inte. Den kopierade bara innehållet i cell A1.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har en datauppsättning i kolumner A (Unikt ID) - E. Varje rad har data baserad på ID#, det finns flera rader för varje ID# men jag vill ha en rad per ID# med alla andra data i kolumner ( det skulle vara minst 5 kolumner långa och max 25 beroende på hur många varje unikt ID har). Jag hittade en kod men den fungerar bara för två kolumner. Jag var tvungen att sammanfoga de fyra kolumnerna (ej inklusive ID) och sedan avgränsa efter att ha kört makrot (mycket arbete). För 15,000 XNUMX rader med data är detta extra tidskrävande. Finns det ett oändligt kolumnmakro som skulle fungera? Tack på förhand alla för er hjälp!
ID-KOD ST KOD# DATUM
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har en datamängd som har flera ID:n i kolumn A och har kopplat data i kolumn B. Jag använde ovanstående formel och ändrade den lite så att jag överför cellerna i kolumn B till en rad baserat på det unika ID:t knuten till den i kolumn A. Formeln som används för att identifiera de unika ID:n är: =INDEX($A$2:$A$13409, MATCH(0, COUNTIF($D$1:$D1, $A$2:$A$13409), 0)). Formeln som används för att göra transponeringen är: =IFERROR(INDEX($B$2:$B$13409, MATCH(0, IF($A$2:$A$13409<>$D2, 1, 0)+COUNTIF($D2: D2,$B$2:$B$13409), 0)), "N/A"). Båda anges i artikeln, endast något ändrade.

Problemet är att min datauppsättning i kolumn B har dubbletter, som ibland visas efter varandra, och jag behöver alla värden i kolumnen för att presenteras i raderna.

Den bifogade bilden är vad jag vill att tabellen ska visa (detta är en liten provstorlek, den sanna datamängden har över 13,000 XNUMX poster). Vad som händer nu är när ett upprepningsvärde påträffas, det kommer inte att räkna det.
dvs rad 9 för ID 11980 visar nu bara 0 -31.79 -0.19 -0.74 N/AN/A .... när det jag behöver den ska visa istället är 0 0 -31.79 -0.19 -0.74 0 0 N/AN/A . ...

Finns det något sätt att kringgå det här problemet och lösa det?

Tack på förhand!
Denna kommentar minimerades av moderatoren på webbplatsen
Har du någonsin fått svar/upplösning på den här utmaningen? Jag har samma.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har en datamängd som har 3 kolumner som presenteras nedan:



Kolumn A Kolumn B Kolumn C



Land1 År1 Värde1

Land1 År2 Värde2

Land1 År3 Värde3,



Land2 År1 Värde1

Land2 År3 Värde3,

...........



Jag behöver kombinera dessa tre kolumner i en tabell så här:

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



Land1 Värde1 Värde2 Värde3

Land2 Värde1 # Missing Value3

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

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





Problemet jag står inför är att för vissa data i kolumn A har jag inte värden för varje år bara för vissa.(Till exempel land 2 saknar värden för år 2)





Finns det något sätt att kringgå det här problemet och lösa det?



Tack på förhand!
Denna kommentar minimerades av moderatoren på webbplatsen
kan du dela koden om det finns 2 kolumner som ska kopieras istället för 1. nedan är exemplet.
Det finns inga kommentarer här ännu
Ladda fler
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL