Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Anzahl Monate zw. 2 Datumsangaben
#11
Hallo Luc Lac,

ich versuch einmal deine Fragen zu beantworten.

Zu:
Zitat:Ich verstehe diese Min und Max nicht wirklich; ist das so programmiertechnisch so und ist das etwas getrickt?

Aus meiner Sicht ist dies nicht getrickst, sondern die effektivste Form Schnittmengen von Intervallen zu berechnen.

1) Wenn sich zwei Intervalle irgendwie überschneiden muss ich für die Untergrenze der Schnittmenge das Maximum der Untergrenzen und für die Obergrenze der Schnittmenge das Minimum der Obergrenzen ermitteln.

2) Wenn sich die Intervalle nicht überschneiden (in deinem Fall die gesamte Dauer ausserhalb von 2016 ist), dann habe ich nach der Berechnung "1)" entweder (wenn die gesamte Dauer vor 2016 liegt) ein Intervall mit
  a) von= 1.1.16 und bis= alte Obergrenze (<= 1.1.16)
oder (wenn die gesamte Dauer nach 2016 liegt) ein Intervall mit
 b) von = alte Untergrenze (>= 1.1.17) und bis = 1.1.17.
Auf jeden Fall ist dann die Untergrenze grösser oder gleich der Obergrenze.
Da die Funktion DateDif einen Fehler ausgibt, wenn die Obergrenze kleiner als die Untergrenze ist, konnte ich dies mit der Funktioin Wennfehler abfangen.
Die Funktion Tage 360 liefert aber in diesem Fall negative Werte. Daher muss ich hier
  im Fall  a) die Untergrenze der Schnittmenge auf alte Obergrenze
und
  im Fall  b) die Obergrenze der Schnittmenge auf die alte Untergrenze
setzen und erhalte ein Intervall der Länge 0.


Zu:

Zitat:Wegen den Monatsangaben hast du recht. Besser wäre es wenn man konsequent, die daten von 01. und bis 01. einträgt. welche Formel würdest du da empfehlen?

Jedoch muss ich die Berechnung anhand der mir gegeben Daten so berechnen und darf die nicht umändern.

Die Aussagen verstehe ich nicht in Kombination, wieso fragst du nach einer Abänderung, wenn es für dich gar nicht möglich ist?

Aber wichtig ist doch, ob mit dem 15. immer die Mitte des Monats und mit dem ersten oder letzten immer das Ende eines Monats gemeint ist.
Dann must du bei der Berechnung der Intervalllängen die Grenzen für Excel entweder in zwei Hilfsspalten oder in der Formel anpassen.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#12
Warum keine Berechnung basiert auf Tagen ?
Die Input ist tagesgenau, das Ergebnis jahresgenau. Dann sind Monaten nur komplizierende Faktoren.
Ohne hilsspalten geht's auch.


Code:
=B5/(D5-C5)*SUMPRODUCT(N(YEAR(ROW(INDIRECT(C5&":"&D5)))=2016))


Angehängte Dateien
.xlsx   __Produkkosten2016 snb.xlsx (Größe: 10,39 KB / Downloads: 2)
Antworten Top


Gehe zu:


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