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

SVERWEIS Problem

SVERWEIS Problem
10.12.2008 13:41:25
Matthias
Moin Moin,
ich freue mich jetzt Mitgleid zu sein und auch meine Excel Erfahrungen und Tips weitergeben zu können.
Aber vorher habe ich ein Problem:
In Spalte A stehen 5stellige Zahlen. Gleiche Zahlen bezeichnen dasselbe Projekt. Zu jedem Projekt kommen diese Zahlen mehrfach vor.
Bsp.:
55555
55555
55555
nächstes Projekt (Das steht nicht in Spalte A)
22222
22222
22222
in Spalte C steht in jeder Zeile zu jedem Projekt ein Datum.
Bsp.:
55555 30.11.2004
55555 25.12.2005
22222 04.01.2005
In Spalte I stehen Buchstaben, allerdings nur in manchen Zeilen.
55555 30.11.2004 (leer)
55555 25.12.2005 XT
22222 04.01.2005 (leer)
Ziel soll es sein eine Formel zu finden, die alle Einträge zu einem Projekt (z.B. 55555) sucht und das jüngste Datum aus Spalte C herauszufiltert, das einen Eintrag in Spalte I (z.B. XT) enthält.
55555 30.11.2004 (leer)
55555 25.12.2003 XT
22222 04.01.2005 (leer)
hier wäre das gesuchte Ergebnis: XT
Der 30.11.2004 ist zwar jünger, hat aber keinen Eintrag in Spalte C. Daher soll Zeile 2 Spalte I das Ergebnis sein.
Ich habe mich bereits mit SVERWEIS daran versucht, bin aber zu keiner Lösung gekommen.
Hat jmd eine Idee dazu? Ist das ohne VBA überhaupt möglich?
Ich freue mich auf eure Antworten,
Viele Grüße
Matthias

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVERWEIS Problem
10.12.2008 13:54:53
M@x
Hi Matthias,
stell uns doch einen Testfile zur Verfügung,
dann muß nicht jeder der eine Idee hat, den File nachbauen
Gruss
M@x
AW: SVERWEIS Problem
10.12.2008 14:35:00
Caruso
Hallo Matthias,
als möglicher Ansatz folgende Matrixformel (mit Shift-Strg-Enter abschließen)

=KKLEINSTE(($A$1:$A$6=55555)*($I$1:$I$6="XT")*($C$1:$C$6); SUMMENPRODUKT(--((($A$1:$A$6=55555)*($I$1:$I$6="XT")*($C$1:$C$6))=0))+1) 


Der Bereich $x$1:$x$6 ist auf deine Liste anzupassen.
Gruß
Carlo

AW: SVERWEIS Problem
10.12.2008 14:53:08
Matthias
Hier erstmal der Link: https://www.herber.de/bbs/user/57516.xls
Danke schonmal für die Formel. Allerdings vergaß ich zu sagen, dass sich etwa 100 Projekte in Spalte A befinden. In Spalte I gibt es 4 mögliche Einträge (XT, NT, AT, QT)
Anzeige
AW: SVERWEIS Problem
10.12.2008 15:03:00
Caruso
Sollte der Formel doch egal sein, wie viele Projekte oder Einträge in Spalte I.
Anbei mal für deine Datei umgesetzt mit zwei Eingabefeldern für die Suchkriterien
https://www.herber.de/bbs/user/57517.xls
Gruß
Carlo
AW: SVERWEIS Problem
10.12.2008 15:50:28
Matthias
Ich glaube, da haben wir uns falsch verstanden. in der Ausgabezelle soll der Eintrag aus Spalte I stehen. Hier können verschiedene Einträge (nicht nur "XT") stehen. Es soll pro Projekt der jüngste Datumseintrag (Spalte C) mit einem Eintrag in Spalte I (selbe Zeile) ausgesucht werden. Es kann auch sein, dass der jüngste Datumseintrag keinen zugehörigen Eintrag in Spalte I hat.
Hoffe, diesmal habe ich verständlicher formuliert. Danke dir auf jeden schonmal
Grüße
Anzeige
AW: SVERWEIS Problem
11.12.2008 09:08:00
Caruso
Falls du die Formel noch benötigst
kleinstes Datum mit beliebiger Spalte I ("")

=KKLEINSTE(($A$1:$A$6=55555)*($I$1:$I$6"")*($C$1:$C$6); SUMMENPRODUKT(--((($A$1:$A$6=55555) *($I$1:$I$6"")*($C$1:$C$6))=0))+1) 


kleinstes Datum mit beliebiger Spalte I (auch leer)


=KKLEINSTE(($A$1:$A$6=55555)*($C$1:$C$6); SUMMENPRODUKT(--((($A$1:$A$6=55555)*($C$1:$C$6))=0))+1) 


Gruß
Carlo

AW: SVERWEIS Problem
10.12.2008 15:08:58
Wenderhold
hi
und hier das ganze als makro
Option Base 1

Public Sub early_bird()
Dim i As Long, szProjNum As String
Dim aNum(20) As String, aDate(20) As String, aBem(20) As String
For i = 1 To 65536
' abbruch wenn drei leere zeilen entdeckt werden
If Sheets(1).Cells(i, 1).Value = "" And _
Sheets(1).Cells(i + 3, 1).Value = "" And _
Sheets(1).Cells(i + 2, 1).Value = "" Then Exit For
szProjNum = CStr(Sheets(1).Cells(i, 1).Value)
If Sheets(1).Cells(i, 9).Value  "" Then
If aNum(1) = "" Then
aNum(1) = szProjNum
aDate(1) = CStr(Sheets(1).Cells(i, 3).Value)
aBem(1) = Sheets(1).Cells(i, 9).Value
Else
'gibt es den Eintrag schon ?
For xx = 1 To UBound(aNum)
If aNum(xx) = szProjNum Then
If aDate(xx) > Sheets(1).Cells(i, 3).Value Then
aDate(xx) = Sheets(1).Cells(i, 3).Value
aBem(xx) = Sheets(1).Cells(i, 9).Value
Exit For
Else
Exit For
End If
End If
If aNum(xx) = "" Then
aNum(xx) = szProjNum
aDate(xx) = CStr(Sheets(1).Cells(i, 3).Value)
aBem(xx) = Sheets(1).Cells(i, 9).Value
Exit For
End If
Next xx
End If
End If
Next i
For i = 1 To 65536
If Sheets(1).Cells(i, 1).Value = "" And _
Sheets(1).Cells(i + 3, 1).Value = "" And _
Sheets(1).Cells(i + 2, 1).Value = "" Then Exit For
For xx = 1 To UBound(aNum)
If Sheets(1).Cells(i, 1).Value = aNum(xx) And _
Sheets(1).Cells(i, 3).Value = aDate(xx) And _
Sheets(1).Cells(i, 9).Value = aBem(xx) Then
Sheets(1).Cells(i, 1).Font.ColorIndex = 3
'            Else
'                Sheets(1).Cells(i, 1).Font.ColorIndex = xlAutomatic
End If
Next xx
Next i
End Sub


greeze
e

Anzeige
AW: SVERWEIS Problem
10.12.2008 15:17:00
Matthias
Wow, ich bin begeistert! Das funktioniert wie geschmiert. ist es möglich, anstatt die Zelle einzufärben, die ergebnisse in einer spalte ausgeben zu lassen? Danke schonmal vorab
AW: SVERWEIS Problem
10.12.2008 15:23:55
Matthias
Hatte ich vergessen:
Wenn in einem Projekt (55555) in Spalte I in 2 Zeilen "XT" steht, dann sollte die mit dem jüngeren Datum ausgewählt werden. Im Moment wird das ältere Datum markiert. Nochmal danke!!!!
Viele Grüße
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige