Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
692to696
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
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formelfehler

Formelfehler
12.11.2005 10:40:58
mike49
Hallo,
meine Formeln in I8, J8 und L8 haben noch einen "Schönheitsfehler":
Wenn ich nur die Vormittagszeit (Anfang und Ende) oder die Nachmittagszeit eingebe, wird die richtige Arbeitsdauer bzw. Stunden gerundet angezeigt. Sobald ich aber auch die Anfangszeit am Nachmittag eingebe, wird sofort gerechnet und eine negative Zeit angezeigt. Erst wenn auch noch die Endezeit eingetragen wurde ist alles richtig.
Kann man das lösen?
 
 BCDEFGHIJKL
7Pos.DatumTagVormittag
Anfang         Ende
Nachmittag
Anfang         Ende
Arbeits-dauerzu berechnender
Nettobetrag
KommentarDezimal
(gerundet)
8101.01.2006So07:5912:0313:00 -08:56-69,93 € Neujahr-9,00 Std.
9202.01.2006Mo        
Formeln der Tabelle
C8 : =DATUM(K1;I2;1)
D8 : =C8
I8 : =WENN(UND(F8="";H8="");"";(F8-E8)+(H8-G8))
J8 : =WENN(UND(F8="";H8="");"";PRODUKT(L8;$J$5))
K8 : =WENN(ISTNV(INDEX($O$9:$P$22;VERGLEICH($C8;$O$9:$O$22;0);2));"";INDEX($O$9:$P$22;VERGLEICH($C8;$O$9:$O$22;0);2))
L8 : {=WENN(UND(F8="";H8="");"";SUMME((UNTERGRENZE(E8:H8;"0:15")-OBERGRENZE(D8:G8;"0:15"))*{0.24.0.24}))}
C9 : =C8+1
D9 : =C9
I9 : =WENN(UND(F9="";H9="");"";(F9-E9)+(H9-G9))
J9 : =WENN(UND(F9="";H9="");"";PRODUKT(L9;$J$5))
K9 : =WENN(ISTNV(INDEX($O$9:$P$22;VERGLEICH($C9;$O$9:$O$22;0);2));"";INDEX($O$9:$P$22;VERGLEICH($C9;$O$9:$O$22;0);2))
L9 : {=WENN(UND(F9="";H9="");"";SUMME((UNTERGRENZE(E9:H9;"0:15")-OBERGRENZE(D9:G9;"0:15"))*{0.24.0.24}))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß
mike49

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formelfehler
12.11.2005 11:20:44
Klaus-Dieter
Hallo Mike,
für I8 sollte es so gehen: =WENN(UND(F8"";H8"");REST(F8-E8;1)+REST(H8-G8;1);WENN(F8"";REST(F8-E8;1);REST(H8-G8;1)))
Die anderen sehe ich mir auch noch an. Dauert einen Moment, ich bin nicht so der Formelfreak. ;-)
Viele Grüße Klaus-Dieter

Online-Excel
AW: Formelfehler
12.11.2005 12:03:21
mike49
Hallo Klaus-Dieter,
für I8 klappt's prima. Danke zunächst.
Gruß
mike49
Klaus-Dieter. Lass mich bitte nicht hängen.
13.11.2005 09:53:42
mike49
Gruß
mike49
AW: Klaus-Dieter. Lass mich bitte nicht hängen.
13.11.2005 13:11:43
Klaus-Dieter
Hallo Mike,
keine Panik, hatte am Wochenende nicht so viel Zeit, deshalb bin ich noch nicht dazu gekommen.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
Eine Frage
13.11.2005 13:29:41
Klaus-Dieter
Hallo Mike,
was genau soll die Formel in Zelle L8 bewirken?
Viele Grüße Klaus-Dieter

Online-Excel
Lösungsvorschlag
13.11.2005 14:22:59
Klaus-Dieter
Hallo Mike,
anbei ein Lösungsvorschlag. Ich bin nicht sicher, ob ich das Auf- und Abrunden der Arbeits- bzw. Pausenzeit richtig interpretiert habe. Bitte um Rückmeldung.
 
 BCDEFGHIJKL
6Pos.DatumTagVormittagNachmittagArbeits-dauerzu berechnenderKommentarDezimal
7Anfang         EndeAnfang         EndeNettobetrag(gerundet)
8101.01.06So07:5912:0313:0015:0006:04     50,51 € Neujahr6,5
Formeln der Tabelle
I8 : =WENN(UND(F8<>"";H8<>"");REST(F8-E8;1)+REST(H8-G8;1);WENN(F8<>"";REST(F8-E8;1);REST(H8-G8;1)))
J8 : =WENN(UND(F8="";H8="");"";PRODUKT(L8;$J$5))
L8 : =OBERGRENZE(REST(H8-E8;1);"0:15")*24-UNTERGRENZE(REST(G8-F8;1);"0:15")*24
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Lösungsvorschlag
13.11.2005 20:29:21
mike49
Hallo Klaus-Dieter,
danke, dass du mich nicht vergessen hast. War heute auch den ganzen Tag unterwegs und bin erst jetzt wieder zurück.
Zu deiner Frage:
Die Formel in Zelle I8 zeigt die genaue Arbeitszeit an, die aber für die Berechnung nicht wichtig ist.
Die Formel in L8 soll folgendes machen:
Die jeweilige Anfangszeit in E8 und G8 soll viertelstündlich aufgerundet und die Endzeit in F8 und H8 viertelstündlich abgerundet werden. Die Summe aus den beiden gerundten Differenzen soll dann als Ergebnis in L8 angezeigt werden.
Dein Lösungsvorschlag für L8 bewirkt das noch nicht.
Dann wäre noch das Problem zu lösen, dass nach Eingabe der Nachmittag-Anfangszeit nicht schon gerechnet wird und ein negatives Ergebnis angezeigt wird.Im Prinzip soll also das angezeigte Ergebnis aus der Vormittag-Arbeitszeit erst dann verändert werden, wenn auch die Nachmittag-Endzeit eingetragen wurde.
Gruß
mike49
Gruß
mike49
Anzeige
Neue Formel für L8
13.11.2005 21:10:55
Klaus-Dieter
Hallo Mike,
anbei die geänderte Formel für L8: =REST(UNTERGRENZE(F8;"0:15");OBERGRENZE(E8;"0:15"))*24+REST(UNTERGRENZE(H8;"0:15");OBERGRENZE(G8;"0:15"))*24 das andere muß ich mir noch mal ansehen.
Viele Grüße Klaus-Dieter

Online-Excel
AW: Neue Formel für L8
13.11.2005 21:46:43
Klaus-Dieter
Hallo Mike,
noch ein Versuch:
=WENN(UND(F8"";H8="");REST(UNTERGRENZE(F8;"0:15");OBERGRENZE(E8;"0:15"))*24;REST(UNTERGRENZE(F8;"0:15");OBERGRENZE(E8;"0:15"))*24+REST(UNTERGRENZE(H8;"0:15");OBERGRENZE(G8;"0:15"))*24)
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Neue Formel für L8
13.11.2005 21:59:45
mike49
Hallo Klaus-Dieter,
wenn ich die Formel einsetze, kommt die Meldung:
#Div/0!
Gruß
mike49
AW: Neue Formel für L8
13.11.2005 22:17:52
Klaus-Dieter
Hallo Mike,
da wird jetzt langsam aber sicher eine Monsterformel draus, das ist auch der Grund, warum ich so was lieber mit VBA löse. Hier das "Monstrum" das den "Fehler" abfängt:
=WENN(ISTFEHLER(WENN(UND(F8"";H8="");REST(UNTERGRENZE(F8;"0:15");OBERGRENZE(E8;"0:15"))*24;REST(UNTERGRENZE(F8;"0:15");OBERGRENZE(E8;"0:15"))*24+REST(UNTERGRENZE(H8;"0:15");OBERGRENZE(G8;"0:15"))*24));"";WENN(UND(F8"";H8="");REST(UNTERGRENZE(F8;"0:15");OBERGRENZE(E8;"0:15"))*24;REST(UNTERGRENZE(F8;"0:15");OBERGRENZE(E8;"0:15"))*24+REST(UNTERGRENZE(H8;"0:15");OBERGRENZE(G8;"0:15"))*24))
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Neue Formel für L8
13.11.2005 22:32:29
mike49
Hi Klaus-Dieter,
das funktioniert jetzt in L8. Nur I8 müsste noch angepasst werden, denn bei Eingabe der Nachmittag-Anfangszeit wird eine negative Zeit in I8 angezeigt.
Hätte übrigens gegen eine Makro-Lösung nichts einzuwenden gehabt.
Gruß
mike 49
doch noch ein Fehler in L8
13.11.2005 22:37:56
mike49
Hallo Klaus-Dieter,
gerade bemerke ich, dass die Formel doch noch nicht passt.
Wird nämlich nur nachmittags gearbeitet, wird nur in I8 die richtige Summe angezeigt und L8 bleibt leer.
Gruß
mike49
AW: Neue Formel für L8
13.11.2005 22:39:32
Klaus-Dieter
Hallo Mike,
stimmt, ich hatte I8 derweil auch geändert: =WENN(UND(F8"";G8" ";H8"");REST(F8-E8;1)+REST(H8-G8;1);WENN(F8"";REST(F8-E8;1);REST(H8-G8;1)))
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
I8 passt noch nicht
13.11.2005 22:56:12
mike49
Hi Klaus-Dieter,
Formel in I8 passt noch nicht.
Wenn ich z.B. eine Nachmittag-Anfangszeit in G8 13:00 eintrage, wird in I8 11:00 als Arbeitsdauer angezeigt.
Könnte man die Formel noch so abändern, dass I8 dann leer ist, wenn E8:H8 leer ist?
Gruß
mike49
AW: Lösungsvorschlag
14.11.2005 19:19:06
Klaus-Dieter
Hallo Mike,
anbei der angedrohte Lösungsvorschlag in VBA:
Option Explicit
Function arbdau(va, ve, na, ne)
Dim vorm As Date
Dim nachm As Date
If ve > 0 And va > 0 Then vorm = ve - va
If ne > 0 And na > 0 Then nachm = ne - na
arbdau = vorm + nachm
End Function
Function nettobetr(stulo, netto)
If netto > 0 Then nettobetr = stulo * netto
End Function
Function arbdauger(va, ve, na, ne)
Dim vormGer As Double
Dim nachmGer As Double
If ve > 0 And va > 0 Then vormGer = Application.WorksheetFunction.Floor(ve * 24, ",25") _
- Application.WorksheetFunction.Ceiling(va * 24, ",25")
If ne > 0 And na > 0 Then nachmGer = Application.WorksheetFunction.Floor(ne * 24, ",25") _
- Application.WorksheetFunction.Ceiling(na * 24, ",25")
arbdauger = vormGer + nachmGer
End Function

So sieht das Ergebnis aus:
 
 ABCDEFGHIJKL
5                      7,77 €   
6 Pos.DatumTagVormittagNachmittagArbeits-dauerzu berechnender NettobetragKommentarDezimal (gerundet)
7    AnfangEndeAnfangEnde 
8 101.01.06So07:1012:0513:0815:237:10           52,45 € Neujahr6,75
Formeln der Tabelle
I8 : =arbdau(E8;F8;G8;H8)
J8 : =nettobetr(J5;L8)
L8 : =arbdauger(E8;F8;G8;H8)
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Lösungsvorschlag
14.11.2005 22:44:35
mike49
Hallo Klaus-Dieter,
dein Lösungsvorschlag mit VBA sagt mir am meisten zu. Leider hab ich das so nicht hingekriegt, dass es funktioniert. Leider kann ich die Datei nicht hochladen, da sie 355KB groß ist. Siehst du eine Möglichkeit, wie ich sie dir zukommen lassen könnte?
Gruß
mike49
AW: Lösungsvorschlag
14.11.2005 22:58:02
Klaus-Dieter
Hallo Mike,
wenn du mir dein Mailadresse zukommen lässt, kann ich sie dir schicken. An und für sich brauchst du aber nur die drei Makros kopieren und in deiner Tabelle in ein Standardmodul einfügen. Ich habe hier: http://home.arcor.de/excelseite/Makros/Start.html unter Funktionen beschrieben wie das gemacht wird.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Lösungsvorschlag
14.11.2005 23:03:37
mike49
Hallo Klaus-Dieter,
mir wäre lieb, wenn du's mal probieren würdest.
Meine Mail-Adresse: m.ostfalk.sen@t-online.de
Gruß
mike49
Hab's hingekriegt . . .
14.11.2005 23:19:24
mike49
Habe die Formeln noch ein wenig geändert und jetzt klappt es so wie ich es wollte:
 
 BCDEFGHIJKL
7Pos.DatumTagVormittag
Anfang         Ende
Nachmittag
Anfang         Ende
Arbeits-dauerzu berechnender
Nettobetrag
KommentarDezimal
(gerundet)
8101.01.2006So      Neujahr 
Formeln der Tabelle
C8 : =DATUM(K1;I2;1)
D8 : =C8
I8 : =WENN(UND(F8="";H8="");"";arbdau(E8;F8;G8;H8))
J8 : =WENN(UND(F8="";H8="");"";nettobetr(J5;L8))
K8 : =WENN(ISTNV(INDEX($O$9:$P$22;VERGLEICH($C8;$O$9:$O$22;0);2));"";INDEX($O$9:$P$22;VERGLEICH($C8;$O$9:$O$22;0);2))
L8 : =WENN(UND(F8="";H8="");"";arbdauger(E8;F8;G8;H8))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Vielen Dank nochmals für deine große Hilfe.
Gruß
mike49
Anzeige
WennUnd ist nicht erforderlich!
15.11.2005 10:19:20
Klaus-Dieter
Hallo Mike,
die Berücksichtigung der leeren Zellen ist in den Makros schon eingearbeitet. Das "WennUnd-Geraffel" ist nicht erforderlich. Habe dir eine Beispieldatei per Mail geschickt.
Viele Grüße Klaus-Dieter

Online-Excel
Nullen und Eurozeichen unterdrücken
15.11.2005 10:29:36
Klaus-Dieter
Hallo Mike,
wenn dich die Nulleinträge und das Eurozeichen gestört haben, das kannst mit dem Abschalten der Anzeige von Nullwerten unter Extras / Optionen / Ansicht bzw. mit diesem geänderten Makro im Fall der Eurozeichen unterdrücken.
Function nettobetr(stulo, netto) If netto > 0 Then nettobetr = stulo * netto Else nettobetr = "" End Function
Viele Grüße Klaus-Dieter

Online-Excel
AW: Formelfehler
12.11.2005 11:22:49
ottoh
HAllo Mike,
mach aus dem Und ein Oder (I8 und J8), dann sollte es klappen.
Gruß OttoH
AW: Formelfehler
12.11.2005 11:54:56
Mike49
Hallo OttoH,
das funktioniert so nicht. I8 und J8 sollen ja nur dann leer sein, wenn beide Zellen (E8 und G8) leer sind. Ansonsten soll berechnet werden. Bei deinem Vorschlag wird ja nur dann gerechnet, wenn E8 und G8 nicht leer sind.
Gruß
mike49

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige