Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1672to1676
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereiche in Abhägigikeit zwischen Zeilen kopieren

Bereiche in Abhägigikeit zwischen Zeilen kopieren
06.02.2019 15:04:51
gjunge
Hallo,
ich habe keine Idee ... :(
...aber sicher ist es am Ende ganz simpel ...
Aus einer csv. Datei erhalte ich die Werte in zwei Spalten. Wenn in Spalte A der Inhalt "STEP 1" ist, dann sollen die dazugehörigen Werte aus A und B von Step 1 bis Step 2 kopiert werden und in ein neues Tabellenblatt eingefügt werden. Das ganze wiederholt sich fortlaufend, wobei die Anzahl der Zeilen und der einzelnen Steps variabel sein kann. In der Beispieldatei habe ich das gewünschte Ergebnis in Tabelle 1 eingefügt und umrahmt.
https://www.herber.de/bbs/user/127462.xlsx
Danke im Voraus für eure Hilfe

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit INDEX() und VERGLEICH() ...
06.02.2019 17:38:38
neopa
Hallo,
... so wie Du es bisher beschrieben hast, kann das Ergebnis in Deiner Beispieldatei mit folgender Formel in H5:
=WENNFEHLER(WENN(INDEX($A:$A;VERGLEICH(H$4;$A:$A;0)+ZEILE(A1))=$G5;INDEX($B:$B;VERGLEICH(H$4;$A:$A;0)+ZEILE(A1));"");"")
und diese nach unten und rechts ziehend kopieren erzeugt werden.
Die Anpassung der Formel für die Erzeugung in einem anderen Tabellenblatt dürfte jetzt kein Problem für Dich mehr darstellen.
Gruß Werner
.. , - ...
Bereiche in Abhägigikeit zwischen Zeilen kopieren
07.02.2019 10:32:56
gjunge
Hallo Werner,
danke für die schnelle Hilfe. Das klappt prima mit der Formel.
Aber ich habe mich augenscheinlich noch etwas ungenau ausgedrückt. Der Tabellenaufbau/ -beschriftung - also in diesem Fall H4 (bis alle Steps aus Spalte A) sowie G:G sollten auch aus der Spalte A generiert werden. Es kann also vorkommen, dass ich bei Aufruf der csv- Datei heute die in der Bsp.- Datei angegeben Werte in Spalte A habe und morgen die einzelnen Werte zwischen den Steps anders bezeichnet sind oder auch mehr oder weniger Zeilen haben.
D. h. Spalte G sowie der Tabellenkopf ab H4 sollten dynamisch die Werte zu aus Spalte A ziehen können.
Viele Grüße und besten Dank
Anzeige
AW: dies wirft einige Zusatzfragen auf ...
07.02.2019 11:06:31
neopa
Hallo,
... was ist fix in Deinen Daten der Spalte A? Beginnen Deine "Steps" immer mit "Step"? Oder steht immer als erster Begriff je "Step" der Begriff "Name"? Ist die Reihenfolge danach immer die gleiche? Fehlen nur wie in Deiner Beispieldatei teils einige Datenwerte bei bestimmten "Steps" und nur zum Ende dessen?
Wie viele Datenwerten stehen denn max. ca in Spalte A zur Auswertung an?
Gruß Werner
.. , - ...
AW: dies wirft einige Zusatzfragen auf ...
07.02.2019 11:50:24
gjunge
Hallo,
also "Step" ist immer "Step" und danach folgt immer der Begriff "Name". Innerhalb einer csv. Datei kann die Anzahl der Zeilen zwischen "Step" und "Step" unterschiedlich sein. Auch gibt es innerhalb eines Steps zwischendrin mal leere Zeilen. Die Anzahl der Step ist variabel, liegt aber meist zwischen 20 und 30. Anbei nochmal ein Bsp. https://www.herber.de/bbs/user/127478.xlsx
Viele Grüße
Anzeige
AW: ein erster Schritt ... weitere Fragen ...
07.02.2019 14:04:26
neopa
Hallo,
... die Auflistung der "Steps" im Tabellenblatt 2 kann z.B. wie folgt vorgenommen werden.
In B1:

=WENNFEHLER(INDEX(Tabelle1!$A:$A;AGGREGAT(15;6;ZEILE(A1:A5000)/(LINKS(Tabelle1!$A1:$A5000;4)="Step"); SPALTE(A1)));"")

und Formel bis z.B. AK1 nach rechts ziehend kopieren.
Die Anzahl der Begriffe für die ersten "Steps" sind weniger als für die zweite Hälfte. Das ist an sich noch kein Problem. Sollen wirklich alle (im Beispiel bis zu 200) gelistet werden? Inklusive der Leerzellen? Ist denn gewährleistet, dass bei den mit den meisten begriffen auch alle "Begriffe" der anderen "Steps" gelistet sind? Oder muss das auch abgeprüft werden?
Gruß Werner
.. , - ...
Anzeige
AW: ein erster Schritt ... weitere Fragen ...
07.02.2019 15:00:49
gjunge
Hallo nochmal,
Leerzeilen können in diesem Zusammenhang natürlich entfernt werden. Ich würde sagen, in 99% der Fälle enthalten die "meisten" Begriffe dann auch tatsächlich alle, aber wie so oft ... in der Praxis sieht es dann doch anders aus. Also wäre eine Überprüfung sinnvoll.
Danke schon mal für die bisherige Hilfe :)
AW: dann der zweite Schritt ... und Hinweise ...
07.02.2019 15:40:20
neopa
Hallo,
... mit drei Hilfszellenformeln in Tabelle1 können nachfolgend auch in Tabelle2 die Daten der Spalte A ermittelt werden.
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCD
1Name = x  199
2   13
3PASSPORT  2274
4Description = x   
5Creator = x   

ZelleFormel
D1=AGGREGAT(14;6;AGGREGAT(15;6;ZEILE(A1:A5000)/(LINKS(Tabelle1!$A1:$A5000;4)="Step");ZEILE(A2:A33))-AGGREGAT(15;6;ZEILE(A1:A5000)/(LINKS(Tabelle1!$A1:$A5000;4)="Step");ZEILE(A1:A33));1)
D2=AGGREGAT(15;6;ZEILE(A1:A33)/(AGGREGAT(15;6;ZEILE(A1:A5000)/(LINKS(Tabelle1!$A1:$A5000;4)="Step");ZEILE(A2:A33))-AGGREGAT(15;6;ZEILE(A1:A5000)/(LINKS(Tabelle1!$A1:$A5000;4)="Step");ZEILE(A1:A33))=D1);1)
D3=AGGREGAT(15;6;ZEILE(A1:A5000)/(LINKS(Tabelle1!$A1:$A5000;4)="Step");D2)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Arbeitsblatt mit dem Namen 'Tabelle2'
 ABCD
1 STEP 1STEP 2STEP 3
2Name = x   
3ChLocation = x   
4Mode = x   
5MaxTime = x   
6DCP = x   
7Offset_Set = x   
8OffsetIdx_Set = x   

ZelleFormel
B1=WENNFEHLER(INDEX(Tabelle1!$A:$A;AGGREGAT(15;6;ZEILE(A1:A5000)/(LINKS(Tabelle1!$A1:$A5000;4)="Step");SPALTE(A1)));"")
A2=WENNFEHLER(INDEX(Tabelle1!$A:$A;AGGREGAT(15;6;ZEILE(INDEX(Tabelle1!A:A;Tabelle1!D$3+1):INDEX(Tabelle1!A:A;Tabelle1!D$3+Tabelle1!D$1-1))/(INDEX(Tabelle1!A:A;Tabelle1!D$3+1):Tabelle1!A$9999>"");ZEILE(A1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Du hast in Deiner 2 Beispielmappe keine Werte in Spalte B vorgegeben. Diese kannst Du mit INDEX() und VERGLEICH() für die Daten der Spalte A und Zeile 1 ermitteln. Wobei Du zunächst den auszuwertenden Datenbereichsbeginn und Ende über den jeweiligen Datenwert in Spalte 1 für den sich anschließenden VERGLEICH() ermitteln und die Formel natürlich noch mit WENNFEHLER() klammern musst .
Eine Prüfung der Daten je Step in Bezug auf die ermittelten Daten in Tabelle2!A:A wäre formeltechnisch auch möglich. Könnte man mit einer Hilfstabelle vornehmen. Formeltechnisch wäre für den Fall, dass zusätzliche Daten gefunden würden auch möglich diese noch zu listen. Aber das wird dann schon noch aufwendiger.
Für den Fall sollte man wirklich z.B. über eine PowerQuery-Lösung für die Gesamtlösung nachdenken. Dann müsstest Du Dir dieses Addin noch von MS downloaden und Dich damit auseinandersetzen.
Gruß Werner
.. , - ...
Anzeige
AW: dann der zweite Schritt ... und Hinweise ...
08.02.2019 15:10:25
gjunge
Hallo Werner,
zuerst ... ein dickes Lob und Dankeschön!!!
Das funktioniert soweit ganz prima. Allerdings fiel mir auf, dass bei der Lösung doch nicht alles, was in Spalte A steht "mitgenommen wird". Z. B. fehlt bei Step 3 die Zeile 677,678 aus Tabelle1 in Tabelle2. Ich habe versucht, rauszubekommen, woran es liegt. Leider bin ich kläglich gescheitert :(
Vielleicht kannst du nochmal schauen?
Danke und ein schönes Wochenende
AW: leicht zu erklären ...
08.02.2019 17:58:17
neopa
Hallo,
... hierbei handelt es sich um Begriffe die lediglich in "Steps" vorkommen, die weniger Begriffe aufweisen als der "Steps" mit den max. Anzahl an Begriffen.
Das ist ein Problem, auf das ich bereits hingewiesen hatte. Nach einer oberflächlichen Sicht in der Beispieldatei tauchen exakt diese beiden "Begriffe" noch bei weiteren "Steps" auf. Ob es aber evtl. noch weitere nicht gelistete Begriffe gibt, könnte nur eine zusätzliche Überprüfung ergeben, wie ich bereits auch schon geschrieben hatte.
Allerdings wäre eine evtl. noch vertretbare Lösung per Formel möglich, wenn nach dem Listing aller Begriffe aller "Steps" der CSV-Datei keine weiteren ungewollten Begriffe am Ende des Listings auftauchen. In der Beispieldatei sind dies die Textdaten in Zeile 4264, 4266 und 4268. Oder sollen/können auch diese gelistet werden?
Gruß Werner
.. , - ...
Anzeige
AW: ergänzend hierzu ...
09.02.2019 09:07:38
neopa
Hallo,
... eine Überprüfung Deiner Datei hat ergeben, dass eine Reihe von Begriffen doppelt oder sogar dreifach vorliegen. Es gibt lediglich 180 verschiedene Begriffe, die nach "STEP 1" in allen "Steps" stehen. Wenn den Mehrfachbegriffen unterschiedliche Werte in Spalte B zugeordnet sind bzw. sein können, dann ist eine Formelauswertung mit dem Ergebnis wie von Dir angestrebt nicht mehr vertretbar. Wenn diesen gleichen begriffen auch gleiche Werte zugeordnet sind und diese nur einmal benötigt werden, dann kann als erstes die Funktion "Duplikate entfernen" eingesetzt werden.
Gruß Werner
.. , - ...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige