Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1756to1760
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

Spaltendaten in Matrix umwandeln

Spaltendaten in Matrix umwandeln
06.05.2020 17:00:43
Al
Hallo zusammen,
ich habe ein Ergebnisstabellenblatt für zwei Felder (Feld 1 & Feld 2) mit x- und y Koordinaten mit dazugehörigen z-Koordinaten. Es werden insgesamt pro Feld vier z-Koordinaten für die x-y-Ebene erzeugt. Die Ergebnisse werden leider in Spaltenform ausgegeben (siehe Beispieldatei).
Um das ganze zu verkomplizieren, sind die x-y-Koordinaten dynamisch und können somit größer oder kleiner als eine Kantenlänge von K (in dem Beispiel 4,70m) sein.
Hat jemand eine Idee, wie man das (mit oder ohne Makro) lösen könnte?
Ich bin für jeden Hinweis dankbar.
https:\/\/www.herber.de/bbs/user/137315.xlsx

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: z.B. mit INDEX() und AGGREGAT() ...
06.05.2020 17:18:59
neopa
Hallo AI,
... in Feld1_z1!C4:

=INDEX(Tabelle1!$X:$X;AGGREGAT(15;6;ZEILE(Tabelle1!$X$5:$X$129)/(Tabelle1!$U$5:$U$129=C$3) /(Tabelle1!$V$5:$V$129=$B4);1))

und Formel nach rechts und unten ziehend kopieren.
Analog die Formeln für die anderen Z-Werte und danach für das Feld 2
Gruß Werner
.. , - ...
AW: z.B. mit INDEX() und AGGREGAT() ...
06.05.2020 18:40:12
Al
Hallo Werner,
danke für die schnelle Antwort.
Die Idee ist super. Kann man diese Funktion noch um eine Möglichkeit erweitern, dass die Zeilen und damit die Werte x,y beispielsweise für Feld 1 nach oben bzw. unten wandern könnten. Damit ist gemeint, dass die Werte für Feld1 nicht nur bis Zeile 125 ausgegeben werden (-2,35 bis 2,35), sondern bis Zeile 130, 150 (beispielsweise -4,2 bis 4,2) … Die Größe des Feldes und die Ausgabeintervalle sind dynamisch. Im Tabellenblatt Feld1_z1 würde ich dann die x,y Werte dann vergrößern.
Gruß
Anzeige
AW: nicht nur der Bereich lässt sich ermitteln ...
06.05.2020 19:52:41
neopa
Hallo AI,
... theoretisch wäre es sogar möglich, nur eine Auswertungsformel zu erstellen, die für alle 8 Tabellenblätter gilt. Dieses würde jedoch unnötig lang werden.
Deshalb der besseren Übersichtlichkeit halber, schlage ich folgende Lösungsvariante vor:
Gruppiere alle 8 "Feld#_z#"-Tabellenblätter
nachfolgend nutze ich als Hilfszellen Zellen der Spalte A (kannst auch eine andere nutzen) und zwar wie folgt:
- in A1: =TEIL(ZELLE("Dateiname";$A$1);FINDEN("]";ZELLE("Dateiname";$A$1))+1;5)
- in A21: =VERGLEICH(WECHSELN(A1;"d";"d ");Tabelle1!S:S;0)
- in A22: =VERGLEICH(LINKS(A1;4)&" "&WENN(RECHTS(A1;1)="2";1;2);Tabelle1!S:S;0)
- in A23: =VERWEIS(999;Tabelle1!U:U;ZEILE(U:U))
- dann kommt die eigentliche Auswertungsformel in C4:
=INDEX(Tabelle1!$X:$AA;AGGREGAT(15;6;ZEILE(INDEX(B:B;$A$21):INDEX(B:B;$A$23))/(INDEX(Tabelle1!$U:$U;$A$21):INDEX(Tabelle1!$U:$U;$A$23)=C$3)/(INDEX(Tabelle1!$V:$V;$A$21):INDEX(Tabelle1!$V:$V;$A$23)=$B4);1);RECHTS($A$1;1)+0)
Abschließend hebe die Gruppierung wieder auf!
Die x- und y- Werte in Zeile 3 und Spalte B holst Du zuvor über Kopie des Tabellenblattes "Feld1_z1" durch Gruppierung der 7 letzten Tabellenblätter
Gruß Werner
.. , - ...
Anzeige
AW: nicht nur der Bereich lässt sich ermitteln ...
07.05.2020 11:39:06
Al
Hallo Werner,
ich dachte nicht, dass es ohne Hilfe von VBA auch klappen könnte. Besten Dank dafür.
Ich musste die Auswertungsformeln für die Matrix, die in der Zelle C4 eingetragen wird, anpassen, damit die jeweils richtigen z-Koordinaten ausgelesen werden. Da ich nicht genau verstanden habe, wieso für Feld1_z1 bis Feld1_z4 der letzte Term der Auswertungsfunktion RECHTS($A$1;1)+0 bis +3 und für Feld2_z1 bis Feld2_z4 RECHTS($A$1;1)-1 bis +2 eingetragen werden muss, werde ich das mal anhand von Beispielen testen.
Mir ist noch unklar, warum für Feld 1 die entsprechenden Spalten für die z-Koordinaten mit 0 bis +3 und für Feld2 mit -1 bis +2 angesprochen werden müssen. Ich hätte vermutet, dass für beide Felder 0 bis +3 eingegeben werden müssten (siehe Beispielmappe).
Falls du noch Zeit findest drüber zu schauen und mir die Unklarheit nehmen zu können, würde ich mich freuen.
Ansonsten hast du mir schon sehr geholfen.
Besten Dank.
AL
https:\/\/www.herber.de/bbs/user/137339.xlsx
Anzeige
AW: verständlich ...
07.05.2020 16:16:58
neopa
Hallo AL,
... dass es bei Dir noch ein Problem mit der Zuordnung der "z"-Werte gab.
Ich hatte gestern die Formel für A1 Deiner Auswertungsblätter bereits in meinem Beitrag einkopiert und nachträglich dann vor der Definition der anderen Formeln nochmal im letzten Argument abgeändert, ohne die Formel entsprechend zu korrigieren, sorry. Geändert ist lediglich die letzte Zahl 5 in eine 8
Die Formel in A1 lautet demnach bei mir:
in A1: =TEIL(ZELLE("Dateiname";$A$1);FINDEN("]";ZELLE("Dateiname";$A$1))+1;8)
D.h. nicht nur die ersten 5 sondern die ersten 8 Zeichen aus dem jeweiligen Blattnamen werden in A1 eingetragen und damit als letztes Zeichen auch die Nr. für den jeweiligen z-Wert.
oT: interessehalber nachgefragt, die Statiker, mit den ich bisher Kontakt hatte, arbeiten mit max 3 Nachkommastellen. Gibt es einen Grund, warum Du mit mehr arbeitest?
Meine Nachfrage in Deinem heutigen thread erübrigt sich auch, durch das das hier dargestellte Diagramm.
Gruß Werner
.. , - ...
Anzeige
AW: verständlich ...
07.05.2020 18:10:29
AL
Hallo Werner,
Ah, daran lag es. Ok dann hast das Geheimnis auch gelüftet.
Ja richtig, eigentlich arbeite ich maximal mit nur zwei Nachkommastellen. Mir war das ehrlichgesagt gar nicht aufgefallen. Ich habe den Ausgabecode dahingehend angepasst, dass er nur noch drei Nachkommastellen ausgibt.
Falls du noch Interesse hast, ich bin leider auf ein weiteres Problem gestoßen: Bisher dachte ich, dass die x bzw. y Werte zueinander immer den gleichen Abstand/Differenz aufweisen. Damit ist gemeint, dass der erste x-Wert zum nächsten x-Wert den gleichen Abstand aufweist, weshalb ich die x,y-Werte mit einer einfachen Formel errechnen lassen wollte. Wenn man das x,y-Feld allerdings ungerade aufteilt, rundet das Programm, von dem diese Ausgabe kommt, auf "unnatürliche"/nicht vorherzusehende Art.
Kann man sich die x,y-Werte aus Tabelle1 mit einer Funktion kopieren lassen? (siehe Beispielmappe, Tabellenblatt Feld1_z1)
Hinweis: es handelt sich um einen quadratischen Querschnitt, weshalb die x-Werte = y-Werte sind.
Grüße
AL
https:\/\/www.herber.de/bbs/user/137353.xlsx
Anzeige
AW: dazu jetzt nur festgestellt ...
07.05.2020 19:43:46
neopa
Hallo AL,
... das von Dir geschilderte Problem wirst Du immer haben, wenn Du die Elementlänge durch eine ungerade Anzahl (bei Dir hier 9) teilen lässt. Warum nimmst Du nicht gleich ein Teillänge von 1/10 an, dann stellt sich das Problem nicht un Du kannst die x-/y-Werte ganz einfach mit einer einfachen Formel ermitteln.
Gruß Werner
.. , - ...
AW: dazu jetzt nur festgestellt ...
07.05.2020 20:07:31
Al
Hallo Werner,
Das ist ein berechtigter Einwand. Wenn das x,y-Feld beispielsweise 10x10m wird, kann man mit einer Feldteilung von 0,50m auf hinreichend genaue Ergebnisse für z kommen. Wenn allerdings das Feld vergleichsweise klein wird, dann liefert ein Netz von 0,50m nicht die gewünschte Genauigkeit.
Somit muss dem Benutzer die Möglichkeit eingeräumt werden selbst die Netzgröße wählen zu können.
Schönen Abend noch.
AL
Anzeige
AW: die Originalgröße spielt keine Rolle, ...
08.05.2020 20:16:18
neopa
Hallo AL,
... wenn Duegal ob 8m oder 0,5m wenn Du dies immer durch 10 teilst, ergibt sich kein Rundungsproblem. Bei größeren Längen kannst Du ja anstelle durch 10 z.B. durch 20 dividieren.
Gruß Werner
.. , - ...

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige