Excel-Formel basierend auf Datumsvariablen

744
Leo Reeves

Ich versuche, einen Gebührenrechner zu erstellen, aber ich kann die Formeln nicht für mich arbeiten lassen. Ich versuche im Wesentlichen, eine lange Formel zu schreiben, die alle verschiedenen Datumsvariablen berücksichtigt. Ich habe sechs auswählbare Produkte und habe versucht, eine Kombination aus IF-, AND- und OR-Anweisungen zu verwenden.

Meine Spalten sind wie folgt aufgebaut:

Produktliste:

Produkt 1

Produkt 2

Produkt 3

Produkt 4

Produkt 5

Produkt 6

Ich möchte, dass die Formel in C2 zurückgegeben wird:

"Nein" unter "Gebühr" für Folgendes:

  • WENN sich Produkt 5 oder Produkt 6 in A2 oder ODER befinden
  • WENN sich Produkt 3 oder 4 in A2 befinden UND das Datum in B2 weniger als 18/12/2014 ODER ist
  • WENN sich Produkte in A2 befinden UND das Datum in B2 weniger als 29/03/2012 ist

"Ja" für Folgendes:

  • WENN sich die Produkte 3 oder 4 in A2 befinden UND WENN B2 größer oder gleich 18/12/2014 ist, ODER
  • Wenn sich Produkte 1 oder 2 in A2 befinden und IF B2 größer oder gleich 29/03/2012 ist

Ich möchte, dass C2 leer bleibt, bis in A2 etwas eingegeben wird.

0

2 Antworten auf die Frage

2
OldUgly

Nothing too creative here - just a brute force set of IF statements. Column C contains this formula filled down ...

=IF(OR(A2=$E$6,A2=$E$7,AND(OR(A2=$E$4,A2=$E$5),B2<DATE(2014,12,18)),AND(A2<>"",B2<DATE(2012,3,29))),"No",IF(OR(AND(OR(A2=$E$4,A2=$E$5),B2>=DATE(2014,12,18)),AND(OR(A2=$E$2,A2=$E$3),B2>=DATE(2012,3,29))),"Yes",""))

And generated these results. Note: I used Column E to hold a list of Valid Products. Note 2: Added test cases as per Scott's suggestion ...

enter image description here

Ihre Antwortpräsentation wäre wahrscheinlich besser, wenn Sie "A20", "A21" und "A22" = "Produkt 7" (oder etwas anderes, das nicht in der Liste steht) und "A23", "A24" und "A25" = Leerzeichen hinzufügen . Und genau genommen brauchen Sie die "$" nicht vor den "E". Ansonsten ist diese Antwort perfekt. PS Ich habe Fortran vor 1977 benutzt. Scott vor 8 Jahren 0
Danke @Scott - `A20` und` A23` sind nicht trivial und sollten angezeigt werden. Die Bildschirmkappe wurde aktualisiert. OldUgly vor 8 Jahren 0
0
Rajesh S

enter image description here

Ich möchte vorschlagen, die Formel zu improvisieren, die kleiner ist als die vorige.

enter image description here

Die Gründe dafür sind

Für NO, anstatt Produkt 5 und 6 mit Datum und als ODER-Test Produkt 3 und 4 separat zu testen, testen Sie sie besser mit der One-One-Anweisung, da sie technisch ähnlich ist, die Länge der Formel verbessert und verkürzt.

Ich habe die Produkte 3, 4, 5 und 6 mit dem Datumswert 29.03.2012 getestet, wenn das Datum kleiner als das Datum ist, das natürlich kleiner als der 18.12.2014 ist .

Und wenn A2 leer ist, müssen Sie kein weiteres Coz testen. Ihre letzte Bedingung ist, wenn A2 leer bleibt. C2 bleibt auch leer, so dass ich es bei First getestet habe.

Ebenso habe ich für JA, Produkt 1, 2, 3 & 4 mit Datumswert 18.12.2014 getestet, denn wenn der Datumswert in einer Zelle entweder größer als oder gleich ist, bedeutet dies, dass das Datum höher ist als das Datum vom 29.03. 2012 .

Anmerkung: Wenn Sie beide Ergebnisse vergleichen, finden Sie einen Unterschied in Zeile 9 und 12. Grund ist einfach. Datumswerte in beiden Zeilen sind größer als die Datumswerte, mit denen wir testen.

Bitte ändern Sie den Datenbereich in Ihrer Formel nach Bedarf.

Mein Datenbereich ist I79: K99, die Formel steht in K79.

Beispielspalte ist Produktname und Datum, an die der Wert angepasst werden soll, enthält den Datenbereich M79: M88. Die Spalte ist grün enthält die Antwort, die von der vorherigen Formel erzeugt wurde.