Ich muss prüfen, ob der Wert in C2 in der Spalte F steht. WENN dies der Fall ist UND die letzte Ziffer von C2 „1“ ist, möchte ich, dass er als „Falsche Variante“ oder leer zurückgegeben wird.
Wie schreibe ich die richtige Formel?
Wie Sie im Bild sehen, muss ich prüfen, ob die Materialnummer in der Spalte „Neue Version“ (auf einer anderen Registerkarte) steht. Wenn dies der Fall ist und der Markt die falsche Version bestellt, muss dort „Falsche Variante“ stehen, wenn nicht, muss es leer bleiben. Einige Materialnummern stehen nicht in der Liste „Neue Version“ und die Bestellung ist verstreut.
Antwort1
Machen Sie den ersten Teil Ihrer Formel zu einem Test für die 1. Auf diese Weise müssen nur (Sie wissen schon ... „vielleicht“, abhängig von den Dateneigenschaften) nur 10 % der Werte auf ihr Vorhandensein in Spalte F getestet werden. Das ist nicht unbedingt erforderlich, aber es scheint die Berechnungen zu beschleunigen. Außerdem können Sie so eine verschachtelte IF()
Struktur für Ihre Formel verwenden, was Ihrer Erfahrung nach möglich ist, sodass es für Sie einfacher sein könnte:
=IF(RIGHT(C1,1)<>1,"You didn't specify what should happen for this.",IF(ISERROR(VLOOKUP(C2,F:F,1,FALSE),"You didn't specify what should happen for this.","Incorrect Variant"))
Hmm ... sieht ganz komisch aus, oder?
Klarerer Weg?
=IF(AND(RIGHT(C2,1)=1,NOT(ISERROR(VLOOKUP(C2,F:F,1,FALSE)))),"Incorrect Variant","You didn't specify what should happen for this.")
Machen Sie es also auf die erste Art, und Ihre Tabelle wird wahrscheinlich schneller sein. Ob und inwieweit das eine Rolle spielt, kann ich hier allerdings nicht sagen.
Machen Sie es auf die zweite Art, dann ist es meiner Meinung nach etwas einfacher zu lesen und zu verstehen.
(Für „Sie haben nicht angegeben, was hier passieren soll.“ können Sie natürlich das verwenden, was Sie für die Werte, die dazu führen, dass die angegebenen Kriterien Ihres Problems nicht erfüllt werden, wünschen.)