Anzeige
Archiv - Navigation
1652to1656
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

Matrix, Schwierigkeiten bei Zahlen mit Kommastelle

Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
03.11.2018 20:07:44
Bettina
Hallo zusammen
Seit einigen Tagen bastle ich nun schon an einer Formel rum. Eigentlich hab ich die Lösung, scheitere jetzt aber an einem kleinen Detail.
Bei einem Sportwettbewerb müssen verschiedene Posten absolviert werden. Für jeden Posten werden entweder Zeit oder Weite gemessen. Die erzielten Leistungen ergeben Punkte. Diese Punkte sind jedoch zudem abhängig von Alter und Geschlecht des Sportlers.
Meine Basis ist also eine Tabelle, in welcher das Geschlecht, das Alter, der Weitenbereich sowie die erzielten Punkte aufgeführt sind. Ergebnis, dass ausgegeben werden soll, sind schliesslich die erzielten Punkte. Ist eine Weite zwischen den angegebenen Punktewerten, soll die nächst kleinere Punktzahl zurückgegeben werden. Weil das hier vermutlich ziemlich kompliziert tönt, habe ich euch einen vereinfachten Auszug aus dieser Datei mitgeliefert.
https://www.herber.de/bbs/user/125094.xlsx
Meine Formel
{=WENN(K3="F";SVERWEIS($K$4&$K$2&$K$3;WAHL({1\2\3};$B$2:$B$40&$C$2:$C$40&$A$2:$A$40;$D$3:$D$40);2;-1) ;SVERWEIS($K$4&$K$2&$K$3;WAHL({1\2\3};$F$2:$F$40&$G$2:$G$40&$E$2:$E$40;$H$2:$H$40);2;-1)) }
funktioniert bei Zahlen ohne Komma einwandfrei. Bei einer Sportart wird aber die Zeit gemessen. Hier gibt es Zahlen mit zwei Kommastellen und dort erhalte ich unkorrekte Werte. Es scheint so, als ob Excel die zweite Kommastelle ignoriert und für den nächst kleineren Punktewert nur die erste Stelle nach dem Komma berücksichtigt. (siehe zweites Beispiel)
Könnt ihr mir da weiterhelfen?
Vielen Dank im Voraus und viele Grüsse
Bettina

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
03.11.2018 22:00:43
Daniel
Hi
ich finde die Formel ziemlich strange.
bei Sverweis mit 4. Parameter = WAHR ist es erforderlich, dass der verwendete Zellbereich aufsteigend sortiert ist, und das scheint mir bei beinem zusammengesetzten Daten nicht gewährleistet.
probier mal diese Formel für W7.
hier wird der SVerweis nicht auf den gesamten Bereich angewendet sondern nur für die Weite und die Punktzahl, so dass die Sortierung garantiert ist.
Über die Bereich.Verschiebenfunktion wird der Zellbereich an die zum Alter und Geschlecht passende Position verschoben:
Formel für W7:
=SVERWEIS(W2;BEREICH.VERSCHIEBEN(O2:P14;VERWEIS(W4;{10.11.12};{0.13.26});VERWEIS(W3;{"f";"m"};{0;4})) ;2;WAHR)
Gruß Daniel
Anzeige
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
04.11.2018 12:56:19
Bettina
Hallo Daniel
Vielen Dank für deine Hilfe. Die Formel funktioniert prima.
Jetzt hat sich aber folgende Schwierigkeit ergeben. Die Liste der Punkte geht eigentlich bis Alter 21. Von 10 bis 13 Jahren ist die Punktverteilung gleich, ab 14 ändert sie, d.h. andere Meter oder Zeiten ergeben andere Punkte. Hier hatte ich ein Sortierungsproblem. Ich habe im Anhang die komplette Punkteliste für eine Sportkategorie angehängt.
https://www.herber.de/bbs/user/125111.xlsx
Auf die gesamte Punkteliste funktioniert die Formel leider nicht mehr. Hättest du dafür eine Lösung?
Vielen Dank im Voraus für deine erneute Hilfe :-)
und viele Grüsse
Bettina
Anzeige
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
04.11.2018 13:47:20
Daniel
Hi
Naja es wäre schön, wenn du solche Informationen gleich beim ersten Mal mit angeben würdest, dann hättest du schneller eine richtige Lösung und ich müsste mir nicht zweimal Gedanken darüber machen.
Wenn du mich für jede Antwort, die ich dir gebe extra bezahlen würdest, wäre es mir ja egal, aber so wäre es schon ganz nett, wenn mein erster Aufwand nicht für die Mülltonne wäre.
Gruß Daniel
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
04.11.2018 14:46:51
Daniel
nichtdestotrotz:
die Änderung ab 14 ist für meine Formel egal, dass jetzt andere Werte andere Punkte ergeben, spielt ja keine Rolle, das wird über den SVerweis abgedeckt.
du musst nur den ersten Verweis für den Zeilenversatz für weitere Jahre erweitern, damit diese auf den passenen Zellbereich verweist, dh für jeden zusätzlichen Jahrgang musst du eben weiter Werte in der ersten Verweisfunktion hinzufügen:
VERWEIS(W4;{10.11.12.13.14 ...};{0.13.26.39.52 ...})
das solltest du noch selber erweitern können, du musst halt beachten, dass ab 18 der Zellbereich für einen Jahrgang nicht mehr 13, sondern 27 Zeilen umfasst, dh ab 18 werden die Sprünge dann größer.
trotzdem könnte man den Zeilenversatz auch berechnen, etwa nach dem Schema:
(W4-10)*13+Wenn(W4>18;(W4-18)*14;0)
womit wir dann beim eigentlichen Problem wären:
die Anzahl der Zeilen für den Zellbereich ändert sich ab 18 von 13 auf 27.
somit muss man den angegebenen Bereich nicht nur in der Postion verscheiben, sondern auch in der Größe ändern.
Auch das geht mit der Bereich.Verschieben-Funktion mit zwei weiteren Parametern, die ich bisher noch nicht angegeben habe.
die Bereich.Verschieben-Funktion ist so aufgebaut:
Bereich.Verschieben(Ausgangszellbereich, Zeilenversatz, Spaltenversatz, neue Anzahl Zeilen, neue Anzahl Spalten)
die beiden lezten Werte habe ich bisher nicht angegeben, weil hier keine Änderung stattfindet.
das ändert sich jetzt, du musst die Bereich.Verschiebenfunktion um diese beiden Parameter erweitern:
neue Anzahl Zeilen: Wenn(W4 neue Anzahl Spalten: 2
dh die Bereich.Verschiebenfunktion würde dann so aussehen:
BEREICH.VERSCHIEBEN(O2;(W4-10)*13+Wenn(W4>18;(W4-18)*14;0);VERWEIS(W3;{"f";"m"};{0;4});Wenn(W4
und das ganze dann natürlich eingebettet in den SVerweis, aber das überlasse ich dir.
Gruß Daniel
Anzeige
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
04.11.2018 14:51:01
Sulprobil
Hallo Daniel,
Und wenn Du verschieden viele Einträge pro Alter oder Geschlecht hast, dann brichst Du Dir (ihr) die Finger ...
Nichts für ungut, aber Dein Ansatz setzt recht (IMHO zu) viel voraus.
Viele Grüße,
Bernd
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
04.11.2018 15:11:14
Daniel
Hi
naja, den Ansatz setzt ja noch viel mehr Voraus, nämlich VBA-Kenntnisse und die hat sie ja ihren Angaben nach nicht.
Stellt sich die Frage, was der größere Aufwand ist, mal ein paar Zahlen eintippen, oder VBA lernen.
(schließlich sollte man verstehen, was man tut)
außerdem ist das Problem nicht ganz so groß wie es aussieht.
da die Anzahl der Werte pro Jahrgang immer gleich sind, kann man den Zeilenversatz auch berechnen und muss nicht viel tippen.
der andere Ansatz zur verkürzung wäre die Tatsache, dass es Jahrgänge mit gleichen Punkt-Ergebniszuweisungen gibt.
Wenn die Jahrgänge 10, 11, 12 und 13 die gleichen Punkte für gleiche Ergebnisse bekommen, dann kann man die Zeilen für die Jahrgänge 11, 12, 13 ganz aus der liste Löschen und der Verweis kürzt sich dann entssprechend:
VERWEIS(W4;{10.14.16 ...};{0.13.26 ...})
insgesamt immer noch weniger aufwand, als jemanden der keine Anhnung von VBA hat, zwingen VBA zu lernen.
Gruß Daniel
Anzeige
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
04.11.2018 15:53:48
Sulprobil
Hallo Daniel,
Man muss kein Automechaniker sein, um ein Auto fahren zu können.
Man kann VBA Funktionen auch nutzen, ohne VBA programmieren zu können.
Voraussetzung ist natürlich, dass die genutzten Funktionen gut getestet sind und das machen, was sie sollen.
Dann hat man das, was wir mit den eingebauten Excel Arbeitsblattfunktionen auch nutzen (Encapsulation).
Aber selbstverständlich darfst Du anderer Ansicht sein und irren.
Viele Grüße,
Bernd P
das ist letztlich eine Frage der Verantwortung
04.11.2018 16:10:08
Daniel
dh wer trägt die Verantwortung dafür, dass die Funktion richtig rechnet.
bzw wenn sollte die Funktion jetzt nicht richtig rechnen und es auf dem Sportfest zu problemen kommen, weil die Punkte falsch berechnet wurden und deswegen alle Urkunden neu geschrieben werden müssen, ist Bettina dann dafür verantwortlich oder darf sie die Verantwortung dann an den weiter geben, von dem sie die Funktion bekommen hat?
Wird schwierig, wenn sich derjenige in der Anonymität des Internet verbirgt.
Oder wärest du bereit, zusammen mit dem Code ihr deine richtige Adresse zu geben, damit sie sich an dich wenden kann falls doch noch Probleme auftauchen oder an der Funktion kurzfristig was geändert werden muss?
letztendlich trägt die Verantwortung für das Funktionieren der Lösung der Fragesteller und nicht derjenige, der im Schutz der Anonymität die Antwort gegeben hat.
Daher halte ich es für besser, eine Lösung immer auf dem Niveau anzubieten, dass der Fragesteller versteht und auf dem er dann selber weiter arbeiten kann.
Gruß Daniel
Anzeige
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
04.11.2018 16:43:46
Daniel
"Man muss kein Automechaniker sein, um ein Auto fahren zu können."
mag sein, wenn man das Auto von einem seriösen und rennomierten Herstellter mit einem entsprechenden Händler- und Werkstättennetz neu mit den entsprechenden Garantiezusagen kauft, vielleicht schon.
Wenn ich mir für geschenkt ein Fahrzeug von einem unbekannten Hersteller ohne Werkstättennetz bei E-Bay oder sonstwo hole, dann sollte man schon über die entsprechenden Handwerklichen Fähigkeiten verfügen, um die Kiste im Notfall wieder ans laufen zu bringen.
Na, viel Spaß! Bei 'nem Trabi konnte man noch ...
05.11.2018 03:49:15
Luc:-?
…einiges machen, Daniel,
gab sogar Anleitungsbücher dafür. Aber ein modernes? Außer Radwechsel, Autoradio aus-/einbauen, Sicherungen und Lämpchen ersetzen bleibt da nicht viel, mitunter nicht mal für externe Automechaniker. Könnte sogar gefährlich wdn…
Ansonsten pflichte ich Bernd bei, auch wenn man im INet keine Garantie hat. Wollte man die haben, würde es auch etwas kosten und wäre nicht umsonst. Für Xl muss ja auch gezahlt wdn und Neues gibt's nur im Abo oder der nächsten RegulärVersion.
Im Übrigen hätte derjenige, der eine Berndsche UDF verwendet ja eine AnsprechAdresse, bei etlichen anderen auch. Das sagt aber noch nichts zu Garantien und über Qualitäten aus…
Morrn, Luc :-?
Anzeige
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
05.11.2018 08:22:43
Bettina
Hallo Daniel, hallo Bernd P
Ich danke euch ganz herzlich für eure Arbeit und für die Formeln und Inputs. Ich bin immer wieder überrascht, wieviele Möglichkeiten es bei Excel gibt um gleiche oder ähnliche Resultate zu erzielen und lerne gerne dazu :-)
Grundsätzlich funktioniert meine Formel einwandfrei, auch wenn sie etwas "strange" daherkommt,...also mindestens solange ich Zahlen ohne Komma verwende (z.B. Längen in cm). Sobald ich jedoch Werte mit Kommastellen habe, wie eben in der Beispieltabelle, hat Excel (oder meine Formel?) Probleme, nach der zweiten Kommastelle zu sortieren. Also wird z.B. 4.45 gleich behandelt wie 4.40, obwohl dazwischen ein Stufenwechsel stattfindet. Woran könnte das liegen? Ich gehe davon aus, dass es an der Formel liegt, da z.B. Daniels Variante mit dieser Stufe umgehen kann. Könnt ihr mir da einen Tip geben?
Danke im Voraus und Grüsse
Bettina
Anzeige
ich habe den Thread nicht gelesen, aber ...
05.11.2018 08:38:04
lupo1
... um wortwörtlich nach (bzw. ab) der 2. Kommastelle zu sortieren, brauchst Du:
=REST(A1;0,1)
es wäre aber gut, wenn du das tun würdest
05.11.2018 11:35:48
Daniel
dann müsstest du nicht solche unpassenen Beiträge verfassen.
wenn du den Tread gelesen hättest
05.11.2018 11:59:58
Daniel
wüsstest du das dein Beitrag hier völlig unpassend ist.
Dass er unpassend ist, ...
05.11.2018 12:19:31
lupo1
... habe ich doch selbst zu verstehen gegeben.
Ich habe mich an der Formulierung gerieben und dazu geantwortet. Dass sie nicht so gemeint war, weiß ich auch. Sicherlich wirst Du aber jetzt wieder weitermachen bis zum St.-Nimmerleinstag.
warum schreibest du unpassende Beiträge
05.11.2018 13:01:39
Daniel
mir wird doch immer vorgeworfen, ich müsse überall meinen Senf dazu geben.
tatsächlich bist dann aber doch wohl eher du.
Anzeige
Manchmal nimmt man das Ganze nicht so ernst ...
05.11.2018 14:11:26
lupo1
... und geht auf einen Nebenkriegsschauplatz.
Der norddeutsche Humor ist zwar trocken, aber hintergründig.
gut zu wissen, dass ich dich
05.11.2018 14:40:06
Daniel
nicht mehr ganz so ernst nehmen muss.
humorvolle Grüße Daniel
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
05.11.2018 09:31:41
Daniel
Hi
wie gesagt, das Problem ist, dass im SVerweis mit 4. Parameter = WAHR die Liste nach der Suchspalte aufsteigend sortiert sein muss.
wenn du wie hier die Suchspalte aus mehreren Teilen zusammen verkettest, musst du bei Zahlen dafür sorgen, dass diese immer die gleiche Anzahl von vor- und nachkommastellen haben, dh ggf mit führenden und folgenden Nullen, so dass alle Zahlen aus der gleichen Spalte immer die gleiche Anzahl Zeichen haben.
wenn du normal einen Zellbezug auf eine Zelle mit einer Zahl machst, wird immer die Zahl unabhängig von ihrer Formatierung eingelesen, dh 4,4. du brauchst aber, da auch Zahlen wie 13,52 vorkommen, diesen Wert als "04,40".
dh du musst alle Zellbezüge, die sich auf Zellen mit der Weite beziehen, die´Funktion TEXT(..., "00,00") um die Zahlen in dieses Format zu bringen:
... SVERWEIS($W$4&TEXT($W$2;"00,00")&$W$3;WAHL({1.2.3};$N$2:$N$40&TEXT($O$2:$O$40;"00,00")&$M$2:$M$40;$P$2:$P$40);2;-1)...
und für den Rest der Formel dann auch.
bei bezügen aufs Alter brauchst du das nicht, weil die Liste mit 10 beginnt und daher alle Altersangaben gleich lang sind.
Gäbe es in der Liste auch die Altersangabe 9 oder darunger, müsstest du auch hier die Zahlen mit Text(..;"00") auf die gleiche länge bringen.
Gruß Daniel
Anzeige
AW: Matrix, Schwierigkeiten bei Zahlen mit Kommastelle
04.11.2018 14:45:17
Sulprobil
Hallo Bettina,
mein Vorschlag:
https://www.herber.de/bbs/user/125114.xlsm
(ohne jegliche Gewähr, aber ich verwende einen atuellen Virenscanner).
Viele Grüße,
Bernd P

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige