Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1176to1180
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

in sverweis bis zur letzten Zeile durchsuchen

in sverweis bis zur letzten Zeile durchsuchen
Stein
Hallo,
ich habe ein kleines Problem:
In einer Tabelle für Auftragsverläufe ist in einer Formel unter anderem auch eine Sverweis- _ Funktion enthalten, in der in der Spalte A das maximale Datum ermittelt und in der entsprechenden Spalte derselben Zeile nachgeprüft werden soll, ob dort ein "X" vorhanden ist oder nicht (steht da ein "X", bedeutet dies "Auftrag erledigt"). Der Formelteil hierzu lautet: SVERWEIS(MAX(A18:A65);A18:N65;13;FALSCH)="X"
Die Formelteil funktioniert ganz gut. Aber nur, wenn das Datum nur einmal vorkommt. Wenn das letzte Datum (=max) mehrfach enthalten ist, weil an diesem Tag noch andere Sachen gemacht wurden, bevor der Auftrag beendet wurde, geht die Formel nur auf die erste Zeile, in der das maximale Datum steht. Und da ist natürlich noch kein "X" vorhanden.
Meine Frage: Wie kann ich diese Funktion verändern, sodass sie bis zum letzten Eintrag durch geht?
Gruss Stein
AW: in Sverweis bis zur letzten Zeile durchsuchen
15.09.2010 09:52:41
Mike
Hallo Stein,
Du brauchst "einfach" noch eine klare Unterscheidung, dass es sich wirklich um einen erledigten Auftrag handelt und nicht um sonstwas, vielleicht ergänzt um =Wenn(...
Allenfalls lädst Du ein anonymisiertes Beispiel hoch.
Gruss
Mike
AW: in sverweis bis zur letzten Zeile durchsuchen
15.09.2010 09:56:51
Klaus
Hallo Stein,
ich zähle, wie oft die Bedingung "Max-Datum in Spalte A" und "X in Spalte M" gleichzeitig vorkommt. Passiert dies genau oder öfter als 1-mal, ist deine Bedingung erfüllt.
=SUMMENPRODUKT((A18:A56=MAXA(A18:A56))*(M18:M56="X"))>=1
Grüße,
Klaus M.vdT.
AW: in sverweis bis zur letzten Zeile durchsuchen
15.09.2010 13:02:00
Stein
Hallo Klaus,
danke für Deine Hilfe. Nur funktioniert das nicht so ganz: Grundsätzlich benötige ich die Aussage "WAHR", da der Formelteil innerhalb der Bedingungsabfrage einer WENN-Funktion steht. Wenn ich Deine Formel so übernehme, erhalte ich aber immer "FALSCH". Das Ergebnis des Summenproduktes ist 0. Selbst, wenn ich den Bereich nur auf die eine zeile reduziere, in der das "X" in der Spalte M vorhanden ist. Warum, weiß ich nicht.
Ich stelle hier mal einen Auszug aus dem Tabellenblatt ein. Die Inhalte in den Spalten B-J und O sind für die Auswertung irrelevant.
Auftragsprotokoll

 ABCDEFGHIJKLMNOPQ
1805.08.201007:0011:004Std.X           
1905.08.201014:3015:451,25Std.    X       
2009.08.201007:0011:004Std.X 6         
2109.08.201011:0012:001Std.    X       
2209.08.201012:0014:001,5Std.X 5         
2309.08.201016:0016:150,25Std.  1     XX  


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Die Abfrage müsste genauer lauten (schematisch formuliert):
=oder(sverweis-Formel Max(A)+M="X";sverweis-Formel Max(A)+N="X")=wahr,

Also, wenn beim letzten Datumseintrag in Spalte A in der Spalte M ein "X" oder in der Spalte N ein "X" steht, dann soll ein WAHR angegeben werden.
Übrigens, als Formelergebnis bei der Variante von WF erhalte ich nur "#WERT!". Was haben die beiden "M"s bei der Index-Formel (index(M;M;...) für eine Bedeutung?
Gruss Stein
Anzeige
das von mir ist eine Arrayformel !!!
15.09.2010 13:09:21
mir
Eingabe Array-Formel:
Du kopierst Dir die Formel.,
Dann gehst Du in die Bearbeitungszeile, löschst die {geschweiften Klammern} am Anfang und Ende und schließt ab mit GLEICHZEITIG: Strg Shift Enter (statt Enter allein). Dadurch werden diese Klammern erzeugt.
und nicht M;M sondern M:M
WF
AW: das von mir ist eine Arrayformel !!!
15.09.2010 14:15:04
mir
Hallo WF,
Du hattest zwar Arrayformel geschrieben, in Deiner Formel waren nur keine geschweiften Klammern angegeben. Deswegen hatte ich sie auch nur so übernommen. Und das mit dem "M;M" war ein Schreibfehler meinerseits. Es stimmt schon mit dem "M:M".
Allerdings, nachdem ich die geschweiften Klammer um die gesamte Formel gesetzt habe, erhalte ich auch nur das Ergebnis "FALSCH".
Gruss Stein
Anzeige
Stein - lad mal was hoch
15.09.2010 14:24:43
Klaus
Hallo Stein,
sowohl meine als auch WF's Formel ergeben in meiner Testtabelle die richtigen Ergebnisse. Natürlich darf dein "X" nicht in N stehen, wenn die Formel nach M durchsucht.
Grüße,
Klaus M.vdT.
AW: Stein - lad mal was hoch
15.09.2010 14:41:30
Stein
Der Fehler lag bei mir:
Die Formel von WF bezog sich ausschließlich auf die Spalte M. Das hatte ich aber bis dahin noch nicht kapiert (deshalb auch die Frage nach dem Sinn von "M:M" in der Index-Funktion von WF). Erst nach Deinem letzten Post, in dem Du die komplette Oder-Funktion für beide Spalten aufgeführt hattest, wurde mir das klar. Aber da hatte ich die obige Antwort schon ins Forum gestellt.
Im Beispiel, welches ich Dir eingestellt hatte, ist in der Spalte M kein "X". Also logisch, dass da falsch rauskommen muss.
Nachdem ich die Abfrage auf die Spalte N (N:N) geändert hatte, wurde das Ergebnis wahr.
Es funktioniert also.
Danke.
Gruss Stein
Anzeige
AW: in sverweis bis zur letzten Zeile durchsuchen
15.09.2010 13:49:09
Klaus
Hallo Stein,
leider hast du in deiner Eingangsfrage in keinem Wort erwähnt, dass es zwei Suchspalten gibt oder dass explizit der letzte Eintrag überprüft werden muss (du schreibst nur: mehrere Datumseinträge).
Die Erweiterung meiner Formel auf Spalte M und N,
=ODER(SUMMENPRODUKT((A18:A56=MAXA(A18:A56))*(M18:M56="X"))>=1;
SUMMENPRODUKT((A18:A56=MAXA(A18:A56))*(N18:N56="X"))>=1)

ergibt in deiner Mustertabelle WAHR.
Da dir das aber nicht hilft (es sucht jeden Eintrag, nicht nur den letzten), nimm die Formel von WF. Natürlich in ein ODER verpackt, um einmal Spalte M und einmal Spalte N abzufragen.
{=ODER(INDEX(M:M;MAX((A18:A65=MAX(A18:A65))*ZEILE(18:65)))="X";
INDEX(N:N;MAX((A18:A65=MAX(A18:A65))*ZEILE(18:65)))="X")}

Die geschweiften Klammern nicht mit eingeben, sondern die Formel mit STRG+SHIFT+ENTER abschließen.
Grüße,
Klaus M.vdT.
Anzeige
AW: in sverweis bis zur letzten Zeile durchsuchen
15.09.2010 14:27:19
Stein
Hallo Klaus,
ob für eine oder mehrere Spalten war mir eigentlich egal, weil es mir primär um den Ersatz für die sverweis-Funktion ging. Diese wollte ich dann entsprechend für die zweite Spalte anpassen und miteinander verknüpfen, wie Du es letztendlich gemacht hast. Es funktioniert.
Allerdings habe ich den Teil "M:M" in WFs Version nicht geschnallt. Bis Du die komplette Formel incl. des Teils für die Spalte N gezeigt hast und ich begriff, dass die gesamte Spalte M damit gemeint ist. Daher war es doch gut, dass Du für alles geschrieben hast!
Ich glaube, ich werde alt.
Ein großes Danke an Euch beiden.
Gruss Stein
Anzeige
Danke für die Rückmeldung! m.T.
15.09.2010 14:30:22
Klaus
... als ich den letzten Beitrag geschrieben habe, hatte ich diesen noch nicht gelesen!
AW: Danke für die Rückmeldung! m.T.
15.09.2010 15:06:27
Stein
Habe ich mir schon gedacht.
Aber eine Frage habe ich doch noch: Nachdem ich Eure Formel in die Gesamtformel eingebunden habe, erhalte ich die Fehlermeldung, dass Arrayformel nicht in verbundene Zellenverwendet werden können. Das Problen ist, das dieser verbundene Bereich die Zellen E4:N4 umfasst. Also auch die Spalten M und N. Die Gesamtformel gibt mir einen Text heraus, aus dem der Zustand des Auftrages ersichtlich ist. Hier die Formel, in der eigentlich nur die beiden sverweis-Funktionen ersetzt werden sollten:
=WENN(TEIL(ZELLE("Dateiname";G2);FINDEN("]";ZELLE("Dateiname";G2))+21;10)="TT.MM.JJJJ"; "Auftragsdatum im Tabellenblattnamen ändern!";WENN(ODER(ANZAHL(A18:A65)=0;UND(B10""; B10"'Bearbeitungsliste Vorort' erledigt")=WAHR;UND(I10"";I10"'KZK-Bearbeitungsliste' erledigt") =WAHR)=WAHR;"";WENN(UND(O4="";G17="";H17="")=WAHR;"";WENN(ODER(SVERWEIS(MAX(A18:A65);A18:N65;13; FALSCH)="X";SVERWEIS(MAX(A18:A65);A18:N65;14;FALSCH)="X")=WAHR;WENN(UND(SUMME(G18:H65)>0; ODER(G17"";H17"")=WAHR)=WAHR;"KZKs fertig schreiben!";"Auftrag abgeschlossen am"); WENN(UND(SUMME(G18:H65)>0;ODER(G17"";H17"")=WAHR)=WAHR;"KZKs fertig schreiben!"; "Auftrag fertig zum Abgeben"))))) 
Gruss Stein
Anzeige
Problem mit Hilfszelle gelöst. owT
16.09.2010 07:30:33
Stein
Gruss Stein
mal genau Deine Frage beantwortet
15.09.2010 10:12:08
WF
Hi,
folgende Arrayformel:
=INDEX(M:M;MAX((A18:A65=MAX(A18:A65))*ZEILE(18:65)))="X"
Die Lösung von Klaus ist aber genauso OK.
Salut WF

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige