Suchen->werte rausziehen
#1
Hallo liebe Gemeinde,

ich hätte da mal folgendes Problem:

ich muss quasi aus einer Tabelle pro Zeile alle JA´s raussuchen und zu jedem den wert hintendran rausziehen. nur kommen in einer Zeile auch mal mehrere Ja´s vor. Wie schaff ich das, dass der mir nicht alles zusammenrechnet, oder die gleichen Ja´s immer wieder auswirft? 
aktuell sieht die formel so aus:

=WENN($T26="JA",$S26,WENN($T26="JA","",WENN($R26="JA",$Q26,WENN($R26="JA","",WENN($P26="JA",$O26,WENN($P26="JA","",WENN($N26="JA",$M26,WENN($M26="JA","",WENN($L26="JA",$K26,WENN($L26="JA","",WENN($J26="JA",$I26,WENN($J26="JA","",WENN($H26="JA",$G26,"")))))))))))))

ich gehe quasi die Zeile von hinten durch, und da wo als erstes ein JA auftaucht, den wert zieht er mir raus, aber was wenn da noch ein oder zwei mehr kommen, wie trenn ich das? stehe grad voll auf dem schlauch; 

Nur nochmal kurz zum verständniss, ich hab quasi diese formel daoben in einer Zelle stehen, und in der Zelle rechts nebendran soll dann das Zweite JA sozusagen reinkommen, und danaben das dritte(bis zu 5 stück möglich)

Liebe grüße, und danke für die hilfe
Top
#2
Hallo,

Deine Angaben sind mE etwas verworren. Ich interpretiere sies so

Folgende Formel in eine Zelle "oben" (z.B. in E3) und diese Formel nach rechts kopieren:

=WENNFEHLER(INDEX(26:26;AGGREGAT(14;6;SPALTE($H9:$T9)/($H26:$T26="Ja");SPALTE(A1))-1);"")

Meinst Du es so?
Gruß Werner
.. , - ...
[-] Folgende(r) 1 Nutzer sagt Danke an neopa für diesen Beitrag:
  • BZeo
Top
#3
danke erstmal für die schnelle antwort,

die Formel, die du mir da gegeben hast macht tatsächlich genau das, was ich will.... 
nur versteh ich die nicht  Huh

magst du mir villeicht noch ne erklärung dazu abgeben, wie das jetzt funktioniert?^^

vielen dank und beste grüße
Top
#4
Hallo BZeo,

dazu zunächst eine Gegenfrage. Inwieweit bist Du schon mit den sogenannten Matrixformeln vertraut bzw. in Berührung gekommen?

Bei meiner Formel handelt es sich zwar nicht um eine klassische Matrixformel (mehr dazu sieh z.B. mal hier: http://www.online-excel.de/excel/singsel.php?f=26 und ff; Dieses kann helfen nachfolgendes vielleicht besser zu verstehen) sondern um eine die zwar intern ähnlich "arbeitet" aber nicht den spez. Formelabschluss benötigt.

Die Formel nutzt dabei insbesondere aus, dass die Funktion AGGREGAT() bei auf 6 gesetzten 2. Argument der Formel Fehlerwerte im 3. Argument (die z.B. stets bei einer Division durch 0 entstehen einfach ignorieren kann. Dann spielt natürlich noch eine entscheidende Rolle das erste Argument (hier: 14, welches dadurch beginnend vom größten Spaltenwert) untersucht ob die Bedingung ="Ja" eingehalten wird. Wenn das der Fall ist, wird der entsprechende Spaltenwert als 2. Argument dem INDEX()-Formelteil übergeben (und zwar hier durch -1 um 1 Spalte nach links versetz) und somit der gesuchte Werte unmittelbar links des jeweiligen "Ja"-Zellenwertes ausgibt.

Die Klammerung mit WENNFEHLER() sorgt dafür, das Fehlerergebnisse unterdrückt (="") wenn, wenn nicht ausreichend viele "Ja"-Zellenwerte vorhanden sind.
Gruß Werner
.. , - ...
[-] Folgende(r) 1 Nutzer sagt Danke an neopa für diesen Beitrag:
  • BZeo
Top
#5
Hallo Werner,

ok, habs teilweise denke ich verstanden.... nein hab absolut keine ahnung davon, wurde von meiner Firma beauftrag ein sehr sehr umfangreiches Programm zu schreiben und hab eigendlich null vorkentnisse, bis auf die Tatsache das ich mir darüber bewusst bin, dass man mit Excel so einiges machen kann, wenns möglich ist kann ich das auch irgendwie hinbekommen --- das is so meine Einstellung dazu.

Vermutlich könnte man das was ich jetzt in zwei Wochen arbeit geleistet habe relativ schnell mit dem VBA zusammenbauen, aber auch im Bereich programmieren fehlen mir jegliche Kentnisse, daher verschachtel ich alles mit WENN - Funktionen und knaupe mir da was zusammen :20:

Ich selbst hab schon längst den Überblick verloren, aber bis jetzt funktioniert lustigerweise auch alles^^

Edit: So sieht bei mir fast alles aus, da ich es nicht besser weiß^^:

=WENN($C10="","",WENN(UND(Eingabe!$C12>(4*Paletten!$C10),$C10="12",(Eingabe!$C12-(4*Paletten!$C10))>Paletten!$C10),Paletten!$C10,WENN(UND(Eingabe!$C12>(4*Paletten!$C10),$C10="12"),Eingabe!$C12-(4*Paletten!$C10),WENN(UND(Eingabe!$C12>(4*Paletten!$C$14),$C10="9.65",$G10<110,$F10<110,(Eingabe!$C12-(4*Paletten!$C$14))>Paletten!$C$14),Paletten!$C$14,WENN(UND(Eingabe!$C12>(4*Paletten!$C$14),$C10="9.65",$G10<110,$F10<110),Eingabe!$C12-(4*Paletten!$C$14),WENN(UND(Eingabe!$C12>(4*6),$C10="9.65",ODER($G10>110,$F10>110),(Eingabe!$C12-(4*6))>6),6,WENN(UND(Eingabe!$C12>(4*6),$C10="9.65",ODER($G10>110,$F10>110)),Eingabe!$C12-(4*6),WENN(UND(Eingabe!$C12>(4*2),$C10="29",(Eingabe!$C12-(4*2))>2),2,WENN(UND(Eingabe!$C12>(4*2),$C10="29"),Eingabe!$C12-(4*2),WENN(UND(Eingabe!$C12>(4*4),$C10="100",(Eingabe!$C12-(4*4))>4),4,WENN(UND(Eingabe!C12>(4*4),$C10="100"),Eingabe!$C12-(4*4),WENN(UND(Eingabe!$C12>(4*1),$C10="1000",(Eingabe!$C12-(4*1))>1),1,WENN(UND(Eingabe!$C12>(4*1),$C10="1000"),Eingabe!$C12-(4*1),WENN(UND(Eingabe!$C12>(4*6),$C10="1001",(Eingabe!$C12-(4*6))>6),6,WENN(UND(Eingabe!$C12>(4*6),$C10="1001"),Eingabe!$C12-(4*6),"")))))))))))))))

und das über Seiten!

grüße Berens
Top
#6
Hallo

Wenn ich solche Formeln sehen dann fallen mir drei Dinge ein:
1. Hilfsspalten.
2. Hilfsspalten.
3. Noch mehr Hilfsspalten.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#7
Hi,


Zitat:wurde von meiner Firma beauftrag ein sehr sehr umfangreiches Programm zu schreiben und hab eigendlich null vorkentnisse
dann läuft da einiges schief. Entweder Du hast vergessen, dass es das Wörtchen "Nein" gibt, Du hast Dich zu weit aus dem Fenster gelehnt oder Du bist schlicht am falschen Platz.


Zitat:wenns möglich ist kann ich das auch irgendwie hinbekommen

möglich, aber ohne intensives Lernen (YouTube, Excel-Handbücher etc.) wird Dir ein Forum die Arbeit auch nicht abnehmen können.
Als erste Hilfe:

Das ist eine Zahl: 12
Das ist ein Text "12"
Und für Excel sind das völlig unterschiedliche Dinge!

hier

Zitat:(4*2)

bedarf es keiner Klammern!

Wenn man Deine Formel mal zerlegt und in Form bringt, dann zeigen sich sehr spezielle Ergebnisse :20: :20:

Zitat:WENN($C10="";"")
WENN(UND(Eingabe!$C12>4*Paletten!$C$14;$C10=9,65;$G10<110;$F10<110);Eingabe!$C12-4*Paletten!$C$14
WENN(UND(Eingabe!$C12>4*Paletten!$C$14;$C10=9,65;$G10<110;$F10<110;Eingabe!$C12>5*Paletten!$C$14);Paletten!$C$14
WENN(UND(Eingabe!$C12>4*Paletten!$C10;$C10=12);Eingabe!$C12-4*Paletten!$C10
WENN(UND(Eingabe!$C12>4*Paletten!$C10;$C10=12;Eingabe!$C12>5*Paletten!$C10);Paletten!$C10
WENN(UND(Eingabe!$C12>4;$C10=1000);Eingabe!$C12-4
WENN(UND(Eingabe!$C12>4;$C10=1000;Eingabe!$C12>5);1
WENN(UND(Eingabe!$C12>8;$C10=29);Eingabe!$C12-8
WENN(UND(Eingabe!$C12>8;$C10=29;Eingabe!$C12>10);2
WENN(UND(Eingabe!$C12>16;$C10=100);Eingabe!$C12-16
WENN(UND(Eingabe!$C12>16;$C10=100;Eingabe!$C12>20);4
WENN(UND(Eingabe!$C12>24;$C10=1001);Eingabe!$C12-24
WENN(UND(Eingabe!$C12>24;$C10=1001;Eingabe!$C12>30);6
WENN(UND(Eingabe!$C12>24;$C10=9,65;ODER($G10>110;$F10>110));Eingabe!$C12-24
WENN(UND(Eingabe!$C12>24;$C10=9,65;ODER($G10>110;$F10>110);Eingabe!$C12>30);6


Absolut nicht durchdacht!!!!!!!!!!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#8
Hallo Berens

ist es möglich mal eine kleine Beispieldatei mit den Werten zu machen die in allen drei Tabellen vorkommen, und wie die Lösung davon aussehen soll.  Bei der Formel blicke ich nicht so ganz durch wie das funktioniert.  Habe ich aber sichtbare Daten könnte man das ganze auch mit VBA auswerten.  Dazu müsste ich die Aufgabe aber erst mal von der Auswerte Logik her verstehen. 

Das es 5mal Ja geben kann habe ich verstanden, Und/Oder ist mir als Elektronker bekannt. Aber was genau steht in den Zellen Tabelle1, Eingabe und Paletten, was hat es mit "12", oder "9.65" und den andern Werten auf sich?  Da erkenne ich im Augenblick noch nicht den logischen Zusammenhang. 

mfg Gast 123
Top
#9
Hallo BZeo,

ich schließe mich den Aussagen von Edgar im Wesentlichen  an aber ergänze noch folgendes:

Wenn Du im Forum Fragen einstellst,  ist es fast immer sinnvoller wie zweckmäßiger zumindest einen kopierfähigen Datenauszug aus dem IST-Zustand oder gleich eine Beispieldatei hier hoch zu laden um evtl. unzutreffende Interpretationen bei den potentiellen Helfern zu vermeiden und so diesen und damit auch Dir unnötige Zeit zu sparen.
Gruß Werner
.. , - ...
Top
#10
Hi,


ich würde die Formel so umbauen:




Code:
=WENNFEHLER(MIN(SVERWEIS(C10;{29.2;100.4;1000.1;1001.6};2;0);Eingabe!C12-4*SVERWEIS(C10;{29.2;100.4;1000.1;1001.6};2;0));WENN(C10=9,65;WENN(MAX(F10;G10)>110;MAX(6;Eingabe!C12-24);MAX(Paletten!$D$10;Eingabe!C12-4*Paletten!D10));WENN(C10=12;MAX(Paletten!$C$10;Paletten!C12-4*Paletten!$C$10);"")))
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top


Gehe zu:


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