Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
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

Matrix durchsuchen -> Überschrift zurück

Matrix durchsuchen -> Überschrift zurück
28.07.2015 13:05:05
Benjamin
Hallo zusammen,
in einer Matrix soll ein String gesucht werden, wird er gefunden, soll der Rückgabewert die Spaltenüberschrift oder die Zeilenbeschriftung zurückgegeben werden.
Damit es verständlicher ist, habe ich eine Beispieltabelle angehängt.
https://www.herber.de/bbs/user/99117.xlsx
Schon mal vielen Dank für die Hilfe.
Viele Grüße
Be.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Matrix durchsuchen -> Überschrift zurück
28.07.2015 14:25:48
Sepp
Hallo Benjamin,
Tabelle1

 EFGHI
14     
15 Abnahme Nr.DkComp. 
16 213634Comp. 13 
17 213814Comp. 14 
18 21612   
19 238693Comp. 13 
20 242215Comp. 15 
21 242205Comp. 14 
22 242195Comp. 13 
23 251274Comp. 17 

Formeln der Tabelle
ZelleFormel
G16=WENNFEHLER(INDEX($A$2:$A$11;AGGREGAT(15;6;ZEILE($A$1:$A$10)/($B$2:$X$11=$F16); 1)); "")
H16=WENNFEHLER(INDEX($B$1:$X$1;1;AGGREGAT(15;6;SPALTE($A$1:$W$1)/($B$2:$X$11=$F16); 1)); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
wobei verbundene Zellen dabei zu Problemen führen können!
Gruß Sepp

Anzeige
AW: Matrix durchsuchen -> Überschrift zurück
28.07.2015 14:40:24
Benjamin
Hallo Sepp,
vielen Dank für Deine Hilfe.
Leider habe ich Excel 2007 und Aggregat gibt es erst ab 2010.
Hast Du eine Idee, wie ich das ohne Aggregat hinbekommen kann?
Danke für Deine Rückmeldung.
Viele Grüße
Benjamin

AW: Matrix durchsuchen -> Überschrift zurück
28.07.2015 14:43:51
Sepp
Hallo Benjamn,
dann als Matrix-Formel.
Tabelle1

 EFGHIJ
13      
14      
15 Abnahme Nr.DkComp.  
16 213634Comp. 13  
17 213814Comp. 14  
18 21612    

Formeln der Tabelle
ZelleFormel
G16{=WENNFEHLER(INDEX($A$2:$A$11;KKLEINSTE(WENN($B$2:$X$11=$F16;ZEILE($A$1:$A$10)); 1)); "")}
H16{=WENNFEHLER(INDEX($B$1:$X$1;1;KKLEINSTE(WENN($B$2:$X$11=$F16;SPALTE($A$1:$W$1)); 1)); "")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp

Anzeige
AW: Matrix durchsuchen -> Überschrift zurück
28.07.2015 15:18:00
Benjamin
Hallo zusammen,
danke für Eure Lösungne, die Matrixformel funktioniert.
Das Makro werde ich morgen testen.
Danke und schönen Feierabend.
Viele Grüße
Benjamin

AW: Matrix durchsuchen -> Überschrift zurück
28.07.2015 14:42:43
Peter
Hallo Benjamin,
ich kann dir ein kleines Makro anbieten, das die Aufgabe erfüllen sollte.
Das kopierst du dir in ein allgemeines Modul und startest es z. B. über Alt + F8
Gruß Peter
Option Explicit Public Sub Suchen() Dim WkSh As Worksheet Dim rZelle As Range Dim lZeile As Long Set WkSh = ThisWorkbook.Worksheets("Tabelle1") With WkSh.Range("B2:X10") For lZeile = 16 To WkSh.Cells(WkSh.Rows.Count, 6).End(xlUp).Row Set rZelle = .Find(What:=WkSh.Range("F" & lZeile).Value, LookIn:=xlValues, LookAt:= _ xlWhole) If Not rZelle Is Nothing Then WkSh.Range("G" & lZeile).Value = WkSh.Range("A" & rZelle.Row) WkSh.Range("H" & lZeile).Value = Mid(WkSh.Cells(1, rZelle.Column), 7, 2) End If Next lZeile End With End Sub

Anzeige
AW: auch mehrfach Vorkommen berücksichtigen
28.07.2015 17:52:14
Peter
Hallo Benjamin,
dieses Makro listet auch die mehrfach vorkommenden Suchbegriffe an.
Gruß Peter
Public Sub Suchen_I()
Dim WkSh     As Worksheet
Dim rZelle   As Range
Dim sFundst  As String     ' die erste Fundstelle des Suchbegriffs
Dim iSpalte  As Integer: iSpalte = 7
Dim lZeile   As Long
Set WkSh = ThisWorkbook.Worksheets("Tabelle1")
With WkSh.Range("B2:X10")
For lZeile = 16 To WkSh.Cells(WkSh.Rows.Count, 6).End(xlUp).Row
Set rZelle = .Find(What:=WkSh.Range("F" & lZeile).Value, LookIn:=xlValues, LookAt:= _
xlWhole)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address   ' die erste Fundstelle merken/speichern
Do
WkSh.Cells(lZeile, iSpalte).Value = WkSh.Range("A" & rZelle.Row).Value
'WkSh.Range(lZeile, iSpalte + 1).Value = Mid(WkSh.Cells(1, rZelle.Column), 7, 2)
WkSh.Cells(lZeile, iSpalte + 1).Value = WkSh.Cells(1, rZelle.Column).Value
iSpalte = iSpalte + 2
Set rZelle = .FindNext(rZelle) ' den evtl. nächsten Begriff suchen
Loop While Not rZelle Is Nothing And rZelle.Address  sFundst
Else
'MsgBox "Der Begriff  """ & sSuchbegriff & """  wurde nicht gefunden.", _
48, "   Hinweis für " & Application.UserName
End If
iSpalte = 7
Next lZeile
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige