🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[GELÖST] In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
birquito
Beiträge: 7
Registriert: Do 16. Mai 2013, 14:01

[GELÖST] In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von birquito » Fr 17. Jan 2025, 13:52

Hallo,

für die Überprüfung einer Tabelle mit einer anderen, ähnlichem Inhalts aus einer alternativen Quelle, müssten die Daten der ersten um Zeilen bzw. Vorgänge ("Belegnummern") bereinigt werden, die zweimal mit gleicher "Belegnummer" aber einmal mit dem negativen Wert der Spalte "Menge" enthalten sind (Vorgangsstornierungen).
Eine Duplikatesuche bzw. das Filtern über die Belegnummer, führte dazu, dass einerseits jene Vorgänge einmal in der neuen Spalte erschienen, in welchen mehrere Artikel abgegeben wurden ohne dass eine Stornierung dazu existiert (das war durchaus gewünscht). Zum anderen wurden aber die Vorgangsnummern der durch die "Menge" mit dem Wert "-X" aufgehobenen Belege dennoch einmal in der Filterliste abgebildet. Beim Vergleich mit der Tabelle aus der Referenzquelle wurden daher Unterschiede ausgegeben, die im Grunde nicht existieren und eventuell wirkliche Abweichungen in der erzeugten Liste verschwinden lassen.
Bspw. ist Beleg "136714" mit Menge "1" und mit Menge "-1" enthalten. Die Zeilen mit dieser "Belegnummer" sollen aus der Liste gelöscht werden, da sie sich gegenseitig aufheben. Dies in einem Ritt für die gesamte Tabelle und alle sich gegenseitig aufhebenden Zeilen zu erledigen, wäre das Ziel, das meine Fähigkeiten zur Konstruktion einer komplexen Auswertung deutlich übersteigt.

In der beigefügten Datei habe ich die Belegnummern mit den Mengen multipliziert und fablich hervorgehoben, wodurch etwas deulicher werden könnte was ich meine.

Hoffentlich konnte ich die Problemstellung einigermaßen verständlich beschreiben.
Bei meiner Recherche hier im Forum habe ich leider keinen exististierenden Lösungsansatz finden können - vielleicht habe ich aber auch nur die falschen Suchbegriffe verwendet.

Vielen Dank für jede Anregung, die etwas Zeit sparen würde.

Andreas
Zuletzt geändert von birquito am Mo 3. Feb 2025, 17:04, insgesamt 3-mal geändert.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von karolus » Fr 17. Jan 2025, 15:07

birquito hat geschrieben:
Fr 17. Jan 2025, 13:52
In der beigefügten Datei …

…Vielen Dank für jede Anregung, die etwas Zeit sparen würde.
Eine tatsächlich angehängte Datei könnte tatsächlich etwas Zeit sparen!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

birquito
Beiträge: 7
Registriert: Do 16. Mai 2013, 14:01

Re: In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von birquito » Mo 20. Jan 2025, 12:41

Habe zwischendurch arbeiten müssen und den Text mehrmals nachbearbeitet, um diesen etwas verständlicher (?) zu machen ... da ist das wichtigste verloren gegangen ... Asche auf mein kahles Haupt.

Hier der ursprünglich schon geplante Anhang:
Daten-202401.ods
(69.36 KiB) 149-mal heruntergeladen
Vielleicht auch noch wichtig: Windows 10 Pro 64 mit aktuellem Patchstand, LO 24.8.4.2 (X86_64)

HeritzP
* LO-Experte *
Beiträge: 966
Registriert: Mo 9. Dez 2013, 19:08

Re: In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von HeritzP » Mo 20. Jan 2025, 17:41

Hallo,

Code: Alles auswählen

=EINZIGARTIG(B$2:B$3255)
HeritzP

alles nur geklaut

birquito
Beiträge: 7
Registriert: Do 16. Mai 2013, 14:01

Re: In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von birquito » Di 21. Jan 2025, 17:18

Hallo HeritzP,

wow, so einfach kann es sein, wenn man die vorhandenen Fuktionen kennt ... ein erster Test egbab, dass "EINZIGARTIG" offenbar die "einzigartige" Antwort auf meine Anfrahe darzustellen scheint, wenn man die Formel mit Strg+Umsch+Enter als Matrix-Formel bestätigt.

Vielen Dank für die schnelle und umfassende Hilfe.

Andreas.

P.S. Die Anfrage würde ich als "Gelöst" ansehen und entsprechend kennzeichnen.

birquito
Beiträge: 7
Registriert: Do 16. Mai 2013, 14:01

Re: In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von birquito » Mo 27. Jan 2025, 13:54

Leider muss ich etwas relativieren. Die Listen fielen anders als in meiner ursprünglichen Auswertung aus, doch nicht ganz wie geplant - woran es liegt, weiß ich nicht.

Eine Prüfung des erhaltenen Datensatzes zeigte, dass EINZIGARTIG offenbar immer noch manche Vorgänge, die mehrfach "einzigartig" sind, in der Liste auftauchen lässt. Zugegebener Maßen musste ich aus Datenschutzgründen einen anderen Teil der Daten in die Beispieldatei packen, als ich im Endeffekt auszuwerten hatte, doch sollten die sich wiederholenden Zellen im Grunde dennoch aussortiert werden ... (Die Struktur des zu analysierenden Zellinhalts lautet:
160.000.123.456.789.01 ... also keine Zahlen sondern eher "Text". )

Hier ein Ausschnitt aus der Liste mit einem Vorgang der Doppelt in Spalte 1 vorkommt aber dennoch nach "Einzigartig" in Spalte 2:
Screenshot 2025-01-27 130822.png
Screenshot 2025-01-27 130822.png (7.08 KiB) 2144 mal betrachtet
In der Tabelle ist der doppelt enthaltene Vorgang "880.81" der Vorgang mit der Nummer 136714 ziemlich am Anfang der Spalten. Hier die Daten mit Anwendung von „=EINZIGARTIG(B$2:B$3255)“:
Daten-202401.ods
(80.71 KiB) 181-mal heruntergeladen
Schaut "EINZIGARTIG" evtl. auf andere, benachbarte Spalten? Die benachbarte Spalte "Menge" mit dem Faktor -1 würde als Erklärung evtl. herhalten können ... doch im Grunde ist der auszuwertende Berich klar und eindeutig festgelegt. Sollte dieser Befehl evtl. dazu da sein, alle - auch die sich wiederholenden - Einträge EINMALIG in der ausgegebenen Übersicht aufzunehmen? Dann ist es vermutlich nicht ganz die Funktion, die ich benötige, da die sich wiederholenden (aufgehobenen) Zeilen überhaupt NICHT- auch nicht einmal - in der resultierenden Liste aufgenommen werden sollen, da diese sich ja gegenseitig ausgelöscht haben und im Grunde nicht mehr existieren (sollen).

Eine komplexere Formel wird wohl unausweichlich - nur fehlen mir die Kenntnisse.

Ich bitte meine etwas vorschnelle Lösungskennzeichnung zu entschuldigen - ich hatte in der vergangenen Woche Urlaub und konnte eine der Überprüfung der erhaltenen Ergebnisse erst heute durchführen.

Etwas ratlos und dennoch dankbar für die aufgewandte Mühe.

Andreas.

HeritzP
* LO-Experte *
Beiträge: 966
Registriert: Mo 9. Dez 2013, 19:08

Re: In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von HeritzP » Mo 27. Jan 2025, 20:49

Hallo,

die Spalte mit bed. Formatierung markieren.
Dann kann mit Autofilter mit der Hintergrundfarbe gefiltert werden. Die angezeigten Zeilen dann löschen.
Daten-202401_1.ods
(87.28 KiB) 203-mal heruntergeladen
HeritzP

alles nur geklaut

Helmut_S
* LO-Experte *
Beiträge: 756
Registriert: Di 9. Feb 2016, 19:27

Re: In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von Helmut_S » Di 28. Jan 2025, 19:13

Hallo birquito, noch ein Vorschlag:
summiere die Belegnummern von Spalte B und Spalte D. Bei negativen Zahlen in Spalte E erhältst du in Spalte E eine Null.
Damit kannst du mit dem Standardfilter die Matrix der Spalten A – E für Spalte E nach >0 filtern.
Siehe Spalten M – Q.
Solltest du Calc in Version 24.8 verwenden, kannst auch die neue Funktion FILTERN() anwenden.
Siehe Spalten G – K.
Achte Darauf dass es sich in Spalte B wirklich um Zahlen handelt, sonst funktioniert die Funktion FILTERN() nicht. Diese ist eine Matrix-Funktion, kann aber normal mit Enter eingegeben werden.
Gruß Helmut
Dateianhänge
Daten-202401_02.ods
(196.95 KiB) 159-mal heruntergeladen
MX-Linux KDE + Linux-Mint Cinnamon

birquito
Beiträge: 7
Registriert: Do 16. Mai 2013, 14:01

Re: In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von birquito » Sa 1. Feb 2025, 22:07

Vielen Dank für alle Hinweise.

Eine eingehende Analyse meiner Beschreibung hier im Forum brachte eine bedeutsame Kleinigkeit zum Voschein: Es gibt unterschiedliche Häfigkeiten von Wiederholungen: in GERADER Anzahl vorkommende sind Stornos, in UNGERADER Anzahl Nachbearbeitungen. Erstere sollen NICHT in der Liste auftauchen, letztere allerdings einmalig. Bei "EINZIGARTIG" werden aber ALLE Vorgänge EINMAL aufgelistet. Bei anderen Lösungsansätzen würden die Vorgänge mit ungerader Anzahl außen vor bleiben, obwohl es ja einen "gültigen" Vorgang gibt.
Eine ausführliche Beschreibung des Datensatzes und gewünschten Ergenisses führte bei DeepSeek - mein erster Versuch mit der KI zu kommunizieren - zur folgenden Formel (deren genaue Funktion ich nur erahnen kann bzw. habe ich die ausführliche Beschreibung inzwischen wieder vergessen):

=REST(ZÄHLENWENN($A$1:$A$3550; A1); 2) = 0

Die Ausgaben FALSCH bzw. WAHR wurden nachfolgend von mir kombiniert mit den Vorgangsnummern gefiltert und unter Auschluss von Duplikaten in neue Spalten kopiert. Dannach wurde die entstandene neue Vorgangsliste durch

{=FILTERN($01.C$1:C$2000;ZÄHLENWENN($01.F$1:F$2000;$01.C$1:C$2000)=0)}

mit der anderen Datenquelle verglichen. Die hieraus erhaltene Trefferliste scheint auf den ersten Blick deutlich plausibler als vorher. Nun muss ich nur noch die verbliebenen (max. 5) Vorgänge daraufhin prüfen, ob dies tatsächlich "verlorene" Abrechnungsvorgänge sind.

An Heritz_P: Die farbliche Markierung in der modifizierten Datei hat genau das oben beschriebene Problem, dass auch der eine gültige Vorgang bei "Nachbearbeitungen" herausgefiltert würde.

An Helmut_S: Die Stellvertreterdaten sind tatsächlich Ziffern, die eigentlich zu prüfenden Daten allerdings in der Form 160.000.123.456.789.01 - also eher "Text". Die Punkte könnte man entfernen und dann die Multilikationen und Additionen versuchen. Das Ergebnis würde aber vermutlich auch nicht passen, da Vorgang und Storno untereinander in DERSELBEN SPALTE (u.U. durch merhere Zellen voneinander getrennt) stehen und eine Multilpikation von nebeneinander stehenden Spalten und nachfolgendes Filtern wieder das Ergebnis von "EINZIGARTIG" reproduzieren dürfte.

Nochmals Danke an alle. Ich vermute eine eindeutigere Formulierung hätte hier zum selben Ergebnis geführt. (Zum Kern des Problems vorzudringen und eine klare Problemformulierung zu finden, war eine gewisse Herausforderung - der zentrale Punkt ist der oben beschriebene Unterschied zwischen Stornos und Nachbearbeitungen, also einer geraden und ungeraden Vorgangsnummeranzahl.)

Ich würde den Vorgang erst nach einer Prüfung der Ergebnisse auf [GELÖST] setzen, was frühestens am Montag möglich ist, da derzeit mein VPN-Tunnel in die Firma seit der Umstellung auf Glasfaser und einen neuen Router spinnt.

birquito
Beiträge: 7
Registriert: Do 16. Mai 2013, 14:01

Re: [GELÖST] In einer Tabelle sich aufhebende Zeilen selektieren, um sie zu markieren und zu löschen

Beitrag von birquito » Mo 3. Feb 2025, 17:06

Eine Prüfung ergab, dass die Ergenisse tatsächlich dem Gesuchten entsprechen. Damit ist die Anfrage als gelöst anzusehen.

Nochmals vielen Dank an alle Beteiligten für die Anregungen.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten