Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
116to120
116to120
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excelhilfe

Excelhilfe
03.05.2002 17:11:09
Ralf Becker
Hallo, kann mir jemand sagen, wie ich in Excel folgendes rechnen lassen kann: Ich gebe in B13 eine Honorarsumme ein, z.B. 52.000 € und Excel weiss: aha der Wert liegt zwischen 50.000 und 59.999 und so muss diser Wert mit 5,3 % multipliziert werden. Wenn ein anderes Honorar eingegeben wird z.B. 85.000 € dann muss Excel wissen: aha Wert zwischen 80.000 und 100.000 €, also mit 3,32 % multiplizieren. Kann mir jemand da helfen (wir haben 10 Honorarschritte von 20.000 - 2.500.000 und entsprechend 10 unterschiedliche Beitragssätze. Wer kann mir helfen?

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Excelhilfe
03.05.2002 17:45:51
Michael
Vielleicht mit WENN + ODER

Wenn(Oder(B13>50000;B13<59999);B13*5,3%;hier dann wieder eine wenn oder)

Michael will 10 WENNs !
03.05.2002 17:51:47
Volker Croll
Hallo Ralf, hallo Michael,

der Vorschlag von Ralf ist sicher ein Weg, aber Michael schrieb von 10 versch. Moeglichkeiten. Normalerweise gehen in Excel nur 8 WENNs. Bei mehr WENNS muessen diese mit + verbunden werden:

=WENN(...;+Wenn(...;+WENN(...;"")))

Gruss Volker

Sorry habe gerade Michael und Ralf verwechselt-oT.
03.05.2002 17:53:38
Volker Croll
.
Re: Sorry habe gerade Michael und Ralf verwechselt-oT.
03.05.2002 17:55:21
Ralf Becker
Danke - ich werde es mal versuchen - ist ganz schön schwierig - ich könnte die Werte ja in 2 Gruppen a 5 aufteilen
Re: Excelhilfe
03.05.2002 17:59:55
GraFri
Hallo

In die Dekleration der Tabelle und Code anpassen.
--------------------------------------------------------

Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim tb As Worksheet
Dim A As Single
Dim B As Single

Set tb = Worksheets("Tabelle1")

On Error GoTo Fehler
Application.EnableEvents = False
If Target.Address = "$B$13" Then
If IsNumeric(tb.[B13].Value) Then 'Abfrage, ob Zahl
A = tb.[B13].Value
Select Case A
Case Is < 60000
B = A * 0.053
Case Is < 80000
B = A * 0.042
Case Is < 100000
B = A * 0.0332
'usw.
'usw.
'usw:
End Select
tb.[B14].Value = Format(Round(B, 2), "#,###.#0") 'Ausgabe in Zelle B14
End If
End If
Application.EnableEvents = True
Exit Sub
Fehler:
End Sub
--------------------------------------------------------

mfg, GraFri

Anzeige
Re: Excelhilfe
03.05.2002 18:01:29
Ralf Becker
Hallo - klappt nicht es wird immer ein Fehler angezeigt - die Wenn-Bestimmung stimmt nicht
Re: Excelhilfe
03.05.2002 18:03:20
Ralf Becker
Hallo GraFi - oh das sind ja alles bömische Dörfer für mich. Ich weiis gar nicht wo die Deklaration der Tabelle ist - kannst du mir da noch mal helfen?
Re: Excelhilfe
03.05.2002 18:19:47
GraFri
Hallo

--------------------------------------------------------
Drücke in der Excel-Tabelle Alt+F11, dann solte ein zweigeteiltes Fenster erscheinen (oder: Unter Extras\Makro... den Visual-Basic Editor aufrufen). Im linken Fenster (falls nicht vorhanden, Strg+R drücken) findest du eine Auflistung aller geöffneter Dateien. Wähle dort die entsprechende Datei und dann das entsprechende Tabellenblatt durch doppelklick aus. Anschließend kopiere den Code in das rechte Fenster. Dann im Code den Tabellennamen und eventuell auch die Ausgabezelle anpassen.
--------------------------------------------------------

mfg, GraFri

Anzeige
Re: Excelhilfe
03.05.2002 18:21:12
Michael
Ich nehme doch an das du nur eine Formel willst und nicht ein vba-Programm.
das mit denn + Zeichen ist klar (bei 10 Bedingungen)
mein Fehler

ansonsten Formel:

=WENN(ODER(B13>50000;B13<59999);B13*5,3%;+WENN(ODER(B13>60000;B13<69999);B13*4%;+WENN usw))

Re: Excelhilfe
03.05.2002 18:43:35
Ralf Becker
Hallo, ich habe alles hinbekommen - aber wenn ich dan sage speichern und zu excel zurückkheren und ich in B13 z.B. 80000 eingebe erscheint in C13 nichts - es tut sich nichts - muss ich noch iregndwas aktiveiren?
Re: Excelhilfe
03.05.2002 18:53:25
Ralf Becker
Hi nochmal - ich habe den Namen der Tabelle, die bei mir Test heisst in der Zeile "Set tb = Worksheets("TEST") geändert und das Ergebnis soll in Zeile c13 ausgedruckt werden - aber wie gesagt, wenn in in B13 den Wert eingeben tut sich nichts - ich habe alles so genacht wie du geschreiben hast udn wenn ich den Visual.. öffne erschenit auch der Code (Linke Überschrift Worksheets - rechte Überschrift Change.
Was mache ich falsch?
Anzeige
Re: Excelhilfe
03.05.2002 18:57:38
Ralf Becker
Ich versuchs noch mal
mit SVERWEIS würde es auch gehen...
03.05.2002 19:07:52
Rolf, Lgh.
Hallo Ralf,
wenn Du noch daran Interesse hast, könnte ich Dir morgen (heute leider nicht mehr) ein Muster erstellen.
Gruß Rolf
Re: mit SVERWEIS würde es auch gehen...
03.05.2002 19:16:49
Ralf
Hallo,

klar sehr gerne - ich verzweifele schon es ist so kompliziert - ein "Formelweg" würde mir reichen - die anderen Daten setze ich dann selbst ein - nur einmal wissen wie es geht:

in B13 wird der Wert eingegeben und in C13 soll das Egebnis ausgeworfen werden.

B13 = 80.000 € Honorar und in C13 sthet dann automatisch: 3.360
(80.000 x 4,2 %) udn wenn ich 50.000 e eingebe muss in C13 automatisch 2.650 stehen (50.000 x 5,3%) Alles klar? wenn Fragen einfach anmailen. Danke

Anzeige
Re: Excelhilfe
03.05.2002 19:36:25
Ralf Becker
DANKE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Jetzt klappt alles wunderbar!!!!!!!!!!!!!!!

Ich hatte mich verschieben - wirklich super klasse

Vielen Dank!!!!!

Tolles Wochenende an GraFri

Re: Excelhilfe
03.05.2002 19:37:39
GraFri
Hallo

Habe den Code etwas geändert. Ausgabe in Zelle C13, Tabellenname = 'Test', bei falscher Eingabe wird die Eingabe- und Ergebniszelle gelöscht. Lösche den alten Code und kopiere den Code nochmals in die Tabelle 'Test'. Speichere die Tabelle ab, schließe sie und öffne sie erneut, dann sollte es funktionieren.
--------------------------------------------------------

Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim tb As Worksheet
Dim A As Single
Dim B As Single

Set tb = Worksheets("Test")

On Error GoTo Fehler
Application.EnableEvents = False
If Target.Address = "$B$13" Then
If IsNumeric(tb.[B13].Value) Then 'Abfrage, ob Zahl
A = tb.[B13].Value
Select Case A
Case Is < 60000
B = A * 0.053
Case Is < 80000
B = A * 0.042
Case Is < 100000
B = A * 0.0332
'usw.
'usw.
'usw:
End Select
tb.[C13].Value = Format(Round(B, 2), "#,###.#0") 'Ausgabe in Zelle C13
tb.[B13].Value = Format(A, "#,###.#0")
Else
tb.[B13] = vbNullString
tb.[C13] = vbNullString
End If
End If
Application.EnableEvents = True
Exit Sub

Fehler:
Application.EnableEvents = True
End Sub
--------------------------------------------------------

mfg, GraFri

Anzeige
Re: Excelhilfe
05.05.2002 11:32:11
Josef B
Hallo Ralf
Für solche Aufgaben ist die Funktion Verweis ideal.
Mein Beispiel rechnet von 50000 bis 59999 5,3% von 60000 bis 69999 4,3% und so weiter.
Das ganze lässt sich leicht auf 10 Schritte erweitern und auch die entsprechenden Beitragssätze
sind leicht anpzuassen.

=VERWEIS(B13;{50000;60000;70000;80000};{5,3;4,3;3,3;2,3})*B13%

MfG Josef


299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige