SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfolge

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Pit Zyclade
* LO-Experte *
Beiträge: 3042
Registriert: Mo 12. Nov 2012, 16:59

SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfolge

Beitrag von Pit Zyclade » Do 7. Nov 2013, 19:05

Meine Erfahrung aus beigefügtem Beispiel:
1. Die Anwendung des Parameters „Sortierreihenfolge“ 0 oder 1 garantiert keine genaue Übereinstimmung zum „Suchkriterium“, denn
A. beim Suchkriterium wird nicht zwischen Groß- und Kleinschreibung unterschieden,
B. SVERWEIS liefert auch mit Parameter „1“ bei sortierten Listen Werte zurück, obwohl keine wirkliche Übereinstimmung vorliegt. Ob in seltenen Fällen auch bei unsortierten Listen solche Zustände zufällig vorliegen können, ist nicht bekannt.
2. Die Werte, die später als Suchkriterium verwendet werden sollen, müssen sehr sorgfältig benannt werden. Text-Konstruktionen mit einem arithmetischen Zeichen am Ende wie „car 1+“ müssen vermieden werden, wenn man falsche Resultate vermeiden will. Alternativ wäre „car 1 super“ möglich.
Habt ihr Erfahrungen und bessernde Hinweise hierzu?
Danke
Pit Z.
Dateianhänge
calc - SVERWEIS exakt.ods
(15.49 KiB) 184-mal heruntergeladen
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

Benutzeravatar
lorbass
* LO-Experte *
Beiträge: 627
Registriert: Mo 25. Apr 2011, 18:17

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von lorbass » Do 7. Nov 2013, 19:42

Pit Zyclade hat geschrieben:1. Die Anwendung des Parameters „Sortierreihenfolge“ 0 oder 1 garantiert keine genaue Übereinstimmung zum „Suchkriterium“, denn
A. beim Suchkriterium wird nicht zwischen Groß- und Kleinschreibung unterschieden,
Das wird auch in anderen Funktkionen so gehandhabt.
Pit Zyclade hat geschrieben:B. SVERWEIS liefert auch mit Parameter „1“ bei sortierten Listen Werte zurück, obwohl keine wirkliche Übereinstimmung vorliegt.
→ 
Programmhilfe hat geschrieben:Wenn der Parameter Sortierreihenfolge weggelassen oder auf WAHR oder 1 gesetzt wird, wird angenommen, dass die Daten in aufsteigender Reihenfolge sortiert werden. Wenn dies der Fall ist und das exakte Suchkriterium nicht gefunden wird, wird der letzte Wert, der kleiner als das Kriterium ist, zurückgegeben.
Pit Zyclade hat geschrieben:Ob in seltenen Fällen auch bei unsortierten Listen solche Zustände zufällig vorliegen können, ist nicht bekannt.
→ 
Programmhilfe hat geschrieben:Wenn Sortierreihenfolge auf FALSCH oder Null gesetzt wird, muss eine exakte Übereinstimmung gefunden werden, anderenfalls wird die Fehlermeldung Fehler: Wert nicht verfügbar angezeigt.
Fehler: Wert nicht verfügbar wird in der betroffenen Zelle als »#NV« dargestellt.
Pit Zyclade hat geschrieben:2. Die Werte, die später als Suchkriterium verwendet werden sollen, müssen sehr sorgfältig benannt werden. Text-Konstruktionen mit einem arithmetischen Zeichen am Ende wie „car 1+“ müssen vermieden werden, wenn man falsche Resultate vermeiden will.
Man sollte eher daran denken, dass das Suchkriterium als Regulärer Ausdruck interpretiert wird, wenn die Option Extras → Optionen → LibreOffice Calc → Berechnen → [✓] Reguläre Ausdrücke in Formeln ermöglichen aktiviert ist. In Regulärer Ausdrücken hat das Zeichen »+« eine eigene semantische Bedeutung.
Pit Zyclade hat geschrieben:Habt ihr […] bessernde Hinweise hierzu?
Ja. Lies erst in den Handbüchern und der Programmhilfe und informiere dich über die Leistung der Anwendung, bevor du über dokumentierte Leistungen herziehst.

Gruß
lorbass

Pit Zyclade
* LO-Experte *
Beiträge: 3042
Registriert: Mo 12. Nov 2012, 16:59

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von Pit Zyclade » Do 7. Nov 2013, 23:43

@lorbass
Dass Du so schnell reagiert hast, dafür Dank von mir und Anerkennung.
lorbass hat geschrieben:.... Ja. Lies erst in den Handbüchern und der Programmhilfe und informiere dich über die Leistung der Anwendung, bevor du über dokumentierte Leistungen herziehst.
Ich bin weder über die Leistungen hergezogen, noch habe ich vorher die Programmhilfe ignoriert. Ja, es stimmt, ein Handbuch hierüber hatte ich nicht zur Hand genommen. Ich vermute aber, dass ich nicht in absehbarer Zeit über diese eine einzelne Funktion hätte Klarheit erlangen können, aber werde zukünftig auch dieses Hilfsmittel nehmen, bevor ich hier noch eine Frage stelle.
Pit Zyclade hat geschrieben:1. Die Anwendung des Parameters „Sortierreihenfolge“ 0 oder 1 garantiert keine genaue Übereinstimmung zum „Suchkriterium“, denn
A. beim Suchkriterium wird nicht zwischen Groß- und Kleinschreibung unterschieden,
lorbass hat geschrieben:Das wird auch in anderen Funktkionen so gehandhabt.
Gut zu wissen und es stört bei der vor mir stehenden Aufgabe nicht. Richtigerweise hätte ich in der Beispieldatei statt "WAHR ?" "WAHR" notieren müssen.
Pit Zyclade hat geschrieben:B. SVERWEIS liefert auch mit Parameter „1“ bei sortierten Listen Werte zurück, obwohl keine wirkliche Übereinstimmung vorliegt.
→ 
Programmhilfe hat geschrieben:Wenn der Parameter Sortierreihenfolge weggelassen oder auf WAHR oder 1 gesetzt wird, wird angenommen, dass die Daten in aufsteigender Reihenfolge sortiert werden. Wenn dies der Fall ist und das exakte Suchkriterium nicht gefunden wird, wird der letzte Wert, der kleiner als das Kriterium ist, zurückgegeben.
Ich hatte das gelesen, aber mühevoll die Versuchsaufgabe konstruiert, gerade weil ich das besser verstehen wollte.
Heisst es also, dass man diese Formel sinnvoll nur bei einer sortierten Listen anwenden kann oder heisst das, dass diese Formel selbst die Tabelle als sortiert betrachtet?
(Meine mir selbst gestellte Aufgabe war, zu ermöglichen, dass entweder nur (!) bei exakter Übereinstimmung ein Rückgabewert kommt oder durch fälschliche Datensätze so zu tricksen, dass ich einen unglaubwürdigen Rückgabewert erhalte, so dass ich genötigt werde in der Referenztabelle nachzugucken.)
Pit Zyclade hat geschrieben:Ob in seltenen Fällen auch bei unsortierten Listen solche Zustände zufällig vorliegen können, ist nicht bekannt.
→ 
Programmhilfe hat geschrieben:Wenn Sortierreihenfolge auf FALSCH oder Null gesetzt wird, muss eine exakte Übereinstimmung gefunden werden, anderenfalls wird die Fehlermeldung Fehler: Wert nicht verfügbar angezeigt.
lorbass hat geschrieben:Fehler: Wert nicht verfügbar wird in der betroffenen Zelle als »#NV« dargestellt.
Auch diesen Satz hatte ich schon gelesen, aber nicht, ob ich hier eine sortierte Liste anbieten muss oder nicht.
Nun habe ich in einem zweiten Beispiel (in Anlage) sowohl eine unsortierte als auch eine sortierte Liste angeboten und bei fehlender Referenz mal den Sortierparameter fehlend oder 1 gesetzt. Das Resultat ist aber in beiden Fällen bei unzutreffender Referenz erschreckend gleich. In unsorterter Liste erhalte ich #NV, was ja richtig zutrifft, in sortierter Liste den nächstkleineren Wert, was der Beschreibung nachkommt.
So habe ich noch immer die Frage, wozu brauche ich den Sortierparameter, wenn sowieso alles identisch ist ?
Pit Zyclade hat geschrieben:2. Die Werte, die später als Suchkriterium verwendet werden sollen, müssen sehr sorgfältig benannt werden. Text-Konstruktionen mit einem arithmetischen Zeichen am Ende wie „car 1+“ müssen vermieden werden, wenn man falsche Resultate vermeiden will.
lorbass hat geschrieben:Man sollte eher daran denken, dass das Suchkriterium als Regulärer Ausdruck interpretiert wird, wenn die Option Extras → Optionen → LibreOffice Calc → Berechnen → [✓] Reguläre Ausdrücke in Formeln ermöglichen aktiviert ist. In Regulärer Ausdrücken hat das Zeichen »+« eine eigene semantische Bedeutung.
Diesem Hinweis werde ich noch nachgehen, momentan bin ich schon müde, um zu prüfen, ob sich eine regelmäßige Umstellung lohnen würde.

Gruß
Pit Z.
Dateianhänge
calc - SVERWEIS exakt 2.ods
(13.11 KiB) 148-mal heruntergeladen
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

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

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von karolus » Fr 8. Nov 2013, 07:34

Hallo
Wenn du eine sortierte Suchmatrix hast darfst du immer mit Sortierargument 1 arbeiten oder weglassen.
Ausser in den Fällen wenn du explizit nur nach exakten Übereinstimmungen suchst


Bei einer unsortierten Suchmatrix musst du grundsätzlich mit dem Sortierargument 0 arbeiten.

Der Hintergrund für dieses Sortierargument 1 versus 0 ist:
Bei 1 wird ein binärer Suchalgoritmus verwendet der besonder auf grossen Listen eine deutlich kürzere Laufzeit hat.
Zum anderen ist es bei 'sortiert' möglich von beliebigen Zwischenwerten auf eine Kategorie zu kommen.
Stell dir einfach Schulnotenliste vor mit Notenwerten in der ersten Spalte und denzugehörigen Wortbezeichnungen in der nächsten.

Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Pit Zyclade
* LO-Experte *
Beiträge: 3042
Registriert: Mo 12. Nov 2012, 16:59

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von Pit Zyclade » Fr 8. Nov 2013, 11:53

Hallo ihr Lieben,
Ihr habt Euch viel Mühe gegeben mit mir, aber meinen irrationalen Fehler nicht bemerkt. Ich hatte (entgegen der Online Hilfe, ich weiß es nun, hatte es aber im Gehirn nicht richtig gespeichert!) gedacht, dass kein Argument == 0 wäre. Dem ist aber nicht so. Kein Argument == ";1"

Ich glaube, ich habe jetzt die richtige Lösung für mich gefunden: Sortierargument ";" oder ";0", egal ob unsortierte oder sortierte Eingangsliste.
karolus hat geschrieben:Hallo
Wenn du eine sortierte Suchmatrix hast darfst du immer mit Sortierargument 1 arbeiten oder weglassen.
Ausser in den Fällen wenn du explizit nur nach exakten Übereinstimmungen suchst
Genau der letzte Fall interessiert mich aber gerade!
karolus hat geschrieben:Bei einer unsortierten Suchmatrix musst du grundsätzlich mit dem Sortierargument 0 arbeiten.

Der Hintergrund für dieses Sortierargument 1 versus 0 ist:
Bei 1 wird ein binärer Suchalgoritmus verwendet der besonder auf grossen Listen eine deutlich kürzere Laufzeit hat.
Zum anderen ist es bei 'sortiert' möglich von beliebigen Zwischenwerten auf eine Kategorie zu kommen.
Stell dir einfach Schulnotenliste vor mit Notenwerten in der ersten Spalte und denzugehörigen Wortbezeichnungen in der nächsten.
Die Laufzeit ist bei meiner relativ kurzen Eingangsliste nicht von Bedeutung, bei den Schulnoten eigentlich doch auch nicht oder?
Aber ich vermute, dass kein Schüler eine ihn in die Irre führende textliche Benotung haben will, die im Widerspruch mit der zahlenbehafteten Benotung steht. Also auch hier will man eine exakte Übereinstimmung oder ich habe Deinen allerletzten Hinweis gar nicht verstanden.
Danke an Euch alle
Gruß
P. Z.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

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

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von karolus » Fr 8. Nov 2013, 13:03

Hallo
Ich glaube du kapierst nicht -

Wenn du eine sortierte Liste hast, und du arbeitest mit ;1 wird dir im Fall -es existiert eine exakte Übereinstimmung- auch die zurückgegeben -

____
Nehmen wir mal an, du möchtest aus der Eingabe einer PLZ auf eine Regionsbezeichnung mappen - willst du dann zuerst eine Liste mit sämtlichen PLZ und zugehörigen Regions-Namen erstellen, oder wäre es dir lieber mit einer kurzen übersichtlichen Liste ? so wie unten↓

Code: Alles auswählen

00000 | Region_1
07750 | Region_2
13500 | Region_3
usw.
Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Pit Zyclade
* LO-Experte *
Beiträge: 3042
Registriert: Mo 12. Nov 2012, 16:59

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von Pit Zyclade » Sa 9. Nov 2013, 12:18

karolus hat geschrieben:Wenn du eine sortierte Liste hast, und du arbeitest mit ;1 wird dir im Fall -es existiert eine exakte Übereinstimmung- auch die zurückgegeben
Das beschreibt nicht mein Problem, ...
karolus hat geschrieben: Nehmen wir mal an, du möchtest aus der Eingabe einer PLZ auf eine Regionsbezeichnung mappen - willst du dann zuerst eine Liste mit sämtlichen PLZ und zugehörigen Regions-Namen erstellen, oder wäre es dir lieber mit einer kurzen übersichtlichen Liste ? so wie unten↓

Code: Alles auswählen

00000 | Region_1
07750 | Region_2
13500 | Region_3
usw.
..., sondern was passiert, wenn es sich bei der Referenzliste um eine beschränkte Warenliste handelt und ich mich bei der Nennung der Ware auf einer Rechnung verschreibe? Dann soll nämlich keine unzutreffende (also unscharf ermittelte) Antwort zurückgegeben werden, sondern #NV. Nur dann erkenne ich, dass ich einen Fehler bei der Nennung der Ware auf der Rechnung erzeugt habe oder meine Referenzliste (Warenliste) noch nicht komplett ist.
Und hierzu eignet sich ganz offensichtlich nur die ";0" bzw. ihr Äquivalent ";" bei beiden Arten von Listen, unsortiert oder sortiert.

Bei mir ist ein weiteres, neues Problem mit dem Sortierparameter aufgetreten, welches die Sache noch verkompliziert.
Wenn nämlich der Inhalt im Feld, das als "Suchkriterium" in SVERWEIS() verwendet wird, kein realer, eingetragener Wert vorliegt, sondern ein Ergebnis einer WENN-Bedingung, dann ist Parameter "Sortierreihenfolge" 0 nicht gut, sondern es muß wieder leer oder ";1" genommen werden. Dies verunsichert meine Vorstellung von der Funktionsweise des Parameters wieder bzw. nötigt mich wieder nachzudenken, wie man die Nutzung der Funktion SVERWEIS verfeinert ergänzen könnte, um eine vereinheitlichte, merkfähige Formel zu haben (0 für scharf, 1 für ungenau, gerundet oder nahezu).

@karolus
Du hast mir mit Deinem Beispiel sehr gut erklärt, wofür eine sortierte Liste mit dem Parameter 1 nützlich sein kann. Das werde ich mir merken. Hoffentlich lesen hier alle zukünftigen Nutzer mit. Denn darauf muß man erst mal kommen, wenn man vor einem ähnlichen Problem steht. Aber ich habe ja gelobt, im Handbuch nachzulesen. Vielleicht ist da ein solch plausibles Beispiel drin. Nur momentan will ich nur mein Problem raffiniert lösen. Danke.

Pit Z.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

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

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von karolus » Sa 9. Nov 2013, 12:32

Hallo

Gut, du hast für dich definiert daß du nur nach genauen Übereinstimmungen suchst - warum setzt du dann das Suchkriterium nicht einfach auf 0 ? - du kommst stattdessen auf die schräge Idee das Argument als Ergebnis einer Formel feszulegen.

Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Pit Zyclade
* LO-Experte *
Beiträge: 3042
Registriert: Mo 12. Nov 2012, 16:59

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von Pit Zyclade » Sa 9. Nov 2013, 13:28

karolus hat geschrieben: Gut, du hast für dich definiert daß du nur nach genauen Übereinstimmungen suchst - warum setzt du dann das Suchkriterium nicht einfach auf 0 ? - du kommst stattdessen auf die schräge Idee das Argument als Ergebnis einer Formel feszulegen.
Karolus, ich schreibe immer oft zu kompliziert. Denn ich habe doch bei dem Problem mit der Formel gesagt, dass es ein neues, anderes Problem ist.
Also ausführlich:
A. Bei der Referenz zur Warenliste nutze ich ja nun den Sortierparameter ";0" und es funktioniert gut
B. Bei der Auswahl der Paketgewichte habe ich die Wennbedingung, dass z.B. unter 5 kg Paketgewicht Versandtyp A und über 5 kg Versandtyp B genommen werden soll. Die verschiedenen Versandarten und Preise sind in einer weiteren (an sich kompletten, aber nicht sortierten, weil unterteilten) Tabelle hinterlegt, auf die ich ebenfalls mit SVERWEIS() automatisch zugreifen wollte. Mache ich dies, habe ich bemerkt, dass hierbei der Sortierparameter ";0" die Referenz nicht findet, sondern #NV meldet (wobei der Suchwert in der Zelle mit der Wennformel steht), hingegen gibt es ein richtiges Resultat, wenn der Sortierparameter 1 lautet.

Nun habe ich aber meine Zweifel, ob ein mit "1" unscharf ermittelte Resultat immer wirklich korrekt ist oder dass das nur zufällig in meiner Anordnung. Ist nun mein neues Problem klar?
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

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

Re: SVERWEIS - Mängel bei Suchkriterium und Sortierreihenfol

Beitrag von karolus » Sa 9. Nov 2013, 13:49

Hallo
Nun habe ich aber meine Zweifel, ob ein mit "1" unscharf ermittelte Resultat immer wirklich korrekt ist oder dass das nur zufällig in meiner Anordnung. Ist nun mein neues Problem klar?
Du bekommst die richtigen unscharfen Ergebnisse wenn du im Referenzbereich das tust was der Parameter 1 nahelegt nämlich:

!!! sortieren !!!

Ende der Durchsage und keine weiteren Antworten von mir in diesem Thread
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


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