Frage von TimKB263, 49

Ich brauche eine Excel Formel ....Hilfe!?

Ich habe in einer Tabelle Aufgaben untereinander aufgelistet ,rechts davon hab ich einen Zeitstrahl (1.1-31.10.16).

Durch ein "x" unterhalb der Daten markiere ich den Tag ,an welchem ich die Aufgabe erledigen möchte. Nun soll eine Formel erkennen das ich z.B. 2 Daten für Staubsaugen angekreuzt habe . Diese Daten sollen dann kopiert und in eine andere Tabelle eingefügt werden . Mehrere Daten für eine Aufgabe sollen in einer Zelle aufgelistet werden.

Ausgangstabelle 1 :

Aufgabe/Datum---------1.2.----------2.2--------3.2.-----------4.2---------5.2---------


Saugen------------------------------------X---------------------------------------X--------


Wischen-------------------X-----------------------------------------------------------------


Einkaufen----------------------------------------------X------------------------------------



Ergebnistabelle 2 :

Saugen ------------------- 2.2.16, 5.2.16

Wischen ------------------1.2.16

usw....

Könnt ihr mir helfen bin am verzweifeln :-(

Vielen Dank

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 26

Den ersten Treffer findest du mit INDEX + VERGLEICH.

Beispiel:

=INDEX(A1:F2;1;VERGLEICH("x";A2:F2;0))

Den zweiten findest du nicht so leicht, kannst aber mit ZÄHLENWENN überprüfen, ob es überhaupt ein zweites x in der gleichen Zeile gibt.

Ansatz für das Finden des zweiten x: Mit BEREICH.VERSCHIEBEN verkleinerst du den Suchbereich bis eine Spalte hinter dem ersten Fund.

Du kannst natürlich auch mit einer Matrixfunktion (<Zelle>="x")*Spalte() oder ähnlich versuchen, zu operieren.

Expertenantwort
von DeeDee07, Community-Experte für Excel, 25

Schau dir mal diese Lösung an http://fs5.directupload.net/images/user/160113/qkmeu3as.png

Ich habs zur Vereinfachung aufs gleiche Tabellenblatt gemacht. Für ein anderes Blatt als Ergebnis musst du lediglich die Bezüge ändern:

Die Formel in B5 lautet

{=WENNFEHLER(INDEX($B$1:$K$1;1;KKLEINSTE(WENN($B2:$K2="x";SPALTE($A2:$J2));SPALTE(A1)));"")}

und kann nach rechts, anschließend nach unten kopiert werden.

Es handelt sich um eine Matrixformel. Die {} werden nicht eingegeben, sondern die Formel wird mit Strg+Alt+Enter abgeschlossen, das erzeugt die geschweiften Klammern.

Inspiriert von http://excelformeln.de/formeln.html?welcher=89

Kommentar von TimKB263 ,

ich habe jetzt die Formel so angepasst ,aber er findet darunter nichts

=WENNFEHLER(INDEX(Terminkalender!$K$6:$KG$6;6;KKLEINSTE(WENN(Terminkalender!$K7:$KG72="x";SPALTE(Terminkalender!$K6:$KG6));SPALTE(Terminkalender!A6)));"k.A.")

Ich bin natürlich auch blutiger Anfänger was Excel betrifft :-)

Kommentar von DeeDee07 ,

Ja, da sind einige Fehler drin.

Der Zeilenindex muss 1 sein (nicht 6), da ja K6:KG6 nur aus einer Zeile besteht (bei Excel kann man das Argument dann auch leer lassen, andere Programme erfordern aber eine Angabe). Bei KKLEINSTE darfst du dann auch nur eine Zeile prüfen, nicht die ganze Matrix. Die Argumente bei den SPALTE-Funktionen müssen bei A anfangen. Sie haben nichts mit dem tatsächlichen Bereich zu tun, sondern ermöglichen, dass sich die Formel beim Kopieren nach rechts anpasst. Statt SPALTE(A1) könntest du auch einfach 1 schreiben, aber dann müsstest du das in jeder Zelle ändern.

Probier mal diese Formel:

=WENNFEHLER(INDEX(Terminkalender!$K$6:$KG$6;1;KKLEINSTE(WENN(Terminkalender!$K7:$KG7="x";SPALTE($A1:$JW1));SPALTE(A1)));"k.A.")

(nicht vergessen, als Matrixformel abschließen)

Der fettgedruckte Bereich muss genausoviele Spalten enthalten wie K7:KG7 (beginnend mit A1). Ich hoffe ich habe mich nicht verzählt.

Kommentar von TimKB263 ,

Hallo vielen Dank für deine Mühen :-)

Ich habe die Formel jetzt so eingestellt und es funktioniert ,aber es zeigt leider nur das erste Datum an .Wenn ich ein 2tes Datum durch X auswähle, verändert sich nichts bzw. taucht nicht im Ergebnis auf .

Aktuelle Formel :

=WENNFEHLER(INDEX(Terminkalender!$L$6:$KG$6;1;KKLEINSTE(WENN(Terminkalender!$L7:$KG7="x";SPALTE($A1:$JV1));SPALTE(A1)));"k.A.")

Viele Grüße

Tim

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten