Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Formelhilfe





Frage

Meine Formel =WENN(Spiele!B2="Bianca";Spiele!C16;WENN(Spiele!E2="Bianca";Spiele!F16;WENN(Spiele!H2="Bianca";Spiele!I16;WENN(Spiele!K2="Bianca";Spiele!L16;WENN(Spiele!N2="Bianca";Spiele!O16;WENN(Spiele!Q2="Bianca";Spiele!R16;WENN(Spiele!T2="Bianca";Spiele!U16;WENN(Spiele!W2="Bianca";Spiele!X16;WENN(Spiele!Z2="Bianca";Spiele!AA16;WENN(Spiele!AC2="Bianca";Spiele!AD16;)))))))))) ist zu lang. Wie kann ich sie kürzen oder ändern?

Antwort 1 von Tomschi

In welcher Zelle steht Deine Formel?
Schon mal mit Sverweis probiert?

Tom

Antwort 2 von Emanuel

Hallo Tomschi

Die Formel steht im Tabellenblatt (Bianca) in Zelle C2.
Die Werte für Bianca sollen aus Tabellenblatt (Spiele), die eine Tabelle mit mehrere Spielern enthält, entnommen werden.

Antwort 3 von fürLau

Hallo Emanuel,

Kopiere nachstehenden Code in ein Modul:
(Dies ist auch noch detailierter unter www.excelbeispiele.de Anleitungen Nr.3 nachzulesen)

Option Explicit

Public Function Emanuel(ByRef quelle As Excel.Range, _
ZeilenVersatz As Long, SpaltenVersatz As Integer, Name As String)
Application.Volatile (True)
Dim zelle As Range, wert: wert = "#WERT!"
For Each zelle In quelle
If zelle.Value = Name Then
wert = Sheets(quelle.Parent.Name).Cells(zelle.Row + _
ZeilenVersatz, zelle.Column + SpaltenVersatz)
Exit For
End If
Next
Emanuel = wert
End Function


Nun kannst Du in C2 mit der Formel =Emanuel(Spiele!B2:AC2;14,1,"Bianca") Dir den wert für Bianca ausgeben lassen. Der zweite(14) und 3. Parameter(1) geben den Zeilen- und Spaltenversatz zur Fundstelle (Zeile/Spalte, in der "Bianca" steht an. Wenn Du einen anderen Namen im selben Bereich suchst, einfach in der Formel "Bianca " durch "Max" ersetzen.

Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.

Antwort 4 von Aliba

Hi Emanuel,

wenn "Bianca" in der Zeile 2 von Spiele nur einmal vorkommt, dann geht auch:

=INDEX(Spiele!$B$16:$AD$16;VERGLEICH("Bianca";Spiele!$C$2:$AE$2;0))

CU Aliba

Antwort 5 von fürLau

Hallo @Aliba
erlaube eine kleine Korrektur:
=INDEX(Spiele!$C$16:$AD$16;VERGLEICH("Bianca";Spiele!$B$2:$AC$2;0))


Gruß

Antwort 6 von Aliba

Hi für Lau,

wer lesen kann ist klar im Vorteil, danke für die Korrektur.

CU Aliba

Antwort 7 von Emanuel

Hallo für Lau, Hallo Aliba

beide Formel funktionieren!
Nur wenn "Bianca" nicht in der Tabelle "Spiele" vorkommt erscheint einmal "WERT" und einmal "#NV".
Kann ich dies unterdrücken?

Vielen Dank
Emanuel

Antwort 8 von fürLau

Hallo Emanuel,

In meinem kleinen Code einfach die Zeile:

Dim zelle As Range, wert: wert = "#WERT!" 

ändern in:
Dim zelle As Range, wert 


und/oder die Formelösung ergänzen :

=WENN(ISTNV(INDEX(Spiele!$C$16:$AD$16;VERGLEICH("Bianca";Spiele!$B$2:$AC$2;0))) ;"";INDEX(Spiele!$C$16:$AD$16;VERGLEICH("Bianca";Spiele!$B$2:$AC$2;0)))


Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.

Antwort 9 von Emanuel

Hallo für Lau,

es funktioniert bestens!

Vielen Dank, aus Köln

Emanuel

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: