2016-05-03 11 views
0

In meiner Tabelle mit Array-Formel erstellen ich eine eindeutige Liste von Werten basierend auf mehreren Bedingungen. Formel ist unten:Excel Array-Formel IF mit mehreren Kriterien

{=INDEX(INDIRECT($O$3&"!$L$2:$L$"&$O$16),SMALL(IF((INDIRECT($I$3,FALSE)=$O$7)*(INDIRECT($K$3,FALSE)=$O$9)*(INDIRECT($M$3,FALSE)=$O$11)*(INDIRECT($X$17,FALSE)=$O$15)*(INDIRECT($AF$17,FALSE)>$O$15),ROW(INDIRECT($O$3&"!$L$2:$L$"&$O$16))-2,""),ROW()-20))} 

Frage zu diesem Teil gehört, wenn IF-Funktion:

(INDIRECT($K$3,FALSE)=$O$9) 

Zelle $ O $ 9 Tropfen enthält nach unten der eine des Zellinhalt Variablen sowie < umfasst>, <> * , <> * Text *, ""

Wenn ich direkte Textübereinstimmung verwenden: spezifische Spalte enthält Liste der Früchte und "Apfel" ist einer der Werte, sobald $ O $ 9 Wort "Apfel" Formel funktioniert und ich bekomme eine einzigartige Liste. Sollte $ O $ 9 eine der oben genannten Kombinationen enthalten (<>, <> *, <> * Text *, "") gibt es einen Fehler.

Frage: Wie "= $ O $ 9" ändern, so dass es folgenden Inhalt des $ O $ 9 gleich zu <>, <> *, nutzen kann <> * Text *, "", etc.

Hinweis: Ich kann das Drop-Down-Feld in der Zelle $ O $ 9 nicht anpassen, kann aber nur die Array-Formel ändern.

Vielen Dank im Voraus!

+0

Entschuldigung - Sie möchten den Inhalt in der Zelle 'O9' als Teil Ihrer Kriterien verwenden? Also, wenn in Zelle 'O9' ist "<>", möchten Sie die Formel auf '(indirekte ($ K $ 3, FALSE) = <>) ''? – BruceWayne

+2

Ich glaube nicht, dass Sie logische Operatoren in Zellen speichern können. Sie können auch keine Platzhalter in einem Vergleichsausdruck verwenden, wie Sie es versuchen. Ich nehme an, das ist was das * ist. Sie müssten eine Suchfunktion innerhalb von mir hinzufügen, aber dann würde das <> (nicht gleich) nicht wie erwartet funktionieren. Für mich klingt es so, als würden Sie eine benutzerdefinierte Funktion benötigen. – gtwebb

+0

Hallo Bruce. Sie haben Recht. Ich würde gerne folgende logische Operatoren als Inhalt von Zelle O9 verwenden: <> - nonblank; <> * - leer; <> * Text * - enthält keinen spezifischen Text; "" leer. Ich benutze dieselbe Dropdownliste in demselben Arbeitsblatt für andere COUNTIFS-Formeln. – Valentyn

Antwort

0

Nun ist dies nicht eine vollständige Antwort bedeutet aber nur mein Denken zu zeigen: -

Angenommen, Sie zwei Spaltenbereiche haben, die ich AA und BB genannt, und Sie möchten einige Ihrer Tests basierend auf $ implementieren O $ 9. Es würde wie folgt aussehen: -

=SUM((BB=1)*IF($O$9="<>",AA<>"",IF($O$9="<>*",AA="",IF(ISNUMBER(FIND("*",$O$9)),ISERROR(FIND(MID($O$9,4,LEN($O$9)-1),AA)),$O$9=AA)))) 

Also, was ich sage, ist, dass Ihr (INDIREKT (K $ $ 3, FALSCH) = O $ 9 $) wäre so etwas wie die Inhalte der Klammern hinter SUM werden müssen über.