Excel - Zeile suchen, dann Wert suchen, dann Spalte:1 Ausgeben

Schmock1151

Newbie
Registriert
Nov. 2014
Beiträge
2
Hallo liebe Community.

Ich bin ein kompletter Excel Anfänger, aber brauche dringend eine bestimmte Formel.
Unzwar muss diese können:
Durchsuche A:A nach dem Wert aus Zeile F16
dann durchsuche in der gefundenen Zeile nach "X"
Dann gib den Wert aus, welcher in der ersten Zeile, der Spalte steht in der "X" gefunden wurde.

Ein Beispiel:
Gesucht wird in A:A nach einem Wert aus Zelle F16, dieser steht in A9. Also Durchsuche ich Zeile 9 nach "X".
"X" wurde gefunden in D9. Also gebe ich D1 aus.

Wiedergegeben werden soll aber nur ein Wert, wenn der "Marker", in diesem Falle "X" auch wirklich in der durchsuchten Zeile steht

Anbei die Grundstruktur der Tabelle.
Ich hoffe wirklich ihr könnt mir schnell helfen.

Dankend
Schmock
 

Anhänge

  • Unbenannt.PNG
    Unbenannt.PNG
    14,6 KB · Aufrufe: 204
Hallo und willkommen.

Folgende Fragen:
- Wird es nur 1 X pro Zeile geben in der Tabelle?
- Ist dieses Layout (also auf auf jeden Fall 3 Spalten - für jeden Namen eine) fest vorgegeben?
 
Hi,

Pro Zeile wird es mehrere "X" geben, diese sollen dann dementsprechend in der nächsten Zeile angegeben werden.
Name des ersten "X" in G16, Name des zweiten "X" in G17 usw. Ich vergaß dies zu ergänzen.

Die Tabelle ist theoretisch länger, bzw. die tatsächliche Länge und anzahl der Namen ist unbestimmt.

Hoffe, dass es überhaupt eine möglichkeit gibt dies zu lösen.

Gruß
Schmock
 
Entspricht der beigefügte Screenshot deinen Vorstellungen?
Unbenannt.PNG
Wenn ja, wirst du nicht um einen Makro herumkommen. Für sowas gibt es leider keine build-in Formel.

Es ist aber auf jeden Fall möglich mit einer doppelten For-Schleife (falls dir das was sagt).

Meine VBA Skills sind leider etwas eingerostet, also hier nur ein kleiner Versuch:
Code:
Dim searchRange As Range
Dim resultRange as Range
Dim searchKey as Range 
Dim searchCounter As Integer
Dim row As Integer
Dim col As Integer

Set searchRange = Range("A5:K15")
Set resultRange = Range("B2:K2")
Set searchKey = Range("A2")
Set searchCounter = 1

For row = 2 To searchRange.Rows.Count
  If searchRange.Cells(row, 1).Value = searchKey.Value Then
    For col = 2 To searchRange.Columns.Count
      If searchRange.Cells(row, col).Value = "x" Then
        resultRange.Cells(1, searchCounter).Value = searchRange.Cells(1, col).Value
        searchCounter = searchCounter + 1
      End If
    Next col
    Exit For
  End If
Next row

Irgendwie sowas. Aber frag mich nicht, wie du das als Makro einrichtest, das weiß ich leider nicht.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben