Wie in Excel auf die nächstgelegene Zahl runden?
Grüßt euch,
folgendes. Ich habe zwei Zahlen 75 und 100. Nun gebe ich z.B. die Zahl 90 ein und es soll die nächstgelegene Zahl ausgegeben werden. Sprich 100. Oder Wenn ich 80 eingebe soll 75 ausgegeben werden.
Mit der Index und Vergleichsfunktion kann man nur auf den nächstgrößeren oder kleineren Wert zugreifen. Das hilft mir aber auch nicht weiter. Eventuell könnt Ihr mir hier unter die Arme greifen
Vielen Dank im Voraus
4 Antworten
Mach doch eine if-Abfrage:
Wenn der Betrag von x-75 kleiner ist als der Betrag von x-100, gib 75 aus, wenn der Betrag von x-75 größer ist als der Betrag von x-100, gib 100 aus. Wenn die zwei Beträge gleich sind (x also genau zwischen 75 und 100 liegt), musst du dir auch was überlegen, was dann ausgegeben werden soll.
quick'n'dirty
=RUNDEN(A1/25;0)*25
Diese Formel rundet auf das nächstgelegene Vielfache von 25.
Wenn dagegen die tatsächlichen Grenzen beachtet werden sollen:
=MIN(MAX(RUNDEN(A1/25;0)*25;75);100)
Falls die Grenzen und Abstände variabel sind: Nimm Oubyis Lösung :-)
Angenommen in A1 steht 75 und in A2 steht 100. Du gibst in B1 die 90 ein, dann in C1 diese Formel:
=WENN(B1<=MITTELWERT(A1:A2);A1;A2)
Je nachdem was bei exaktem Mittelwert passieren soll, das Gleichheitszeichen weglassen.
Das wird komplizierter. Angenommen die Zahlen stehen in A1:F1 und Du gibst in A3 Deine Zahl ein, dann in z.B. B3:
=WENN(A3<(MITTELWERT(INDEX(A1:F1;;VERGLEICH(A3;A1:F1;1));INDEX(A1:F1;;VERGLEICH(A3;A1:F1;1)+1)));INDEX(A1:F1;;VERGLEICH(A3;A1:F1;1));INDEX(A1:F1;;VERGLEICH(A3;A1:F1;1)+1))
Teste mal ausführlich.
Klappt es?
Es klappt einwandfrei bei jeder beliebigen Eingabe! Du hast einiges an Arbeit vereinfacht. Ich danke dir für deine Mühen
Gern geschehen.
Freut mich, dass ich helfen konnte.😊
Hallo, interessante Aufgabe, ich bin auf das gekommen:
Hier die Formel in B2 zum Runterkopieren:
=INDIREKT("Z1S"&VERGLEICH(A2;$1:$1)+(A2>MITTELWERT(INDIREKT("Z1S"&VERGLEICH(A2;$1:$1);0);INDIREKT("Z1S"&VERGLEICH(A2;$1:$1)+1;0)));0)

Super dank dir. Ich merke aber, dass ich die Frage so ungenau formuliert habe, dass mein eigentliches Problem nicht gelöst wurde. Also ich habe jetzt z.B. die Matrix, welche sich auf eine Zeile verteilt (bzw. mehrere Spalten): 10 20 30 50 100 200. Sagen wir ich gebe jetzt eine beliebige Zahl ein. Und diese solle auf die nächstgelegene Zahl gerundet werden.