Přejít k hlavnímu obsahu

Jak transponovat buňky v jednom sloupci na základě jedinečných hodnot v jiném sloupci?

Autor: Xiaoyang Naposledy změněno: 2024-10-12

Předpokládejme, že máte rozsah dat, který obsahuje dva sloupce, nyní chcete transponovat buňky v jednom sloupci do vodorovných řádků na základě jedinečných hodnot v jiném sloupci, abyste získali následující výsledek. Máte nějaké dobré nápady, jak tento problém vyřešit v aplikaci Excel?

Snímek obrazovky ukazující požadovaný výsledek po transpozici buněk na základě jedinečných hodnot

Transponujte buňky v jednom sloupci na základě jedinečných hodnot pomocí vzorců

Transponujte buňky v jednom sloupci na základě jedinečných hodnot pomocí kódu VBA

Transponovat buňky v jednom sloupci na základě jedinečných hodnot pomocí Kutools for Excel


Transponujte buňky v jednom sloupci na základě jedinečných hodnot pomocí vzorců

Pomocí následujících vzorců pole můžete extrahovat jedinečné hodnoty a transponovat jejich odpovídající data do vodorovných řádků, postupujte takto:

1. Zadejte tento vzorec pole: = INDEX ($ A $ 2: $ A $ 16, MATCH (0, COUNTIF ($ D $ 1: $ D1, $ A $ 2: $ A $ 16), 0)) do prázdné buňky, například D2, a stiskněte Shift + Ctrl + Enter společně získáte správný výsledek, viz screenshot:

Snímek obrazovky zobrazující vzorec pro extrakci jedinečných hodnot pro transpozici dat

Hodnocení: Ve výše uvedeném vzorci, A2: A16 je sloupec, ze kterého chcete vypsat jedinečné hodnoty, a D1 je buňka nad touto buňkou vzorce.

2. Poté přetáhněte úchyt výplně dolů do buněk a extrahujte všechny jedinečné hodnoty, viz screenshot:

Snímek obrazovky zobrazující jedinečné hodnoty extrahované pomocí vzorce

3. A pak pokračujte v zadávání tohoto vzorce do buňky 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)a nezapomeňte stisknout Shift + Ctrl + Enter klávesy pro získání výsledku, viz screenshot:

Snímek obrazovky ukazující vzorec pro transpozici buněk v Excelu na základě jedinečných hodnot

Hodnocení: Ve výše uvedeném vzorci: B2: B16 jsou data sloupce, která chcete transponovat, A2: A16 je sloupec, na kterém chcete transponovat hodnoty založené na, a D2 obsahuje jedinečnou hodnotu, kterou jste extrahovali v kroku 1.

4. Poté přetáhněte úchyt výplně napravo od buněk, u kterých chcete zobrazit transponovaná data, dokud se nezobrazí 0, viz screenshot:

Snímek obrazovky ukazující transponovaná data v Excelu pomocí vzorců

5. A pak pokračujte v přetahování popisovače výplně dolů do rozsahu buněk, abyste získali transponovaná data, jak ukazuje následující snímek obrazovky:

Snímek obrazovky zobrazující konečná transponovaná data v Excelu na základě jedinečných hodnot


Transponujte buňky v jednom sloupci na základě jedinečných hodnot pomocí kódu VBA

Může to být tím, že vzorce jsou složité, abyste pochopili, zde můžete spustit následující kód VBA a získat požadovaný výsledek, který potřebujete.

1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modula vložte následující kód do Modul Okno.

Kód VBA: Transponujte buňky v jednom sloupci na základě jedinečných hodnot v jiném sloupci:

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. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a zobrazí se okno s výzvou, které vám připomene výběr rozsahu dat, který chcete použít, viz screenshot:

Snímek obrazovky s výzvou k výběru rozsahu dat k transpozici v Excelu

4. A pak klikněte na tlačítko OK tlačítko, vyskočí další okno s výzvou, které vám připomene, abyste vybrali buňku, která má dát výsledek, viz screenshot:

Snímek obrazovky s výzvou k výběru výstupní buňky pro transponovaná data v Excelu

6, klikněte OK tlačítko a data ve sloupci B byla provedena na základě jedinečných hodnot ve sloupci A, viz screenshot:

Snímek obrazovky ukazující transponovaná data v Excelu po spuštění kódu VBA


Transponovat buňky v jednom sloupci na základě jedinečných hodnot pomocí Kutools for Excel

Pokud máte Kutools for Excel, kombinace Pokročilé kombinování řádků si Rozdělit buňky nástroje, můžete tento úkol rychle dokončit bez jakýchkoli vzorců nebo kódu.

Kutools for Excel nabízí více než 300 pokročilých funkcí pro zefektivnění složitých úkolů, zvýšení kreativity a efektivity. Itegarujte se schopnostmi AI, Kutools automatizuje úkoly s přesností, čímž usnadňuje správu dat. Podrobné informace o Kutools for Excel...         Zkušební verze zdarma...

Po instalaci Kutools for Excel, postupujte následovně:

1. Vyberte rozsah dat, který chcete použít. (Pokud si chcete uchovat původní data, nejprve je zkopírujte a vložte do jiného umístění.)

2. Pak klikněte na tlačítko Kutools > Sloučit a rozdělit > Pokročilé kombinování řádků, viz screenshot:

Snímek obrazovky s možností Rozšířené sloučení řádků na Kutools záložka na pásu karet

3. V Kombinujte řádky na základě sloupce V dialogovém okně proveďte následující operace:

(1.) Klikněte na název sloupce, podle kterého chcete data transponovat, a vyberte Primární klíč;

(2.) Klikněte na jiný sloupec, který chcete transponovat, a klikněte na Kombinovat pak vyberte jeden oddělovač k oddělení kombinovaných dat, jako je mezera, čárka, středník.

Snímek obrazovky dialogového okna Kombinovat řádky podle sloupce

4. Pak klikněte na tlačítko Ok tlačítko, data ve sloupci B byla kombinována společně v jedné buňce na základě sloupce A, viz screenshot:

Snímek obrazovky zobrazující kombinovaná data v Kutools for Excel po sloučení řádků na základě jedinečných hodnot

5. Potom vyberte spojené buňky a klikněte Kutools > Sloučit a rozdělit > Rozdělit buňky, viz screenshot:

Snímek obrazovky s možností Rozdělit buňky na Kutools záložka na pásu karet

6. V Rozdělit buňky dialogové okno vyberte Rozdělit na sloupce pod Typ možnost a poté vyberte oddělovač, který odděluje vaše kombinovaná data, viz screenshot:

Snímek obrazovky dialogového okna Rozdělit buňky

7. Pak klikněte na tlačítko Ok Tlačítko a vyberte buňku, do které chcete rozdělený výsledek umístit do vyskakovacího dialogového okna, viz screenshot:

Snímek obrazovky dialogového okna pro výběr výstupní buňky

8, klikněte OK, a získáte výsledek, jak potřebujete. Viz screenshot:

Snímek obrazovky ukazující konečný výsledek transponovaných dat

Stáhněte si a vyzkoušejte zdarma Kutools for Excel Nyní !


Demo: Transponování buněk v jednom sloupci na základě jedinečných hodnot pomocí Kutools for Excel

 
Kutools for Excel: Více než 300 užitečných nástrojů na dosah ruky! Užijte si trvale bezplatné funkce AI! Stáhnout nyní!

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  vzývat Kutools Funkce...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více
Použijte Kutools ve vašem preferovaném jazyce – podporuje angličtinu, španělštinu, němčinu, francouzštinu, čínštinu a více než 40 dalších!

Vylepšete si své excelové dovednosti s Kutools for Excela zažijte efektivitu jako nikdy předtím. Kutools for Excel Nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...


Office Tab Přináší do Office rozhraní s kartami a výrazně vám usnadňuje práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!