Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn Wert dann ... aber 20 Abfragen

Wenn Wert dann ... aber 20 Abfragen
30.09.2013 16:03:45
Hans
Hallo
ich möchte abfragen ob einer der Werte in einer Zeile einen bestimmten Wert hat.
In dem Fall den Wert 1005. Wenn mindestens einmal der Wert vorhanden ist soll eine 1 ausgegeben werden. Ansonsten eine 0.
Wenn ich das mit dieser Formel mache geht es .. aber man kann ja keine 20 Bedingungen einbinden. Ab 8 Wenn Abfragen kommt ein Fehler.
Hat jemand eine Idee wie man es umsetzen kann?
=WENN(C1=1005;1;WENN(G1=1005;1;WENN(K1=1005;1;0)))
mfg

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Wert dann ... aber 20 Abfragen
30.09.2013 16:12:01
Markus
Hallo Hans,
Wenn immer die Zahl 1005 vorkommen muss, dann probier mal diese Formel.
...... durch die restlichen Zellen ersetzen!
=Wenn(C1+G1+K1+......=20100;1;0)
lg
Markus

AW: Wenn Wert dann ... aber 20 Abfragen
30.09.2013 16:17:18
Hans
Hallo Markus,
es muss nicht in jeder Zelle der Wert 1005 sein, sondern in mindestens einer der 20.
cu
Hans

AW: Wenn Wert dann ... aber 20 Abfragen
30.09.2013 16:18:58
Markus
Hallo Hans,
welche Werte können enthalten sein?
hast du eine Beispielmappe?
lg
Markus

AW: Wenn Wert dann ... aber 20 Abfragen
30.09.2013 16:25:09
Rudi
Hallo,
=(SUMMENPRODUKT((C1:CA1=1005)*(REST(SPALTE(C1:CA1)+1;4)=0))>0)*1
Gruß
Rudi

Alternativ geht's auch so, ...
30.09.2013 17:32:20
Luc:-?
…Hans:
=--(ZÄHLENWENN(A1:T1;1005)>0)
Gruß Luc :-?

Anzeige
Dann werden ALLE Spalten geprüft...
30.09.2013 18:25:20
NoNet
Hey Luc,
Dein Lösungsvorschlag zählt ja nur alle "1005" im Bereich A1:T1. Das sind zwar auch 20 Spalten, aber vermutlich nicht die relevanten Spalten !
Es soll wohl nur jede 4.Spalte gerpüft werden (genauer : Spalte()*4-1), also die 3., 7., 11., 15. etc. Spalte !
Ich wundere mich nur, weshalb INDEX() hier versagt (in K2 steht ja 1005) :
ABCDEFGHIJKLMNO
2
3
4

MATRIX-Funktionen im Tabellenblatt :
ZelleFormel
C4   {=ZÄHLENWENN(INDEX(2:2;SPALTE(A:T)*4-1);1005) 

Wie kriegt man diese blöde INDEX()-Funktion dazu, ARRAYs zu akzeptieren ?!?
Salut, NoNet

Anzeige
Das hatte ich dann wohl überlesen...! Gruß owT
30.09.2013 18:28:33
Luc:-?
:-?

Ach so, war das eine Frage, ...
01.10.2013 00:27:59
Luc:-?
…NoNet,
und nicht nur rhetorisch?
Zitat: Wie kriegt man diese blöde INDEX()-Funktion dazu, ARRAYs zu akzeptieren?
Antwort: Jede StandardFkt akzeptiert wie jede UDF in ihren Argumenten genau das, worauf deren Deklaration ausgelegt ist, was man einerseits im FmlAssi und andererseits in VBA am WorksheetFunction-Objekt sehen kann. Bei Ersterem kommt nun im Ggsatz zu Letzterem (und leider gilt das wohl auch für UDFs) noch die sog xlinterne FmlOptimierung hinzu. Diese sorgt dann wohl dafür, dass von einem Argument, welches eigentlich einen Skalar verlangt, auch ein Vektor akzeptiert wird, nur, dass seine Elemente dann nachundnach als Einzelwerte abgerufen wdn. Das hat bei 1zelligen MatrixFmln dann zur Folge, dass nur mit dem 1.Argumentwert gerechnet wird. Mitunter kann man aber bei Auswahl von 2 Zellen, also eigentl 1zellige MxFml über 2 Zellen, erreichen, dass das ganze Datenfeld (Array) verwendet wird. Die beiden Ergebniswerte sind dann aber identisch (optisch korrigierbar mit bspw VerbundZelle).
Letzteres ist aber bei INDEX (hier) nicht der Fall. Insofern hat man keine Chance, das hierbei doch irgendwie hinzukriegen. Es wdn ja bekanntlich normalerweise 2 Argumente benötigt, um genau ein Element einer Matrix exakt zu bestimmen. Deshalb wird die o.g. Operation dafür sorgen, dass bei Angabe 2er Vektoren für diese Argumente quasi eine Matrix aus ihren Ergebnissen aufgebaut wird, deren einzelne Elemente der INDEX-Fml nacheinander in Abhängigkeit von der Position der einzelnen Ergebniszelle im Gesamtergebnisbereich einer MxFml zugeordnet wdn. Der INDEX-Ergebnisbereich muss sich also immer über soviel Zellen erstrecken wie die Multiplikation der Maxima des 2. und 3.Arguments ergibt. Damit ist die Anwendung von INDEX bei bestimmten Berechnungen von vornherein sinnlos. Auch der Einsatz der Fkt N kann daran nichts ändern, zumal sie auch gar nicht dafür bestimmt ist. Nur bei INDIREKT-Fmln kann sie als eine Art „Katalysator“ (bzw Auslöser) wirken, der XL dazu veranlasst (wie anderenfalls die o.g. Verwendung von 2 Ergebniszellen), die ganze Matrix auf 1× zur Ergebnisermittlung zu verwenden.
Da das hier bei INDIREKT primär dasselbe ist und die Anwendung von N den ObjektBezug der Zellwerte aufhebt und deshalb nicht im 1.Argument von ZÄHLENWENN verwendet wdn kann, bleibt nur die erstgepostete Lösung oder evtl doch ganz einfach so:
=--(ZÄHLENWENN(C2:CD2;1005)>0)
Gruß Luc :-?

Anzeige
Übrigens auch noch Dank für deine Idee, ...
01.10.2013 04:15:21
Luc:-?
…NoNet,
denn die hat mich auf eine kleine Unzulänglichkeit und damit auf eine separate Nutzungsmöglichkeit einer bereits angelegten SymbolisierungsAlternative für eine bestimmte Verwendung meiner neuesten UDF aufmerksam gemacht bzw gebracht. ;-)
Morrn, Luc :-?

Übrigens, damit wäre dann diese Aufgabe ...
02.10.2013 20:52:09
Luc:-?
…auch wie folgt lösbar (nur für Interessenten):
C4:{=--(VectAr(--(C2:CE2=1005);1;9;"@4,1")>0)}
Allerdings erst ab Version 1.8 von VectAr!
Luc :-?

Wohl doch rhetorisch oder doch nicht klar?! owT
02.10.2013 15:30:16
Luc:-?
:-?

417 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige