Hallo zusammen,
ich möchte gerne eine Exceltabelle umwandeln. Aktuell stehen die Informationen in Spalten der Reihe nach von links nach rechts wobei es "n-Kategorien" geben kann.
Diese möchte ich komprimieren und mit Datenfiltern nutzbar machen. (siehe Beispiel)
Gibt es da eine spezielle Funktion zur Umwandlung? :17:
Danke vorab!
Warum Bild und keine Musterdatei?
LG UweD
Hallo Rud,
wenn ich ein Makro wär, würde ich von jedem Spaltenkopf die Spaltennummer seines erstes Auftretens von links weg notieren. Das ist dann die Zielspalte beim Verschieben der jeweiligen Einträge, wenn ich die Zeilen einzeln durchgehe.
Das aber nur, wenn sich keine anderen Lösungen, wie zB Formeln, etc. finden. Denn der Aufwand für das Makro ist erst ab einer bestimmten Anzahl von Zeilen gerechtfertigt.
mal sehen, was noch kommt.
Gruß,
Raoul
Sorry, hatte ich vergessen
@ Raoul
oh je, ich arbeite seit einiger Zeit kaum mehr mit VBA. Und da muss ich doch glatt die Nachricht verpasst haben, dass ich mich rechtfertigen muss, wenn ich VBA-Code in meinem Projekt einsetze. Insofern mein Dank für den Hinweis … :72:
Hallöchen,
hier mal was mit Formeln. Das Zielformat habe ich ausgeschnitten und auf einem zweiten Blatt realisiert.
Die Formel ist für (bis zu) 5 Zeileneinträgen verwendbar, bei mehr muss sie entsprechend erweitert werden. Sind keine Einträge vorhanden, wird jeweils 0 ausgegeben.
Die Formel in B2 kann bis G2 und beliebig nach unten verwendet werden, in H2 ebenso - bis K2 und dann nach unten. Nicht nötige Zeilen kann man ausblenden oder, wenn die Daten statisch sind, die Ergebnisse kopieren, als Werte einfügen, und dann das Unnütze löschen.
Arbeitsblatt mit dem Namen 'Tabelle2' |
| A | B | C | D | E | F | G | H | I | J | K |
1 | Zielformat | Debitor | Debitor Name | AD-Mitarbeiter | PLZ | Ort | Geschäftsart | Artikelkategorie | Absatz (KG) | Anzahl Positionen | Anzahl Aufträge |
2 | | 24 | Metallbau Müller GmbH | Mitarbeiter-05 | 71576 | Koblenz | Lager/zukauf | Träger | 3267,5 | 2 | 2 |
3 | | 24 | Metallbau Müller GmbH | Mitarbeiter-05 | 71576 | Koblenz | Lager/zukauf | Stabstahl | 1344 | 3 | 2 |
4 | | 24 | Metallbau Müller GmbH | Mitarbeiter-05 | 71576 | Koblenz | Lager/zukauf | 0 | 0 | 0 | 0 |
5 | | 24 | Metallbau Müller GmbH | Mitarbeiter-05 | 71576 | Koblenz | Lager/zukauf | 0 | 0 | 0 | 0 |
6 | | 24 | Metallbau Müller GmbH | Mitarbeiter-05 | 71576 | Koblenz | Lager/zukauf | 0 | 0 | 0 | 0 |
7 | | 25 | ich | 0 | 0 | 0 | 0 | du | 0 | 0 | 0 |
8 | | 25 | ich | 0 | 0 | 0 | 0 | er | 0 | 0 | 0 |
9 | | 25 | ich | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
10 | | 25 | ich | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
11 | | 25 | ich | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
12 | | 26 | sie | 0 | 0 | 0 | 0 | es | 0 | 0 | 0 |
13 | | 26 | sie | 0 | 0 | 0 | 0 | ihr | 0 | 0 | 0 |
14 | | 26 | sie | 0 | 0 | 0 | 0 | wir | 0 | 0 | 0 |
15 | | 26 | sie | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
16 | | 26 | sie | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Zelle | Formel |
B2 | =INDEX(Tabelle1!B:B;AUFRUNDEN(ZEILE(B1)/5;0)+1;1) |
H2 | =INDEX(Tabelle1!$H:$AA;AUFRUNDEN(ZEILE(H1)/5;0)+1;(REST(ZEILE(H1)-1;5)+1)*4-3+SPALTE(A1)-1) |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg |
@Günther, mir geht's wie Dir. Ich habe hier auch nix gesehen, dass man sich für VBA rechtfertigen muss. :17:
Falls da was missverstanden wurde: Ich habe nichts davon geschrieben, dass ich mich oder jemand sich, sondern den hohen Aufwand der Makroerstellung rechtfertigen muss, zumindest vor sich selbst. Damit meine ich, dass ich mir vorher gut überlege, ob ich für geringen Zeitersparnis bei der Anwendung ein paar Stunden mit Makroschreiben investiere. Oder wenn es eine Formel, deren Erstellung viel schneller ist, das selbe Ergebnis liefert.
Da kann ich mich Andre nur anschließen: "@Günther, mir geht's wie Dir. Ich habe hier auch nix gesehen, dass man sich für VBA rechtfertigen muss."
Dennoch danke für Deine Mitteilung. Der Fragesteller jedenfalls ist geflüchtet. Schade eigentlich, weil die Formel sieht gut aus.
Gruss,
Raoul