Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Komplizierte Matrix | Herbers Excel-Forum


Betrifft: Komplizierte Matrix von: Andre´
Geschrieben am: 11.12.2009 20:59:52

Hallo alle zusammen,
ich suche eine Formel (blaue Zellen)oder Makro, wo in Spalte B3 bis B15 und in mehreren Zeilen (gelbe Zellen) nach den
Vorgaben gesucht werden soll und wenn eine Übereinstimmung vorhanden ist,
dann soll der Wert zurück gegeben werden.

Bsp. für C25

Vorgabe = B25 (17C) und C20 (11.12.2009)
Rückgabewert= C15 (r)

Daten

 BCDEFGHIJKL
3DatumFr 18.12.2009Sa 19.12.2009So 20.12.2009       
419A  tt       
5DatumSo 13.12.2009Do 17.12.2009Fr 18.12.2009       
6AA u8u9       
717D1111w2        
8DatumDi 15.12.2009Mi 16.12.2009Do 17.12.2009       
919B  77       
1017B66         
11a2          
12DatumSa 12.12.2009So 13.12.2009Di 15.12.2009       
13a133t45       
14DatumFr 11.12.2009Di 15.12.2009Mi 16.12.2009       
1517Crq23       
16           
17           
18           
19           
20DatumFr 11.12.2009Sa 12.12.2009So 13.12.2009Mo 14.12.2009Di 15.12.2009Mi 16.12.2009Do 17.12.2009Fr 18.12.2009Sa 19.12.2009So 20.12.2009
21AA      u8u9  
2219A         tt
2319B      77   
2417B    66     
2517Cr   q23    
2617D  111   1w2   
27a1 33t 45     
28a2          


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4

es soll im Bereich B3 bis E15 gesucht werden.
Problem ist, dass die Zeile mit dem Datum nicht starr sind.
Das Suchkriterium aus der Spalte kommt aber nur einmal vor.

Ich hoffe, mir kann jemand bei dieser schwierigen Aufgabe helfen.

Vielen Dank im Voraus!

MFG Andre


Zum testen hier die Datei: https://www.herber.de/bbs/user/66534.xls

  

Betrifft: AW: Komplizierte Matrix von: Tino
Geschrieben am: 11.12.2009 21:22:55

Hallo,
geht es so?

https://www.herber.de/bbs/user/66535.xls

Gruß Tino


  

Betrifft: AW: Komplizierte Matrix von: Andre´
Geschrieben am: 11.12.2009 21:36:29

Hallo Tino,
leider nein :-((

umgedreht soll es eine Funktionieren.
Das Ergebniss soll in C21: L28 stehen.

Gesucht werden soll im Bereich B3:E15.

MFG Andre


  

Betrifft: ok hier eine VBA Variante. von: Tino
Geschrieben am: 11.12.2009 22:07:19

Hallo,

https://www.herber.de/bbs/user/66536.xls

Gruß Tino


  

Betrifft: AW: ok hier eine VBA Variante. von: Andre´
Geschrieben am: 11.12.2009 22:34:51

Hallo Tino,

erstmals Danke für Deine Hilfe.

Leider ist es auch das nicht was ich suche, weil die orginal Datenbasis viel größer ist und
man mit dieser Funktion die einzelnen Bereiche vorgeben muss.

Es kann nur so funktionieren (wenn überhaupt möglich), dass zuerst der Spaltenwert gesucht wird und
wenn gefunden nach oben gesucht wird, bis "Datum" zu finden ist.
Danach sollte in dieser Zeile nach rechts das Datum gesucht werden um somit das Ergebnis zu erhalten. Dafür soll nur der gesamte Bereich (B3:E18)vorgegeben werden,weil wie schon erwähnt ich nicht alles überblicken kann.

Variante2:
Es würde vielleicht auch funktionieren, wenn der Zeilenabstand zwischen den einzelnen "Datum" gleich groß ist. Wenn nicht kann man mit einem Makro ein paar Leerzeilen einfügen und dann .....

Gibt es dafür eine Lösung.

MFG Andre


  

Betrifft: geht auch noch... von: Tino
Geschrieben am: 11.12.2009 23:06:29

Hallo,

https://www.herber.de/bbs/user/66540.xls

Gruß Tino


  

Betrifft: sollte Suchbegriff mehrmals vorkommen von: Tino
Geschrieben am: 11.12.2009 23:54:45

Hallo,
im Beispiel "a1".

https://www.herber.de/bbs/user/66543.xls

Gruß Tino


  

Betrifft: AW: sollte Suchbegriff mehrmals vorkommen von: Andre´
Geschrieben am: 12.12.2009 00:25:41

Hallo Tino,
vielen Dank, funktioniert prima :-))

mehrfach aber auch nur, wenn ein unterschiedliches Datum im
Suchfeld vorhanden ist, ansonsten wird das erste Kriterium zurückgegeben.

Für mich aber auch nicht relevant, weil nur einmal vorhanden.

Es ist sicherlich normal, dass bei ca. 40.000 Zellen die Berechnung etwas dauert, wobei Deine Code schneller ist als der von Daniel.

Nochmals VIELEN DANK!

MFG Andre


  

Betrifft: AW: mit selbstgebauter Funktion von: Daniel
Geschrieben am: 11.12.2009 22:21:00

Hi

kopier mal dise Funktion in ein allgemeines Modul:

Public Function MeineSuche(Matrix As Range, Suchwert As String, Datum As Long) As Variant
Dim sp As Long, zeSW As Long, zeDat As Long
Dim arr
arr = Matrix.Value2
MeineSuche = "" 'Rückgabewert wenn kein Treffer
For zeSW = 1 To UBound(arr, 1)
    If arr(zeSW, 1) = "Datum" Then
        zeDat = zeSW
    Else
        If arr(zeSW, 1) = Suchwert Then
            For sp = 2 To UBound(arr, 2)
                If arr(zeDat, sp) = Datum Then
                    MeineSuche = arr(zeSW, sp)
                    Exit Function
                End If
            Next
        End If
    End If
Next
End Function

und füge dann in C21 diese Formel ein und kopiere sie bis L28:
=meinesuche($B$3:$E$15;$B21;C$20)

die gelben und roten Spalten der Ergebnistabelle musst du selbst erstellen
Gruß, Daniel


  

Betrifft: AW: mit selbstgebauter Funktion von: Andre´
Geschrieben am: 11.12.2009 22:43:34

Hallo Daniel,

vielen Dank für den Tipp.

An dem Bsp. funktiniert es :-)) ich teste es noch an der orginal Datei.

MFG Andre


  

Betrifft: mit Formeln und Hilfsspalten von: Christian
Geschrieben am: 11.12.2009 22:55:14

Hallo Andre,

hier mein Vorschlag mit Formeln und 3 Hilfsspalten.

MfG Christian


https://www.herber.de/bbs/user/66539.xls


  

Betrifft: AW: mit Formeln und Hilfsspalten von: Andre´
Geschrieben am: 12.12.2009 00:32:12

Hallo Christian,

auch Dir VIELEN DANK für das Bsp. funktioniert ebenfalls :-))


MFG Andre


Beiträge aus den Excel-Beispielen zum Thema "Komplizierte Matrix"