Formel, die nach bestmöglicher Kombination in einer Zeile sucht
#21
Hi Ego,

ja, stimmt. Der Fall ist mir doch glatt entgangen. Jetzt fehlen nur noch die Formeln das man auf den Preis kommt Smile Ich mach mich mal drüber ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#22
Hallöchen,

so, das könnte mit der Hilfszeile so aussehen. Für die Anzahl der Streifenkarten könnte man dann einfach die ermittelten Kosten durch den Einzelpreis dividieren. Oder, man gibt nur die Anzahl aus und lässt die Faktoren Q2, Q3 und Q4 weg. X11 ist noch nicht ganz korrekt, die Monatskartenbedingung muss analog S11 bzw. N11 angepasst werden.

Edit: Jetzt passt alles. Waren auch noch paar Klammern umzulegen Smile

Arbeitsblatt mit dem Namen 'Tabelle1'
JKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMAN
11 = Anwesenheit (= 2 Fahrten mit den öffentlichen Verkehrsmitteln)
2Münchner Ticket30,00 €
3Wochenkarte17,10 €
4Streifenkarte (Sk)2,80 €
5
6
7Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.
81.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.
9111111
101123234443221001111111000000000
11Monaskarte:0,00 €SK:11,20 €WK:17,10 €

ZelleFormel
J10=ZÄHLENWENN(G9:M9;1)
N11=ODER((ZÄHLENWENN(J9:AN9;1)>6);(ZÄHLENWENN(J9:AN9;1)>5)*(MAX(J10:AN10)<4))*$Q$2
S11=NICHT(ODER((ZÄHLENWENN(J9:AN9;1)>6);(ZÄHLENWENN(J9:AN9;1)>5)*(MAX(J10:AN10)<4)))*((ZÄHLENWENN(J9:AN9;1)-(MAX(J10:AN10)*(MAX(J10:AN10)>3)))*$Q$4*2)
X11=NICHT(ODER((ZÄHLENWENN(J9:AN9;1)>6);(ZÄHLENWENN(J9:AN9;1)>5)*(MAX(J10:AN10)<4)))*ODER(ZÄHLENWENN(J10:AN10;4)>0;ZÄHLENWENN(J10:AN10;5)>0)*$Q$3
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#23
Hallo O...,

hier einige Erklärungen:

A) In den Zeilen 9-11 werden einige Hilfswerte berechnet.
Zelle J9: Anzahl der Anwesenheitstage im Monat
Zeile 10: Anzahl der Anwesenheitstage in den nächsten 7 Tagen
Zeile 11: Anzahl der Anwesenheitstage im Monat ohne die nächsten 7 Tage

B) In der Zelle I12 wird die Art des Günstigsten Tarifs ermittelt und in der Zelle I13 der Monatsbetrag.

I12: =WENN(UND(J9>5;MIN(J11:AN11)>2);"M";WENN(MAX(J10:AN10)>3;"W";"S"))
I13: =WENN(I12="M";30;WENN(I12="W";17,1+MIN(J11:AN11)*5,6;J9*5,6))



C) In den Zellen J12:AN12 habe ich über bedingte Formatierungen die Zeiträume der Karten dargestellt.

Hallo André,

wenn ich in einer Woche fünf Anwesenheitstage habe und im Rest des Monats zwei zusätzliche (= 7 Anwesenheitstage), dann ist es günstiger eine Wochenkarte und an zwei Tagen die Streifenkarte zu nutzen als eine Monatskarte zu kaufen.


Angehängte Dateien
.xlsx   Fahrtkostenerstattung.xlsx (Größe: 12,9 KB / Downloads: 3)
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.





Top
#24
Hallo Helmut,

jetzt hab ich aber auch mal was zu sagen .-) Das stimmt bei Dir nicht:

Arbeitsblatt mit dem Namen 'Tabellenblatt1'
IJKLMNOPQRSTUVWX
5Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.Sa.So.Mo.Di.Mi.
601.02.03.04.05.06.07.08.09.10.11.12.13.14.15.
711111
8
95
10232111232222210
11323444323333345
12S
1328,00 €
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg

… und so passt es bei mir jetzt mit den 7 Smile:

Arbeitsblatt mit dem Namen 'Tabelle1'
JKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJAKALAMAN
11 = Anwesenheit (= 2 Fahrten mit den öffentlichen Verkehrsmitteln)
2Münchner Ticket30,00 €
3Wochenkarte17,10 €
4Streifenkarte (Sk)2,80 €
5
6
7Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.Sa.So.Mo.Di.Mi.Do.Fr.
81.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.
91111111
101112234445433222111000000000000
11Monaskarte:0,00 €SK:11,20 €WK:17,10 €Summe:28,30 €
12Anzahl:

ZelleFormel
J10=ZÄHLENWENN(G9:M9;1)
N11=ODER((ZÄHLENWENN(J9:AN9;1)>7);(ZÄHLENWENN(J9:AN9;1)>6)*(MAX(J10:AN10)<5);(ZÄHLENWENN(J9:AN9;1)>5)*(MAX(J10:AN10)<4))*$Q$2
S11=NICHT(ODER((ZÄHLENWENN(J9:AN9;1)>7);(ZÄHLENWENN(J9:AN9;1)>6)*(MAX(J10:AN10)<5);(ZÄHLENWENN(J9:AN9;1)>5)*(MAX(J10:AN10)<4)))*((ZÄHLENWENN(J9:AN9;1)-(MAX(J10:AN10)*(MAX(J10:AN10)>3)))*$Q$4*2)
X11=NICHT(ODER((ZÄHLENWENN(J9:AN9;1)>7);(ZÄHLENWENN(J9:AN9;1)>6)*(MAX(J10:AN10)<5);(ZÄHLENWENN(J9:AN9;1)>5)*(MAX(J10:AN10)<4)))*ODER(ZÄHLENWENN(J10:AN10;4)>0;ZÄHLENWENN(J10:AN10;5)>0)*$Q$3
AC11=N11+S11+X11
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg


Die Formel aus N11 braucht man übrigens nicht in SK und WK wiederholen, da würde auch =(N11=0)*… reichen Smile z.B.
SK: =(N11=0)*((ZÄHLENWENN(J9:AN9;1)-(MAX(J10:AN10)*(MAX(J10:AN10)>3)))*$Q$4*2)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#25
Hallo André,

zu

Zitat:Das stimmt bei Dir nicht:


Ich sehe es nicht, kannst du den Fehler genauer beschreiben?


ps In meine Metrik ist 28 (=10*2,8) kleiner als 28,3.
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.





Top
#26
Hallo Helmut,

ich nehm alles zurück Confused
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#27
Vielen lieben Dank an alle.
Ich schaue es mir heute und morgen an und gebe Feedback.
Großartig auf den ersten Blick!

Zitat:Ich gehe da zum einen mal mit LCohen. Eine Berechnung im Nachhinein ginge am Ziel vorbei. Wenn, dann muss ich vorher wissen, wie oft ich kommen muss und kann danach die Fahrkosten planen. Es wäre auch Unsinn, wenn ich am Freitag einen Folgetermin für Montag erhalte und dadurch rückwirkend nur eine Wochenkarte ersetzt bekomme wo ich vorher vielleicht Einzelfahrscheine hatte.
Wenn man es genau nimmt, kann man da auch nicht unbedingt vom 1. bis zum 31. rechnen sondern muss auch die Tage davor und danach betrachten. Der 31. August ist z.B. ein Montag. Wenn ich weiß, dass ich in der Woche 5x kommen muss und zwei Wochen vorher und danach nicht, könnte ich mir für die Zeit vom 31.8. bis 4.9 ggf. eine Wochenkarte holen. Mit Deiner Verfahrensweise würdest Du mir am 31.8. einen Einzelfahrschein spendieren und ab dem 2.9. eine Wochenkarte.
Wenn es Terminverschiebungen gibt, muss ggf. auch berücksichtigt werden, dass dadurch z.B. eine bereits gekaufte Wochenkarte nicht ausgeschöpft werden kann.
Genau das ist der Mist, den das Job Center verzapft.

Zumindest hat es den Vorteil, dass der Kunde, wenn er denn 6mal kommt (und er soll öfters kommen), er den Münchner Pass für 30€ bezahlt bekommt, den er auch anderweitig nutzen kann.
Top
#28
(20.02.2020, 21:39)schauan schrieb: Mal ein paar Vorgedanken zu einem Lösungsansatz.

Eine Monatskarte lohnt sich ab 11 Einzelfahrten, 11 x 2,80 = 30,80. Allerdings muss man die Rückfahrt einbeziehen, also sind es 33,60 Das wären 6 Besuche.

Eine Wochenkarte lohnt sich ab 4 Besuchen, hattest Du schon gerechnet.
Zwei Wochenkarten würden sich nicht rechnen, die kosten 34,20, also mehr als die Monatskarte
Da die Kunden nur Montag bis Freitag kommen, können 6 Besuche nicht mit einer Wochenkarte abgedeckt werden, dazu müsste eine Wochenkarte 8 Tage gelten und nicht 7

Einzelkarten lohnen sich auf jeden Fall bis maximal 3 Besuchen, das wären 6 x 2,80 = 16,80

Die Formel für die erste und letzte Variante ist simpel, >5 oder <4 Besuche.

Bleiben nur zwei "Häufigkeiten" übrig.
Bei 4 und 5 Besuchen müsste man prüfen, ob wenigstens 4 mit einer Wochenkarte abdeckbar sind, also innerhalb 7 Tagen liegen.

Liegen alle 4 oder 5 innerhalb 7 Tagen, passt die Wochenkarte mit 17,10
Liegen in jedem Fall weniger als 4 innerhalb 7 Tagen, dann lohnen sich SK
Liegen bei 5 Fahrten nur 4 innerhalb von 7 Tagen, rechnet sich hier die Kombination aus 1 Wochenkarte und 2 SK


Wenn die Gedanken richtig sind, wäre als nächstes die Frage, ob man das mit einer Formel feststellen kann und wenn ja, mit welcher Smile

Ich würde dazu erst mal in einer zusätzlichen Zeile die Anzahl 1 innerhalb 7 Tagen auswerten, siehe Formel in J10 - einfach bis zum 31. ziehen …

Darauf könnte man dann aufbauen und eine Lösung für die 4 oder 5 suchen. Geht vielleicht auch ohne Hilfszeile, aber ist erst mal ein Ansatz zum Weiterkommen.
Die Vorgedanken stimmen so weit. Und die Idee mit der Zählung der 1er im jeweiligen 7-Tage-Abschnitt finden ich super wie einfach.
Top
#29
(21.02.2020, 13:00)Ego schrieb: Hallo O...,

hier einige Erklärungen:

A) In den Zeilen 9-11 werden einige Hilfswerte berechnet.
Zelle J9: Anzahl der Anwesenheitstage im Monat
Zeile 10: Anzahl der Anwesenheitstage in den nächsten 7 Tagen
Zeile 11: Anzahl der Anwesenheitstage im Monat ohne die nächsten 7 Tage

B) In der Zelle I12 wird die Art des Günstigsten Tarifs ermittelt und in der Zelle I13 der Monatsbetrag.

I12: =WENN(UND(J9>5;MIN(J11:AN11)>2);"M";WENN(MAX(J10:AN10)>3;"W";"S"))
I13: =WENN(I12="M";30;WENN(I12="W";17,1+MIN(J11:AN11)*5,6;J9*5,6))

C) In den Zellen J12:AN12 habe ich über bedingte Formatierungen die Zeiträume der Karten dargestellt.
Hallo Helmut, 

auch dir vielen Dank für die Mühe.

Ich versuche gerade deine Formeln nachzuvollziehen, indem ich sie mit der darüberstehenden Tabelle vergleiche. Aber irgendwie ist der dargestellte Tabellenabschnitt falsch oder ich habe etwas nicht verstanden.
Am Beispiel: Du schreibst In der Zelle I12. Die von dir dargestellte Tabelle fängt aber mit Spalte J an.
Top
#30
Ich habe die Formeln bisher nicht gänzlich durchblickt, habe sie aber schon angepasst und angewendet. 
Es sieht soweit echt gut aus.

Während ich versuche es nachzuvollziehen, möchte ich euch einen weiteren Parameter vorstellen:

Der Münchner Pass gilt ab 9 Uhr.
Das heißt, wenn der Kunde vor 9 Uhr fährt, dann bekommt er von mir 2,80€ extra.
Ich werde mir da inzwischen auch eine Logik überlegen, allerdings weiß ich, dass deine Formeln, Helmut, wohl werden erweitert werden müssen. 
Allein dieser Fall macht es schon deutlich:

Der Kunde kommt 6mal (sodass keine Wochenkarte Sinn macht), dabei ist eine der (12) Fahrten vor 9 Uhr.
Bis dato hätten wir ganz klar eine M-Karte und es würden 30€ ausgezahlt (30€ ist weniger als 6x2x2,80€=33,60€).
Betrachtet man nun die eine Fahrt vor 9 Uhr, dann ergibt sich eine Auszahlung von 32,80€. Erklärung: (a) 11 Fahrten a 2,80€ sind 30,80€, was ein Monatskarte für 30€ ergibt. Und dann kommt (b) noch eine Einzelfahrkarte von 2,80€ dazu.

In diesem Fall hängt eben die Feststellung, ob mit M, W oder S gerechnet wird, davon ab, ob es eine oder mehrere Fahrten vor 9 Uhr gibt.
Andererseits wird es sicherlich Fälle geben (ist aber nur eine Vermutung), wo die Anrechnung der Vor-9-Uhr-Fahrten von M, W oder S abhängen wird.
Wenn es diesen Unterschied geben wird, dann wird ein Grundkriterium erstellt werden müssen, dass entscheidet, welche Abhängigkeit wann zum Tragen kommt, um darauf aufbauend dann entsprechende Formeln zur Anwendung kommen zu lassen.

Grundsätzlich kommt mir der Gedanke, dass die Vor-9-Uhr-Termine im Falle der Auszahlung aufgrund der Berechnung auf Grundlage von Einzelfahrkarten oder Wochenkarten nicht gesondert betrachtet werden müssen, denn nur der Münchner Pass ist ab 9 Uhr gültig. 
Dementsprechend müsste wahrscheinlich zunächst und grundsätzlich zweierlei festgestellt/abgefragt werden: (a) Gibt es Fahrten vor 9 Uhr?, (b) Ergibt die Betrachtung aller Anwesenheiten/Fahrten (also unabhängig von der Zeit der Fahrt) eine Berechnung/Auszahlung aufgrund von S, W oder M? Aber da schwimme ich noch.   

Ich hoffe, ich habe mich nicht zu kompliziert ausgedrückt oder mache es nicht unnötig kompliziert.
Top


Gehe zu:


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