Przekształcenie tabeli w liste - Excel

0

Cześć, czy za pomocą formułek, można w ten sposób zmienić tabelę. Jak do tego podejśc żeby w nowej tabeli(tak jak w tab2) automatycznie przeniesc odpowiedni wiersz i nagłówek kolumny wraz ze wspólną wartością(pomijając zera) z tab1.

tab1
------AAAA | BBBB | CCCC | DDDD|
Z1 |----0----|----1----|----0----|----2----|
Z2 |----1----|----3----|----0----|----0----|
Z3 |----1----|----1----|----8----|----0----|

tab2
Z2 | AAAA | 1
Z3 | AAAA | 1
Z1 | BBBB | 1
Z2 | BBBB | 3
Z3 | BBBB | 1
Z3 | CCCC | 8
Z1 | DDDD | 2

0

Wszystko się da, tylko tutaj moim zdaniem prędzej skryptem niż formułkami

0
pavarotti napisał(a):

Wszystko się da, tylko tutaj moim zdaniem prędzej skryptem niż formułkami

Ok, dzięki. Podejrzewałem że tak będzie, w takim razie zabieram się za VBA.

0

Przecież to tabela przestawna. Parę klików i masz...

1

Tabela przestawna ok ale dla paru kolumn przy większej ilości możesz użyć makro
Formułkami ? nie wiem o co chodzi za pomocą jakiejś formuły tak ?

masz makro które oprócz tego że zmienia format to jeszcze w przypadku dużych tabel nie weźmie pod uwagę pustych wierszy żeby zmieściły się :D do 1 miliona



sub zmien()

Application.ScreenUpdating = False 

s = Cells(Rows.Count, 1).End(xlUp).Row 
z = Cells(Columns.Count, 1).End(xlToRight).Column 

 Sheets("WYNIK").Select 
    Rows("2:2").Select 
    Range(Selection, Selection.End(xlDown)).Select 
    Selection.ClearContents 
    Cells(1, 1).Select 
        
Sheets("Dane").Select 

n = 2 

For r = 2 To s 
    
    For d = 2 To z 
    Sheets("Dane").Select 
                        
            wiersz = Cells(r, 1).Value 
            qty = Cells(r, d).Value 
            kolumna = Cells(1, d).Value 
            
            If qty > 0 Then 
                        
                Sheets("WYNIK").Select 
                Cells(n, 1).Value = kolumna 
                Cells(n, 2).Value = wiersz 
                Cells(n, 3).Value = qty 
                n = n + 1 
            Else 
        
            End If 
        
    Next d 
    
Next r 

End Sub 
0

Dzięki winek, właśnie na czymś zbliżonym mi zależało. Zmodyfikowałem delikatnie i działa dokładnie tak jak chciałem.

0

@KaAeMIeL:
Super ciesze się jeżeli pomogłem

1 użytkowników online, w tym zalogowanych: 0, gości: 1