Preskoči na glavno vsebino

Kako pretvoriti tabelo slogov matrice v tri stolpce v Excelu?

Recimo, da imate tabelo v matričnem slogu, ki vsebuje naslove stolpcev in naslove vrstic, zdaj pa bi radi pretvorili to tabelo slogov v tabelo s tremi stolpci, imenovano je tudi tabela seznamov, kot je prikazano na spodnji sliki zaslona, ​​ali imate kakšne dobre načine za rešitev tega težava v Excelu?

Tabelo sloga matrike pretvorite v seznam z vrtilno tabelo

Pretvorite matrično tabelo sloga v seznam s kodo VBA

Pretvorite matrično tabelo sloga v seznam s programom Kutools za Excel

doc pretvori matriko v seznam 1


V Excelu ni neposredne funkcije za pretvorbo tabele sloga matrike v tabelo s tremi stolpci, če pa poznate vrtilno tabelo, vam bo morda naredil uslugo. Naredite naslednje:

1. Aktivirajte delovni list, ki ga želite uporabiti, nato ga pridržite Alt + D, nato pritisnite P v tipkovnici, v izpuščeni Vrtilna tabela in čarovnik vrtilnih grafikonov dialog, izberite Več konsolidacijskih obsegov pod Kje so podatki, ki jih želite analizirati in nato izberite Vrteča miza pod Kakšno poročilo želite ustvariti razdelek, glej posnetek zaslona:

doc pretvori matriko v seznam 2

2. Nato kliknite Naslednji v gumbu Korak 2a od 3 čarovnika, izberite Ustvaril bom polja strani možnost, glej posnetek zaslona:

doc pretvori matriko v seznam 3

3. Pojdi na klik Naslednji v gumbu Korak 2b od 3 Čarovnik kliknite doc pretvori matriko v seznam 5 , da izberete obseg podatkov, ki ga želite pretvoriti, in nato kliknite Dodaj , da dodate obseg podatkov v Vsi razponi seznam, glej posnetek zaslona:

doc pretvori matriko v seznam 4

4. in kliknite Naslednji gumb, v Korak 3 3 čarovnika, izberite želeno mesto za vrtilno tabelo.

doc pretvori matriko v seznam 6

5. Nato kliknite Konec gumb, naenkrat je bila ustvarjena vrtilna tabela, glej posnetek zaslona:

doc pretvori matriko v seznam 7

6. V vrtilni tabeli dvokliknite presekajočo celico splošnega seštevka, v tem primeru bom dvokliknil celico F22 in ustvarila bo tabelo s tremi stolpci, kot je prikazano na sliki spodaj:

doc pretvori matriko v seznam 8

7. In na koncu lahko pretvorite obliko tabele v običajni obseg tako, da izberete tabelo in nato izberete Tabela > Pretvori v obseg v priročnem meniju si oglejte posnetek zaslona:

doc pretvori matriko v seznam 9


Če vam prva metoda ni všeč, vam lahko pomaga tudi naslednja koda VBA.

1. Pritisnite Alt + F11 za prikaz Microsoft Visual Basic za aplikacije okno.

2. V oknu kliknite Vstavi > Moduli če želite prikazati novo okno modula, kopirajte in prilepite naslednjo kodo VBA v okno modula.

Koda VBA: Pretvori tabelo slogov matrike v seznam

Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

3. Nato pritisnite F5 tipko za zagon te kode in pojavi se pozivno okno, da izberete oznake stolpcev podatkov, glejte posnetek zaslona:

doc pretvori matriko v seznam 10

4. In nato kliknite OK v naslednjem pozivu izberite oznake vrstic in si oglejte posnetek zaslona:

doc pretvori matriko v seznam 11

5. Pojdi na klik OK, nato v pozivnem polju izberite obseg podatkov brez naslovov stolpcev in vrstic, glejte posnetek zaslona:

doc pretvori matriko v seznam 12

6. In nato kliknite OK, v tem pogovornem oknu izberite celico, v kateri želite poiskati rezultat. Oglejte si posnetek zaslona:

doc pretvori matriko v seznam 13

7. Končno kliknite OK, in naenkrat boste dobili tabelo s tremi stolpci.


Obe zgornji metodi sta nekoliko težavni, tukaj vam bom predstavil preprost način - Kutools za Excel, Z njegovim Prenesi dimenzije tabele Funkcijo lahko hitro pretvorite med matriko celic in tabelo s seznami.

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. Kliknite Kutools > Območje > Prenesi dimenzije tabele, glej posnetek zaslona:

2. v Prenesi dimenzije tabele pogovorno okno:

(1.) Izberite Navzkrižna tabela za seznam možnost pod Vrsta prenosa.

(2.) In nato kliknite doc pretvori matriko v seznam 5 gumb pod Območje virov , da izberete obseg podatkov, ki ga želite pretvoriti.

(3.) Nato kliknite doc pretvori matriko v seznam 5 gumb pod Razpon rezultatov , da izberete celico, kamor želite postaviti rezultat.

doc pretvori matriko v seznam 15

3. In nato kliknite OK in dobili boste naslednji rezultat, ki vključuje prvotno oblikovanje celic:

doc pretvori matriko v seznam 16

S tem pripomočkom tudi vi pretvori tabelo ravnega seznama v dvodimenzionalno navzkrižno tabelo.

Če želite izvedeti več o tej funkciji Transpose Table Dimensions.

Prenesite in brezplačno preizkusite Kutools za Excel zdaj!


Kutools za Excel: z več kot 300 priročnimi dodatki za Excel, brezplačno preizkusite brez omejitev v 30 dneh. Prenesite in brezplačno preskusite zdaj!

Najboljša pisarniška orodja za produktivnost

🤖 Kutools AI Aide: Revolucionirajte analizo podatkov na podlagi: Inteligentna izvedba   |  Ustvari kodo  |  Ustvarite formule po meri  |  Analizirajte podatke in ustvarite grafikone  |  Prikličite funkcije Kutools...
Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

Opis


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!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks for the tips. It's greatly saved my time and manual efforts.
This comment was minimized by the moderator on the site
Anybody know how to do this in a mac?
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
For the VBA Code, one seems to really need this:xColumns = cRng.Column
xRow = rRng.Row
This comment was minimized by the moderator on the site
do you have a code with a tweak where the leftmost column of a selection is column labels and the topmost row of a selection is row labels?

Thanks in advance,
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
Thanks a Ton, really appreciate the way you have explained. very useful
This comment was minimized by the moderator on the site
Thanks alot for this useful tool
This comment was minimized by the moderator on the site
Thanks, this was exactly what I was looking for. Awesome:)
This comment was minimized by the moderator on the site
what if i have 4 or more column?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations