Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1316to1320
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

Runden nach Vergleich

Runden nach Vergleich
17.06.2013 10:47:20
Max
Hallo,
ich brauche eure Hilfe bei einer Formel, die ich suche:
Bsp.:
Zelle A1= 130.050,00 €
Zelle A2= 180.025,00 €
Excel soll die Zellen vergleichen und den jeweils ungeraden Betrag so aufrunden, dass beide Beträge zusammen wieder volle Hundert ergeben. Allerdings ist mal A1 ungerade und A2 gerade oder umgekehrt. Evtl. sind auch beide Beträge gerade, dann
wäre nichts zu tun.
Da es sich hier um Darlehensbeträge handelt die zu verschiedenen Zwecken gegeben werden, scheidet die die Rundung des Gesamtbetrages (bspw. in A3 mit: AUFRUNDEN((A1+A2);-2)) aus. Es muß einer der beiden Einzel-Beträge gerundet werden, wenn
nötig.
Ich hoffe, ich habe mich verständlich ausgedrückt und sage schonmal vielen Dank für die Mühe!
Gruß
Max

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

Betreff
Datum
Anwender
Anzeige
AW: Runden nach Vergleich
17.06.2013 10:57:11
Hajo_Zi
Hallo Max,
nach Deiner Beschreibung ist ein Wert immer gerade.



Sheet 1
 AB
11130050130050
12180025180050
13   
14130050130050
15180050180050
16   
17130045130100
18180500180500

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
B11,B14,B17=WENN(ISTGERADE(A11) ;A11;AUFRUNDEN(A12+A11;-2) -A12)   =IF(ISEVEN(RC[-1]) ,RC[-1],ROUNDUP(R[1]C[-1]+RC[-1],-2) -R[1]C[-1])
B12,B15,B18=WENN(ISTGERADE(A12) ;A12;AUFRUNDEN(A12+A11;-2) -A11)   =IF(ISEVEN(RC[-1]) ,RC[-1],ROUNDUP(RC[-1]+R[-1]C[-1],-2) -R[-1]C[-1])

XHTML Tabelle für Darstellung in Foren,
einschl. Bedingter Formatierung ab Version 2007
XHTML-Version 11.26




Anzeige
Meinst Du mit GERADE wirklich durch 2 teilbar ?
17.06.2013 10:58:17
NoNet
Hallo MAx,
eine kleine Verständnisfrage : Was meinst Du mit "Gerade" ?
Meinst Du damit tatsächlich eine "Gerade Zahl" (also ohne Rest durch 2 teilbar) ?
Dann müssten bei 130.050,00 € und 180.024 ,00 € nicht gerundet werden ?
Was ist, wenn beide Zahlen "ungerade" sind ?
Gruß, NoNet

Anzeige
AW: Runden nach Vergleich
17.06.2013 11:00:51
Rudi
Hallo,
AB
1130050130050
2180025180050
3  
4125123125150
5130050130050
6  
7120020120020
8180000180000

ZelleFormel
B1=WENN(ISTGERADE(A1);A1;AUFRUNDEN(A1+A2;-2)-A2)
B2=WENN(ISTGERADE(A2);A2;AUFRUNDEN(A1+A2;-2)-A1)

Gruß
Rudi

Anzeige
Erledigt: Runden nach Vergleich
17.06.2013 11:24:23
Max
Hallo Hajo und Rudi,
vielen Dank für die Formeln! Klappt hervorragend ;-))
Gruß
Max

Nachfrage: Runden nach Vergleich
17.06.2013 12:24:30
Max
Hallo,
nach Studium vorhandener Vorgänge muß ich zerknirscht feststellen,
dass es auch (selten) vorkommen kann, dass beide Beträge in A1 und A2
ungerade sein können. Sorry!
Läßt sich die Formel irgendwie abwandeln? Falls das hilft: die Beträge
lauten vor dem Komma immer auf 25, 50, 75 oder 100 € ohne Cent-Beträge.
Es wäre nett, wenn hier nochmal jemand einsteigen könnte.
Gruß
Max

AW: Nachfrage: Runden nach Vergleich
17.06.2013 12:32:42
JACKD
Hallo MAx. Und was soll dann passieren?
Soll der erste, der zweite oder beide gerundet werden?
Grüße

Anzeige
AW: Nachfrage: Runden nach Vergleich
17.06.2013 12:48:34
Max
Hallo Jackd,
wenn notwendig müßten beide aufgerundet werden.
Bsp.: A1 = 125, A2 = 125, beide müßten auf 150 gerundet werden,
Bsp.: A1 = 125, A2 = 175, keine Rundung erforderlich
Bsp.: A1 = 150, A2 = 175, beide müßten auf 200 gerundet werden
Bsp.: A1 = 150, A2 = 150, keine Rundung erforderlich
Es muß also immer so aufgerundet werden, daß beide Beträge zusammen volle Hundert ergeben.
Es soll nie abgerundet werden.
Gruß
Max

AW: Nachfrage: Runden nach Vergleich
17.06.2013 13:40:59
Rudi
Hallo,
Bsp.: A1 = 150, A2 = 175, beide müßten auf 200 gerundet werden
da ist doch nur A2 ungerade.
Ich frage mich, ob du weißt, was du willst.
Gruß
Rudi

Anzeige
AW: Nachfrage: Runden nach Vergleich
17.06.2013 13:58:05
Max
Hallo Rudi,
zunächst Danke für Deine erneute Beteiligung!
Ich habe leider keine Idee mit welcher Funktion man das Problem in Verbindung
mit WENN lösen kann. ISTGERADE kam aus den ersten Formellösungen von Dir und Hajo.
Nach Internetrecherche hatte ich bspw. auch mit GANZZAHL keinen Erfolg.
In meinem vorgenannten Bsp.: A1 = 150, A2 = 175, beide müßten auf 200 gerundet werden
sollte tatsächlich A1 um den Wert 50 auf 200 und A2 um den Wert 25 auf 200 aufgerundet werden,
da beide Beträge sonst zusammen keine vollen Hundert ergeben.
Gruß
Max

Anzeige
das widerspricht ...
17.06.2013 14:17:27
Rudi
Hallo,
...deinem 1.Beitrag.
Bei gerader Zahl soll nichts passieren
Bei ungerader Zahl soll diese so aufgerundet werden, dass beide zusammen einen glatten 100er ergeben.
Ergo muss 175 zu 250 werden.
Du weißt tatsächlich nicht, was du willst.
Gruß
Rudi

Mal ein ansatz
17.06.2013 14:27:57
JACKD
Mit sicherheit einer der umständlichsten
und, aufgrund der sich stetig ändernden Anforderungen womöglich auch falsch
Grüße
Sub BlödeRunden()
Dim wert1 As Long, wert2 As Long
With Worksheets("Tabelle1")
wert1 = .Cells(1, 1).Value
wert2 = .Cells(2, 1).Value
wertende1 = Right(wert1, 2)
wertende2 = Right(wert2, 2)
Select Case wertende1
Case Is = "00"
wert1 = wert1
wert2 = WorksheetFunction.Ceiling(wert2, 100)
Case Is = "25"
Select Case wertende2
Case Is = "00"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = wert2
Case Is = "25"
wert1 = WorksheetFunction.Ceiling(wert1, 50)
wert2 = WorksheetFunction.Ceiling(wert2, 50)
Case Is = "50"
wert1 = WorksheetFunction.Ceiling(wert1, 50)
wert2 = wert2
Case Is = "75"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
End Select
Case Is = "50"
Select Case wertende2
Case Is = "00"
wert1 = wert1
wert2 = WorksheetFunction.Ceiling(wert2, 50)
Case Is = "25"
wert1 = wert1
wert2 = WorksheetFunction.Ceiling(wert2, 50)
Case Is = "50"
wert1 = wert1
wert2 = wert2
Case Is = "75"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
End Select
Case Is = "75"
Select Case wertende2
Case Is = "00"
wert1 = WorksheetFunction.Ceiling(wert1, 50)
wert2 = wert2
Case Is = "25"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
Case Is = "50"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
Case Is = "75"
wert1 = WorksheetFunction.Ceiling(wert1, 100)
wert2 = WorksheetFunction.Ceiling(wert2, 100)
End Select
End Select
'MsgBox wert1 & " - " & wert2 & " - " & wert1 + wert2
.Cells(1, 2).Value = wert1
.Cells(2, 2).Value = wert2
.Cells(3, 2).Value = wert1 + wert2
End With
End Sub

Anzeige
In VBA niemals ...
17.06.2013 14:37:44
Rudi
Hallo,
... Umlaute für Prozedurnamen oder Variablen verwenden.
Das knirscht in anderen Sprachversionen gewaltig.
Warum benutzt du Strings um Zahlen zu untersuchen?
wertende1 = Right(wert1, 2)
besser
wertende1 = wert1 Mod 100
Da sparst du dir viele ".
Jetzt hab ich's dir wieder gegeben. ;-)
Gruß
Rudi

-.-
17.06.2013 14:52:25
JACKD
Hallo Rudi =)
Hach, wie hab ich es vermisst am Wochenende .. jetzt nach deiner Verbesserung fühl ich mich gleich wieder wie zu Hause =)
Und Ja, das mit dem Umlauten, hab ich selber schonmal gemerkt und dann alles ausgebessert..
Nur beim probieren achte ich da leider nicht drauf.. mea Culpa
und das mit Zahlen und String hatten wir ja letzte Woche erst.. Ich hätte es besser wissen können =)
Ich bin lediglich über die 00 gestolpert, da die in der Case Zeile immer um eine Null reduziert wurde.. da hab ich die einfach zum String gemacht(fand ich für mich übersichtlicher).. und dann mit Copy paste hat es sich durchgezogen ^^
Grüße

Anzeige
AW: Mal ein ansatz
17.06.2013 15:31:34
Max
Hallo Jackd,
das Makro mit der netten Bezeichnung "BlödeRunden" macht exakt das,
was ich benötige. Egal in welcher Kombination die Beträge gerade
oder ungerade sind, rundet das Makro jeweils auf volle Hundert.
Recht herzlichen Dank für diese Mühe!
Schade, dass sich das nicht in einer Formel darstellen läßt, da ich es eigentlich
an mehreren Stellen innerhalb der Tabelle gebraucht hätte.
Ich stelle daher den Beitrag mal auf offen, vielleicht gibt es ja hier noch einen
Formelspezialisten der die entsprechenden Funktionen miteinander verbinden kann.
Gruss
Max

Anzeige
permanente Widersprüche
17.06.2013 15:49:47
Rudi
Hallo,

das Makro mit der netten Bezeichnung "BlödeRunden" macht exakt das,
was ich benötige.

Nur aus
Bsp.: A1 = 125, A2 = 175, keine Rundung erforderlich
wird 200, 200.
Wat nu?
Gruß
Rudi

Vielleicht ja doch nicht
17.06.2013 15:54:48
JACKD
Hallo Rudi
ICh hab das so verstanden, dass wenn eine ungerade Zahl vorhanden ist, muss sie gerundet werden. auf eine gerade.
auch wenn( wie eben bei 25 und 75 ein voller hunderter raus kommt)
so ist die (für mich) resultierende bedingung
Beide werte müssen gerade sein und in der Summe eine durch 100 teilbare zahl ergeben. ..
ni?
grüße

AW: das widerspricht ...
17.06.2013 14:46:12
Max
Hallo Rudi,
mit dem ersten Beitrag von mir hast Du leider Recht, ich hätte mehrere Beispiele angeben sollen.
"Excel soll die Zellen vergleichen und den jeweils ungeraden Betrag so aufrunden, dass beide Beträge zusammen wieder volle Hundert ergeben. Allerdings ist mal A1 ungerade und A2 gerade oder umgekehrt. Evtl. sind auch beide Beträge gerade, dann wäre nichts zu tun."
Daher habe ich mich mit "Nachfrage" (2. Beitrag) auch korrigiert und Beispiele genannt, wann gerundet werden soll.
Diese Beispiele sind weiterhin zutreffend...;-))
Gruß
Max

letzter Versuch
17.06.2013 15:39:57
Rudi
Hallo,
AB
1125150
2125150
3  
4125125
5175175
6  
7150200
8175200
9  
10150150
11150150

ZelleFormel
B1=WENN(REST(A1+A2;100);AUFRUNDEN(A1+A2;-2)/2;A1)
B2=WENN(REST(A1+A2;100);AUFRUNDEN(A1+A2;-2)/2;A2)

Gruß
Rudi

ganz falsch. Vergiss es. owT
17.06.2013 15:51:33
Rudi

AW: letzter Versuch
17.06.2013 16:11:33
Max
Hallo Rudi,
zunächst ein Dankschön für Deine Geduld! Ich hätte mich direkt klarer ausdrücken sollen.
Leider habe ich erst beim ausführlichen Testen bemerkt, daß es mit der ersten Formel
immer noch ein Problem gibt.
Die Lösung in deinem Beitrag mit WENN(Rest.. funktioniert in fast allen Kombinationen,
nur in einer Kombination (s. Beispieltabelle) nicht:
https://www.herber.de/bbs/user/85870.xls
Wenn bspw. A1 125 oder 175 ist und in A2 100 steht, rundet er beide Beträge auf 150,
obwohl der Betrag 100 nicht mehr gerundet werden müßte.
Das passiert nur beim Betrag 100. Ändere ich auf 200 stimmt die Formel wieder.
Auch wenn das Dein letzter Beitrag in diesem Thread war, danke ich Dir für deine Beteiligung.
Ich habe den Beitrag daher nicht mehr auf offen gestellt.
Gruß
Max

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige