Berechnung in einem Kreis
#1
Guten Abend zusammen,
ich habe noch eine Frage:
Fogende Situation.

Ich habe einen Kreis 1- 499
ich habe eine Start z.B. 10 und ein Ziel 490
Nun kann ich die Dif. berechnen = 480.
Aber ich kann im Kreis auch den kürzersten Weg gehen:
also 10 bis 499 Links rum! wäre dann 10.

Wie berechne ich das? Problem auch bei mir dass ich einmal ja genau 250 als weitesten und einmal 249 habe.
248 habe ich zweimal und das ist on wenn der Wert raus kommt.

Beispiele
1 nach 499= 499 und kürzerster 1
1 nach 498 = 498 und kürzerster 2
...

Ich brauche aber immer den Kürzersten:

Mein Ansatz war a-b und b-1 und davon die Dif. wenn ich aber höhere Werte dann habe zum Beipspiel 250 und 210 stimmt das nicht mehr.

Auch muss folgendes sein:

Ich muss das auch umgekehrt rechnen können. Heißt ich starte nicht bei 1 nach 499 sondern ich Starte bei 499 und muss nach 1
Muss also in beide Richtungen rechnen:
Denn meine Eingabe ist Start und Ziel:
Also Start kann ich jeden Wert zwischen 1-499 eingeben und als Ziel auch jeden Wert zwischen 1-499 wobei es auch genau einmal vorkommen kann dass ich einmal als Ergebnis NUll bekommen könnte.
Ist irgendwie Trickey :=)

Ich danke Euch herzlich dafür.
Antworten Top
#2
Hallo,

PHP-Code:
=MIN(C1-B1;499-C1+B1
B1 = 10
C1 = 490
Gastlich
Antworten Top
#3
Hallo,
A1=1
A2=499
Start B1=10
Ziel B2=490
Kürzester Weg:
=MIN(ABS(B2-B1);ABS(A2-A1)+1-ABS(B2-B1))
Viele Grüße,
Bernd
Antworten Top
#4
Hi,



Code:
=MIN(H18:H19)+499-MAX(H18:H19)
=REST(MIN(H18:H19)-MAX(H18:H19);499)


Werte in H18 u. H19
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
(16.01.2023, 18:59)BoskoBiati schrieb: Hi,

Code:
=MIN(H18:H19)+499-MAX(H18:H19)
=REST(MIN(H18:H19)-MAX(H18:H19);499)

Werte in H18 u. H19
Hallo Bosko,

Wenn ich nicht irre, ist Deine Lösung leider Murks: gib z. B. bitte einmal testweise Start 10 und Ziel 11 ein oder Start 498 und Ziel 499.

Viele Grüße,
Bernd
Antworten Top
#6
Guten Abend und danke der HIlfestellung.
War nicht ganz das erhoffte,... aber a bissle was kann ich auch daher:
=WENN(MIN(B1-B2;499-B1+B2)<0;SUMME(MIN(B1-B2;499-B1+B2)*-1);MIN(B1-B2;499-B1+B2))
Tausend dank!
Basti

PS war ned weit weg :=)
Antworten Top
#7
Hallo Basti,

Nun ja, von den 248502 Kombinationen gibt Deine Formel ja lediglich 31125 falsch aus.
Teste z. B. mit Start 1 und Ziel 260.

Vielleicht möchtest Du es doch mit meiner Formel probieren.

Viele Grüße,
Bernd
Antworten Top
#8
Abend Bernd,.. stimmt...

da hast du recht,.. habe natürlich nur Stichprobem gemacht und nun das hier gesetzt:

=WENN(REST(MIN(C13:C20)-MAX(C13:C20);499)>0;MIN(C13:C20)+499-MAX(C13:C20)-499;WENN(REST(MIN(C13:C20)-MAX(C13:C20);499)=250;MIN(C13:C20)+499-MAX(C13:C20);MIN(C13:C20)+499-MAX(C13:C20)))

Problem ist natürlich Kreis links rechts... daher bekomme ich für Links neg. ergebnisse... diese haue ich mit *-1 weg... dann ist die welt ok!

Ich danke Dir nochmals herzlich dafür!

Basti
Antworten Top
#9
Hallo Basti,

Jetzt hast Du 62250 Fehler bei 248502 Kombinationen, wenn ich nicht irre.

Warum kannst Du nicht einfach meine korrekte Formel =MIN(ABS(B2-A2);499-ABS(B2-A2)) verwenden, wobei A2 und B2 Start und Ziel sind (egal, wie 'rum, die ABS Funktion egalisiert das)?

Ich hatte doch oben in #3 nur eine allgemeinere Form angegeben.

Viele Grüße,
Bernd
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste