ich habe ein Problem und hoffe ihr könnte mir dabei helfen. Ich habe zwei Tabellen in meinem Dokument Tab1 hat eine Auflistung von Werten von Tab1!A1 bis Tab1!A20 Tab2 soll nun die Werte "zerpflücken", so dass
entspricht. Das zerpflücken bezieht sich auf Texte und Zahlen etc. also nicht so komplex. Wenn ich meine Formeln dann aber in Tab2 via Mausklick "weiter nach unten erweitere" ... damit ich nicht jede Formel manuell anpassen muss (in der echten Tabelle geht es nicht bis 20 sondern 1000), macht er den Bezug aber falsch. Habt ihr Lösungsvorschläge?
Danke schon einmal ... das "Zerlegen" für sich ist kein Problem (Links/Rechts/Teil ... funktionieren super) ...
meine Frage geht eher darum, wie ich die Formel eben im zwei Zeilen Intervall weiterführen kann ... hier mal ein Beispiel im Anhang. also TAB1 sind die vorhandenen Basisdaten und TAB2 zeigt wie ich dann eben die Zeilen aus Tab2 zerlege und es immer zwei Zeilen in Tab2 für jeweile eine Zeile in Tab1 gibt. Wenn ich nun aber die Tabelle automatisch weiterführen will, dann macht er die Formelbezüge von Tab2 zu Tab1 falsch. Ideen? Liebe Grüße, Markus
06.05.2019, 01:05 (Dieser Beitrag wurde zuletzt bearbeitet: 06.05.2019, 01:06 von Jockel.)
Hallo, schade, dass bei den Anfragen die Beispiele so "dahingerotzt" werden, z.B. haben Tabellen hier keine Überschriften. Nun kann man sich darüber aufregen, dass ich mich darüber aufrege, is mir aber egal. Das ist mit Power Query - in wenigen (maximal drei) Schritten, mit ohne Formeln und dynamisch - erledigt...
Eigentlich nur :Tabelle (!) nach PQ laden, "Spalte nach Trennzeichen teilen" {Aufteilen in Zeilen} und ausgeben... Fertich!!! Power Query ist ein Add-In, dass ab XL2010 zur Verfügung steht (kann man kostenlos downloaden und installieren) und ab XL2016 ist es fester Bestandteil von XL...
Gruß Jörg stolzes Mitglied im ----Excel-Verein Freund einer excellenten Power Query-Abfrage
danke für die Idee und deine Kritik - ich bin ein Fan von Pragmatismus und die Realdaten sind vertraulich - deshalb leider nicht zu veröffentlichen. PowerQuerry kenne ich - gibt es aber auch einen Ansatz der die Bezüge in Formeln richtig macht? Liebe Grüße, Markus
(06.05.2019, 01:17)masse schrieb: ... danke für die Idee und deine Kritik - ich bin ein Fan von Pragmatismus und die Realdaten sind vertraulich ... PowerQuerry kenne ich - gibt es aber auch einen Ansatz der die Bezüge in Formeln richtig macht?
Hallo, du scheinst meine "Kritik" aber nicht verstanden zu haben (es geht nicht um "Real"daten); musst du auch nicht - da hast du Recht.
Bestimmt geht das auch mit Formeln... Ganz bestimmt sogar.
Gruß Jörg stolzes Mitglied im ----Excel-Verein Freund einer excellenten Power Query-Abfrage
c) Falls die "Teile" leerzeichengetrennt sind, mit "/" oder etwas ganz anderes: Noch mal nachfragen. Bitte unterlasse dabei ab jetzt jedwede Salamitaktik und bemühe Dich um vollständige Problembeschreibung nicht anhand von Text, sondern ausreichenden Beispielen und Wunschergebnissen.
vor einem Jahr warst Du noch bereit zu Formellösungen. Warum jetzt so häufig der Allgemeinplatz PQ? Im Grunde ist das eine Antwort wie: "Excelformeln sind out. Lerne PQ - helfen tun wir dabei nicht, und Formelfragen sind nun aus der Sicht von uns PQ-Verfechtern genug im Netz beantwortet."
Ich fände für PQ ein "Konstruktionsmakro" fair. Dabei werden die PQ-Schritte (falls sie denn überhaupt aufgezeichnet werden können) 1. schrittweise gezeigt und 2. die neuen Excel-Objekte dazu vermittelt, wenn man sich auch noch die Mühe macht, die Aufzeichnung zu bearbeiten. Ist auch egal, mit welcher Version. Vermutlich wäre es mit 2016, 2019 oder 365 halbwegs gleich (wobei 365 sich immer ändern kann), da dort jeweils fest eingebaut, kein Add-In.
Cells(1, 6).Resize(UBound(sp) + 1, 2) = sp End Sub
oder
Code:
Sub M_snb() Cells(1).Resize(2 * Cells(1).CurrentRegion.Rows.Count) = Application.Transpose(Split(Join(Application.Transpose(Cells(1).CurrentRegion.Columns(1)), "/"), "/"))
With Cells(1).CurrentRegion.Columns(1) .Offset(, 4) = "=offset(B$1,int((row()-1)/2),0)" .Offset(, 1) = .Offset(, 4).Value .Offset(, 4).ClearContents End With End Sub