Neu:

  Keine Werbeeinblendungen für registrierte User❗

  Jede SPENDE für das LIBREOFFICE Forum zählt ❤



  🌹 Danke für Ihre Unterstützung 🙏


Per Formel Zellbereich anders sortieren

CALC ist die Tabellenkalkulation, die Sie immer wollten.
XenTriS
Beiträge: 13
Registriert: Do 13. Feb 2020, 14:19

Per Formel Zellbereich anders sortieren

Beitrag von XenTriS » Do 13. Feb 2020, 14:48

Hallo, Tim hier.

Zwei Spalten A2:A701 und B2:B701 enthalten Zahlen die zeilenweise zusammengehören.
Spalte A holt Daten per Matrix, Spalte B ermittelt die zugehörigen Daten per Index anhand der Zahl in Spalte A.
(Anders herum ist das definitiv nicht möglich, da die Zahl A einmalig ist, Zahl B mehrfach existiert.)

Ich möchte diese Daten !!!PER FORMEL!!! anders sortieren. Momentan ist alles nach Spalte A aufsteigend sortiert. Das soll nun in Spalte B passieren und die Zahl in Spalte A mitsortieren.

Diese neue Sortierung soll weiterverarbeitet werden und muss unbedingt !!!PER FORMEL!!! variabel ermittelt werden, da sich die Grunddaten ändern.
(Feste Nummer A kann regelmäßig eine andere Nummer B bekommen)
Makros darf ich hierzu leider nicht verwenden!

Im Internet zu suchen scheitert schon allein an der Komplexität der Suchbegriffe.
Ich hoffe mir kann jemand helfen.

HeritzP
Beiträge: 595
Registriert: Mo 9. Dez 2013, 19:08

Re: Per Formel Zellbereich anders sortieren

Beitrag von HeritzP » Do 13. Feb 2020, 15:06

Hallo,

unter Extras → Optionen → LibreOffice Calc → Allgemein → Bezüge aktualisieren testen.

Gruß HeritzP
alles nur geklaut

XenTriS
Beiträge: 13
Registriert: Do 13. Feb 2020, 14:19

Re: Per Formel Zellbereich anders sortieren

Beitrag von XenTriS » Do 13. Feb 2020, 15:53

Die Matrix Formel bringt die Reihenfolge wieder durcheinander... 😔

mikele
Beiträge: 1064
Registriert: Mo 1. Aug 2011, 20:51

Re: Per Formel Zellbereich anders sortieren

Beitrag von mikele » Fr 14. Feb 2020, 16:15

Hallo,
ich bin mir nicht sicher, ob ich dich richtig verstehe.
Per Formel die Spalten A und B zu sortieren (sodass die sortierten Werte in Spalte A und B stehen) funktioniert nicht.
Du kannst allerdings per Formel die (sortierten) Werte von B in Spalte C ausgeben und in Spalte D die zugehörigen Werte aus Spalte A.
Für C2:

Code: Alles auswählen

=KKLEINSTE($B$2:$B$701;ZEILE()-1)
Die Formel kannst du dann bis C701 nach unten ziehen.
Für D2:

Code: Alles auswählen

=INDEX($A$2:$A$701;VERGLEICH(KKLEINSTE($B$2:$B$701+ZEILE($B$2:$B$701)/1000;ZEILE(A2)-1);$B$2:$B$701+ZEILE($B$2:$B$701)/1000;0))
Dies ist eine Matrixformel, die mit Shift+Strg+Enter abgeschlossen werden muss. Beim Nach-unten-ziehen der Formel musst du hier die Strg-Taste gedrückt halten.
Ein verkürztes Beispiel anbei.
Allerdings hängt der erfolg davon ab, um was für Zahlenwerte es sich handelt. Obige Formeln funktionieren mit ganzen Zahlen.
Dateianhänge
sortieren per formel.ods
(12.61 KiB) 45-mal heruntergeladen
Gruß,
mikele

XenTriS
Beiträge: 13
Registriert: Do 13. Feb 2020, 14:19

Re: Per Formel Zellbereich anders sortieren

Beitrag von XenTriS » Sa 15. Feb 2020, 09:22

Super!! Fast perfekt, mikele!! ;)

Ich hatte nicht erwähnt, dass in Spalte A per Matrixformel die Daten zuvor aus einer anderen lückenhaften Spalte XY ohne Lücken untereinander aufgelistet werden, demnach nun in Spalte A+B von 2-701 ab einer gewissen Zeile keine Daten mehr stehen, also nicht vollständig gefüllt ist. Hier wird dann in Spalte C der Fehler #WERT ausgegeben und die Matrix in D gibt keine Werte aus.

Ich habe aber deine Formel getestet und festgestellt, dass in Spalte D nur dann Daten ausgegeben werden, wenn auf A lückenlos zugegriffen wird. Das funktioniert dann selbstverständlich tadellos! :D

Funktioniert das auch, wenn in besagten Zeilen keine Daten mehr enthalten sind? Beispielsweise 1-40 Zahlen, 41-701 keine. Ich arbeite dann normalerweise immer mit

Code: Alles auswählen

=WENN(A1="";"";A1)
um solche Fehler zu vermeiden. Damit stoße ich aber im Falle von Matrixformeln an meine Grenzen. :?

mikele
Beiträge: 1064
Registriert: Mo 1. Aug 2011, 20:51

Re: Per Formel Zellbereich anders sortieren

Beitrag von mikele » Sa 15. Feb 2020, 15:12

Hallo,
wäre es dann nicht evtl. sinnvoll gleichauf die Rohdaten in XY zuzugreifen?
Ansonsten ...
für C2:

Code: Alles auswählen

=WENN(A2="";"";KKLEINSTE($B$2:$B$701;ZEILE()-1))
für D2 (Matrixformel):

Code: Alles auswählen

=WENN(A2="";"";INDEX($A$2:$A$701;VERGLEICH(KKLEINSTE($B$2:$B$701+ZEILE($B$2:$B$701)/1000;ZEILE(A2)-1+ZÄHLENWENN($A$2:$A$701;""));$B$2:$B$701+ZEILE($B$2:$B$701)/1000;0)))
Zum besseren Verständnis wären Hilfsspalten (die ggf. ausgeblendet werden) sinnvoll.
Spannend wäre was mit den Daten dann noch passieren soll. Sprich: Was sind die Rohdaten und was ist das Ziel? Beispieldatei?
Gruß,
mikele

XenTriS
Beiträge: 13
Registriert: Do 13. Feb 2020, 14:19

Re: Per Formel Zellbereich anders sortieren

Beitrag von XenTriS » So 16. Feb 2020, 13:09

Ich melde mich dazu am Dienstag gegen Mittag.
Danke vorab.

XenTriS
Beiträge: 13
Registriert: Do 13. Feb 2020, 14:19

Re: Per Formel Zellbereich anders sortieren

Beitrag von XenTriS » Di 18. Feb 2020, 15:39

Das funkioniert leider noch nicht. Es wird in Zeile D überall #WERT angezeigt.

Zur Frage, ob man nicht gleich auf XY zugreifen könnte:
Ja, das würde wahrscheinlich auch gehen.
Ich muss dazu aber etwas ausholen...

Es geht um täglich automatisierte Ladeprotokolle für die Zeitungslieferung zu den Austrägern.
Wenn z.B. jemand wegen Urlaub oder Krankheit ausfällt und ein anderer Austräger übernimmt, dann ändern sich die Ablagestelle/Adresse des Austrägers und wird >eventuell< von einem anderen Fahrer ausgeliefert und die Tournummer und das Ladeprotokoll würde sich mit ändern. Das habe ich bereits automatisiert und funktioniert.

Die "Rohdaten XY" werden in einer Tabelle.2 (Bezirke) angezeigt. In dieser stehen ALLE Bezirke untereinander in Spalte A, der zugehörige Austräger/Ablagestelle in Spalte B und die Tournummer in Spalte C.
In Tabelle.1 (Vertretung) stehen Zeitraum, Bezirk, Ablagestelle und Tour.
Passt nun eine der betroffenen Bezirke mit Original und Vertretung zusammen, wird in Tabelle.2 die Ablagestelle ersetzt.
Wenn das Datum für die kommende Nacht manuell eingegeben wird, ändert das alle Werte in Tabelle.3 (Ladeprotokolle) und aktualisiert die Bezirke/Ablagestellen/Adressen, aber leider nicht in der Reihenfolge der Ablagestellen sondern derzeit in Reihenfolge der Bezirke. Das ist für das Beladen der Autos aber ungünstig und das möchte ich ändern.

Für das Verständnis dieser ganzen Arbeit:
1. Datum ändert Tabelle.1 (Vertretung)
2. Tabelle.1 (Vertretung) aktualisiert die Ablagestelle in Tabelle.2 (Bezirke)
3. Tabelle.2 (Bezirke) aktualisiert die Tour in Tabelle.3 (Ladeprotokolle)

(In Tabelle.3 (Ladeprotokolle) hat jede Tour eine Hilfsspalte.K in der mit vielen Lücken die aktuellen Bezirke angezeigt werden. Per Matrix-Formel ziehe ich diese Bezirke lückenlos in Hilfsspalte.L untereinander und übertrage diese Liste in das Ladeprotokoll. Dann ermittle ich mit #INDEX die aktuelle Ablage passend zum Bezirk. Nicht professionell, aber funktioniert.)

Ich hoffe, dass du das nachvollziehen kannst.

mikele
Beiträge: 1064
Registriert: Mo 1. Aug 2011, 20:51

Re: Per Formel Zellbereich anders sortieren

Beitrag von mikele » Di 18. Feb 2020, 18:52

Hallo,
Das funkioniert leider noch nicht. Es wird in Zeile D überall #WERT angezeigt.
Ich vergaß zu erwähnen, dass es wieder eine Matrixformel ist, also Shift+Strg+Enter,
Gruß,
mikele

XenTriS
Beiträge: 13
Registriert: Do 13. Feb 2020, 14:19

Re: Per Formel Zellbereich anders sortieren

Beitrag von XenTriS » Mi 19. Feb 2020, 01:46

Ich melde mich morgen nochmal.

Antworten