WENN ODER UND
#1
Liebes Forum, ein frohes neues Jahr euch allen.
Ich versuche seit Stunden ein mir vorliegendes Dokument abzuändern, da sich bei unserem Dienstplan einiges verändert hat. Dabei geht es im wesentlichen um drei Spalten, sie Formel steht im C10 Feld:
Spalte 1 (B10) fragt einen Buchstaben aus einem anderen Dokument ab.
Je nach Buchstaben soll dann in Spalte 2 (C10) ein Stunden Wert stehen oder auch ein leer Wert, je nachdem welcher Tag als Wert in Spalte 3 (K10) ist (1 für Montag usw bis 7 für Sonntag)

bei B10 A,I,L C10 12:45 wenn K10 123456
bei B10 ÜA,ÜL C10 12:45 wenn K10 7
bei B10 ÜA+;ÜL+ C10 13:00 wenn K10 7
bei B10 A+,L+,I+ C10 13:00 wenn K10 123456
bei B10 U,SU,PfU,Y,S,M C10 08:25 wenn K10 1234
bei B10 U,SU,PfU,Y,S,M C10 08:00 wenn K10 5
bei B10 A,L C10 leer wenn K10 7
bei B10 leer, GA,Z C10 leer wenn K10 1234567

geht das oder sind das zu viele Kombinationen?

die alte Formel war folgende, allerdings gibt es die Stunden und ein paar Buchstaben nichtmehr, und halt mehr bedingungen je nach Wochentag:
=WENN(UND(B10="C";K10=5);WERT("6:45");WENN(ODER(K10=6;K10=7);"";WENN(UND(ODER(B10="U";B10="SU";B10="PfU";B10="Y";B10="A";B10="H";B10="C";B10="S";B10="M";B10="LSF";B10="kr";LINKS(B10;1)="D";LINKS(B10;1)="X");K10=5);WERT("8:00");WENN(ODER(B10="U";B10="SU";B10="PfU";B10="Y";B10="A";B10="H";B10="C";B10="S";B10="M";B10="LSF";B10="kr";LINKS(B10;1)="D";LINKS(B10;1)="X");WERT("8:15");WENN(ODER(B10="";B10=0;B10="GA";B10="Z");"")))))

als Ergänzung wäre noch super im J10 Feld bei K10=7, und wenn B10 A,L wo ja C10 leer bleibt dafür im 12:45 bzw bei B10 A+ 13:00 stehen könnte
Antworten Top
#2
Hallo
ich würde es anders lösen und eine extra Liste mit allen Buchstaben anlegen.
Daneben sieben Spalten von Montag - Sonntag in dem die relevanten Werte stehen.

Du suchst dann per Sverweis nach dem Buchstaben und stellst den Spaltenindex je nach Wochentag ein, fertig. 
Eine immergleiche Formel für alle Buchstaben und Wochentage wo die Liste jederzeit angepasst werden kann.

Gruß Holger
Antworten Top
#3
Hallo
als Nachtrag mal ein Beispiel wie ich mir das vorstellen könnte.
Gruß Holger


.xlsx   Mappe1.xlsx (Größe: 11,77 KB / Downloads: 10)
[-] Folgende(r) 1 Nutzer sagt Danke an echo für diesen Beitrag:
  • SierraLima
Antworten Top
#4
Ja daran hab ich gar nicht gedacht.. danke, schaut gut aus

wie mach ih das jetzt noch, dass nichts dort steht, denn wenn nichts in der Tabelle steht, steht in der Ausgabe dennoch 0:00 - das ist nicht schön
Antworten Top
#5
Hallo
schau dir mal das Zellformat in C10 an, 
dort habe ich der Ergebnis auf Null geprüft, ist das der Fall wird nichts angezeigt.
Gruß Holger
Antworten Top
#6
ah super, danke,diese Funktion kannte ich auch noch nicht...

jetzt hab ich noch das problem, dass ich bei der Sonntags Spalte (I) die Stundenausgabe so gelöst habe:

=WENN(NICHT(K64=7);"";WENN(ODER(B64="ÜA+";B64="ÜL+");"13:00";WENN(ODER(B64="ÜA";B64="ÜL");"12:45";WENN(G64="";"";WERT(AU64)))))

und mir da die Summenbildung =SUMME(I10:I71) nicht funktioniert und immer 00:00 mit Rufzeichen-Ungültige Formel steht steht. wenn ich nur die Felder die einen Inhalt haben anklicke mit + dann funktioniert die Summe sehrwohl...  auch bei der anderen Spalte mit der =WENNFEHLER(SVERWEIS... -Ausgabe der Stunden funktioniert die SUMMER normal.

UND: wenn der Buchstabe mit X anfängt, geht da die Tabelle bzw die SVERWEIS Formel mit LINKS(B10;1)="X" dass die Stunden eingetragen werden egal ob es ein X2 oder X7 ist?
Antworten Top
#7
Hallo
In der Tabelle steht auch tatsächlich ein WERT drin.

Ich denke es liegt da dran, das du der Zelle zB. "13:00" übergibst. 
Alles was zwischen "" steht ist TEXT und wird möglicherweise bei weiteren Berechnungen ignoriert.

Du kannst Excel dazu bringen, den Text sofort in einen Wert zu wandeln, in dem du die Eingabe mit einer Berechnung kombinierst:
"13:00"*1
alternativ gibt es die Funktion ZEIT() dafür:
=ZEIT(13;0;0)

Gruß Holger

Zitat:UND: wenn der Buchstabe mit X anfängt, geht da die Tabelle bzw die SVERWEIS Formel mit LINKS(B10;1)="X" dass die Stunden eingetragen werden egal ob es ein X2 oder X7 ist?

klar geht das, macht die Formel aber unnötig länger weil du diesen speziellen Fall extra prüfen musst. 
Was spricht dagegen, x1; x2; X3; ...bis... X7 getrennt in der Tabelle einzufügen?
Für jedes X eine Zeile
Antworten Top
#8
Hallo,

(02.01.2024, 11:36)echo schrieb: "13:00"*1
alternativ gibt es die Funktion ZEIT() dafür:
=ZEIT(13;0;0)

hier dann eher ZEITWERT("13:00").

Gruß, Uwe
Antworten Top


Gehe zu:


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