Mehrere Spalteneinträge nebeneinander in einer Zeile anordnen

Folgendes Problem: Ich habe in Spalte A die Artikelnummer „507986“ mehrfach, mit jeweils 2 Werten (Spalte B + C )
Ich möchte die Liste so ändern, dass ich nur eine Zeile mit der Artikelnummer „507986“ habe und in den folgenden Spalten die Werte aus Spalte B als Überschrift in Zeile A und die Werte aus Spalte C in die Zeile 2.
Das würde in diesem Besispiel sein, dass in Zeile 1 (Überschrift)die Werte"Artikel-Nr",„Modelname“,„Lieferumfang“,„Planungshinweise“,etc stehen und dass man in Zeile 2 mit der Artikel-Nr 507986
beginnt mit den dann folgenden Werten der Spalte C. Es sind ca 2000 Artikel in dieser Liste, die nicht immer gleich lang sind, sprich malhat eine Artikelnummer 10 Zeilen, mals 15 mal 17.

Wie kann ich das lösen?

Dank im Voraus.

Peter

Hallo,
aus dieser vorhandenen datanbankaehnlichen Anordnung laesst sich viel machen, finde ich gelungen, wuerde ich eher nicht umstricken.
Willst Du dennoch, probier mal die Funktion von Excel „transponieren“.
Aber nur in einer Kopie der Tabelle, vermutlich gefaellt es nicht. Laesst sich dan gar nicht mehr vernuenftig drucken, nur mit viel scrollen noch lesen.
Das muesste dann mit jedem Artikel gemacht werden, 150 mal etwa von Hand.
Gruss Helmut

Danke für die Hilfe, aber soviel manuell wollte ich ja gerade nicht machen. Das Problem, ich habe eine Datenbank, die die Artikel nur zeilenweise einliest. Je Artikel nur 1 Zeile aber viele Spalten.

Moin,

das ist keine Datenbank, sondern eine Müllkippe. Täglich werden Hunderttausende damit verdient, solchen Schrott zu normalisieren, dh in die Struktur Deiner Excel-Datei zu bringen.

Wenn’s denn mit der Brechstange sein muss:

  für alle Zeilen
     3 Spalten aus Q(uelldate) nach Z(ieldatei)
     z.Spalte = 3
     wenn q.nächsteZeile.Artikelnummer = q.aktuelleZeile.Artikelnummer
       2 Spalten aus Q nach Z
       z.spalte = z.spalte +2
     sonst  
  nächste Zeile

Gruß
Ralf

Hört sich gut an. Gibts dazu auch noch die passende Excel Formel? Danke

Die Formel gibt es nicht, die müsstest Du Dir basteln- das ist der Sinn von Excel. Oder jemanden suchen, der’s kann.

Was spricht denn gegen VBA?

Gruß
Ralf

Ja super. Da bin ich ja wunderbar im Kreis gelaufen und wieder am Anfang meiner Frage. Das ich mir was basten kann und wie die Analyse des Problems ist, wusste ich ehrlich gesagt schon vorher.

Hat denn jemand anders eine Lösung für das Problem ?

Grüezi Peter

Versuchen könnte ich es :wink: Dazu aber eine Bitte: Du hast einen Screenshot Deiner Original-Tabelle hochgeladen. Wenn Du auch einen Screenshot hochladen würdest, auf dem einige manuell erstellte Zeilen Deiner „Lösungstabelle“ abgebildet sind, ginge es leichter!

Ich warte mal und grüsse freundlich
Niclaus

Hi Niclaus,

schwächelst Du heute? Geht doch ganz klar aus der Aufgabenstellung hervor.

Artikelnr1 Datenfeld1 Attrwert1 Datenfeld2 Attrwert2 Datenfeld3 Attrwert3
Artikelnr2 Datenfeld1 Attrwert1 Datenfeld2 Attrwert2 
Artikelnr3 Datenfeld1 Attrwert1
Artikelnr1 Datenfeld1 Attrwert1 Datenfeld2 Attrwert2 Datenfeld3 Attrwert3  Datenfeld4 Attrwert4

Gruß
Ralf

An Niclaus!
oben siehst du die Tabelle, die ich benötige, unten die Quelldatei. Achtung: Die Rubriken sind nicht bei allen Artikeln gleich.
Danke im Voraus
Peter

Peter sieht es etwas anders als Du!

et si tacuisses philosophus non mansisses

Na ja, wenn sich zwischendrin sogar die Spaltennamen ändern, dann kommt es wohl nicht mehr darauf an, ob n-mal A und n-mal B oder n-mal (A, B).

Sehr reizvoll auch die Anmerkung: „Achtung: Die Rubriken sind nicht bei allen Artikeln gleich.“ Viel Spaß beim Kaffesatzlesen!

Im Übrigen bleibe ich bei meiner Idealvorstellung, dass Fragesteller sich ebenfalls bemühen sollten.

Gruß
Ralf

ps: Latein kann ich auch nicht ':frowning:

Vielleicht habe ich mich etwas unklar, aber ich dachte, es ging aus den Sceenshots hervor! Klar ist, dass alle Werte aus Spalte B in dierneuen Tabelle als Spaltenüberschrift fungieren und die Werte aus Spalte C die Zeilenwerte jeden Artikels sind. Das Problem ist folgendes: in der neuen Tabelle gibt es geschätzt 40 Spaltenüberschriften, aber jeder Artikel bedient nicht jede Spalte mit einem Wert, sondern der eine Artikel hat 20 Werte, der nächste vielleicht 30. Alle Werte lassen sich zu den ca. 40 Spalten zuordnen.

Das hat also nichts mit Kaffeesatzleserei zu tun. Wäre es so, hätte ich meine Glaskugel gefragt.

Es geht einfach nur darum, Werte zu transformieren, ohne doppelte Spalten zu erhalten und richtige Spaltenzuordnungen zu erreichen.

Dass sich der Fragesteller auch bemühen sollte, errinnert mich stark an meine Schulzeit und inkompetente Lehrer.

Also, wer kann mir die passende Formel nennen?

Schönen Restsonntag.

peter

Hallo Peter
Ich glaube, es ist mir klar, wie Deine Tabelle aussehen sollte. - Mit einer Formel wird es kaum möglich sein, eine Lösung zu finden. Trotzdem noch Fragen dazu:
a) Kennst Du Dich etwas aus mit Makros? - Wie bereits gesagt wurde, wäre eine Makro-Lösung wohl die einfachste Variante. - Wenn nicht:
b) Kennst Du Dich aus mit Pivot-Tabellen? Damit könnte man die ca. 40 Spalten generieren.
Je nach Deiner Antwort würde ich versuchen, etwas zu basteln.
Viele Grüsse Niclaus

Mal blöd gefragt: Was spricht dagegen eine SVerweis-Formel zu benutzen? Ich stelle mir das folgendermaßen vor: Du erzeugst dir eine weitere Spalte an Stelle C, dort erstellst du dir einen eindeutigen Index, sagen wir

C2=A2&" "&B2

Das ganze dann durch die Spalte kopieren, einen Datenbereich erstellen (Ich nenne ihn mal „Daten“) der die Spalten C und D abdeckt, dann die Kreuztabelle erstellen (Natürlich neues Blatt, alle Nummern in Spalte A, alle Felder in Zeile 1), dann kann man mit

B2=SVerweis($A2&" "&B$1;Daten;2;FALSCH)

den Wert für das Feld B2 füllen lassen, diese Formel einfach über die ganze Kreuztabelle kopieren, Fehler abfangen, fertig.

Hallo Darin

Eine einfache und elegante Formel! Dazu muss man in der Daten-Tabelle für die Matrix allerdings eine Hilfsspalte einfügen mit A2&" "&B2.

Eine Formel in B2, die ohne eine Hilfsspalte auskommt, lautet:

=WENNFEHLER(INDEX(Daten!$C:$C;VERGLEICH(1;(Daten!$A:$A=$A2)*(Daten!$B:$B=B$1);0));"")

Diese Formel muss als Matrix-Formel eingegeben werden, also mit CTRL-RETURN statt nur mit RETURN. Sie kann dann in die andern Zellen kopiert werden.

Vorher müsste man - wohl am einfachsten mit Pivot-Tabellen - die Artikelnummern und die Spaltenbeschriftungen (Modellname, Beschreibung intern usw.) eruieren.

Grüsse Niclaus

Vielen Dank. Ich werde es ausprobieren.
Peter