Bestimmte Werte anzeigen (Excel)

Hallo liebe Excel-Experten,

ich habe in einem Tabellenblatt neun Werte untereinander stehen (z.B. A1:A9). Hiervon müssen sich die Anwender drei Werte aussuchen. Sie tun dies, indem sie in der Zelle neben dem Wert (also B1:B9) ein „x“ machen. Das könnte dann so aussehen (stark vereinfacht):

1
2
3x
4
5
6x
7x
8
9

Nun soll mir Excel in einem anderen Tabellenblatt der Datei diese drei ausgesuchten Werte untereinander anzeigen (ohne Leerzeilen), also:

3
6
7

Welche Funktion benötige ich dafür?

Danke im voraus,
Raulito

Hallo Raulito,
ich kenne keine EXCEL-Funktion, die das direkt kann.
Folgende benutzerdefinierte Funktion kann das:
Zahl: gibt an, nach dem wievielten „X“ gesucht werden soll (Werte=1, 2, 3 usw.)
Zahlen ist der Bereich in dem die Zahlenwerte stehen
Kreuze ist der Bereich, in dem die „X“ eingetragen werden sollen

Function X\_Suchen(Zahl, Zahlen, Kreuze)
 i = 0
 j = 0
 For Each Zelle In Kreuze
 If Zelle.Value = "X" Or Zelle.Value = "x" Then
 i = i + 1
 If i = Zahl Then
 X\_Suchen = Zahlen.Offset(j, 0).Value
 Exit Function
 End If
 End If
 j = j + 1
 Next Zelle
End Function

Die Formeln in der 2. Tabelle sehen dann wie folgt aus:

=X_Suchen(1;Tabelle1!$A$2:blush:A$10;Tabelle1!$B$2:blush:B$10)
=X_Suchen(2;Tabelle1!$A$2:blush:A$10;Tabelle1!$B$2:blush:B$10)
=X_Suchen(3;Tabelle1!$A$2:blush:A$10;Tabelle1!$B$2:blush:B$10)

Gruss

Franz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Uff!
Hallo Franz,

vielen Dank für Deine Hilfe. Ich habe verstanden, daß ich für Zahl, Zahlen und Kreuze noch die Werte einsetzen muß, die auf meine Tabelle passen. Ich habe aber keine Ahnung von VBA und keine Vorstellung, wie ich den Code verwenden muß. Vermutlich in den VBA-Editor einfügen aber wo da genau?

Da ich ja nach drei x in der Tabelle suchen lassen möchte, muß ich die Funktion also dreimal in den VBA-Editor einfügen?

Wenn es sich nicht um Zahlen sondern um Text handelt, neben dem das „x“ von den Anwendern zu machen ist, muß ich dann im Code aus „Zahl“ „Text“ machen?

Ich hoffe, ich darf nochmal nachfragen.

Grüße,
Raulito

Hallo Raulito,
ich kenne keine EXCEL-Funktion, die das direkt kann.
Folgende benutzerdefinierte Funktion kann das:
Zahl: gibt an, nach dem wievielten „X“ gesucht werden soll
(Werte=1, 2, 3 usw.)
Zahlen ist der Bereich in dem die Zahlenwerte stehen
Kreuze ist der Bereich, in dem die „X“ eingetragen werden
sollen

Function X_Suchen(Zahl, Zahlen, Kreuze)
i = 0
j = 0
For Each Zelle In Kreuze
If Zelle.Value = „X“ Or Zelle.Value = „x“ Then
i = i + 1
If i = Zahl Then
X_Suchen = Zahlen.Offset(j, 0).Value
Exit Function
End If
End If
j = j + 1
Next Zelle
End Function

Die Formeln in der 2. Tabelle sehen dann wie folgt aus:

=X_Suchen(1;Tabelle1!$A$2:blush:A$10;Tabelle1!$B$2:blush:B$10)
=X_Suchen(2;Tabelle1!$A$2:blush:A$10;Tabelle1!$B$2:blush:B$10)
=X_Suchen(3;Tabelle1!$A$2:blush:A$10;Tabelle1!$B$2:blush:B$10)

Gruss

Franz

ich hab’s
Hallo Franz,

es geht auch ohne benutzerdefinierte Funktion und zwar mit der folgenden (Verweis)Formel:

{=INDEX(A:A;KKLEINSTE(WENN((B1:B9=„x“);ZEILE(1:9)));1))}

Für die anderen beiden „x-Werte“ setze ich dann hinten nur „2“ bzw. „3“ statt „1“ in die Formel ein.

Nochmal danke und schönen Gruß,
Raulito

Hallo Franz,

alles nicht so schlimm -
die Formel muß nur in die für die Berechnung votgesehene Zelle (Zellen) eingegeben werden.
Dabei ist folgendes zu beachten:

  1. nach der 9 ist eine Klammer zu viel
    es muß also heißen
    {=INDEX(A:A;KKLEINSTE(WENN((B1:B9=„x“);ZEILE(1:9));1))}

  2. die runde Klammer erzeugst du erst dadurch, das du die Formel mit Strg shift ENTER eingibst. Also nicht versuchen sie anders zu erzeugen!

  3. Die Formel in drei untereinander liegenden Feldern eingeben. Die letzte Ziffer der Formel dabei fortlaufend (1,2,3)

Nun steht in den Feldern eine Fehlermeldung #Zahl die dann weg geht wenn du eine gewünschte auswahl „x“ in Feld B1 bis B9 triffst.

Die Summenbildung ist nun ganz einfach -
aber Achtung:
bei 4 x-en in den Auswahlfeldern werden nur die ersten drei ausgewertet.

An Raulito: schönen Dank!!! Die Formel konnte auch ich nach dem ich den Tippfehler gefunden hatte gut anwenden. :smile:)

Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]