Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: wie findet man automatisch einen letzten Eintrag

wie findet man automatisch einen letzten Eintrag
21.12.2005 10:33:48
Marco
Ich habe folgendes Problem
in einer Liste enthält Spalte A Namen und Spalte B Werte. Jeder Name taucht öfter auf und ich möchte, daß Excel in einer Tabelle auf dem selben Arbeitsblatt, in der jeder Name nur einmal auftaucht, den Wert angibt, der in Spalte B neben dem letzten Eintrag des Namens in Spalte A steht.
Beispiel:
A-------B
Hugo 17
Heinz 11
Hugo 16
Klaus 12
Hugo 11
Tabelle
Hugo 11
Heinz 11
Klaus 12
gibt es dazu eine Möglichkeit?
vielen Dank
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wie findet man automatisch einen letzten Eintrag
21.12.2005 10:50:38
Galenzo
{=INDEX($B$1:$B$1000;MAX((($A$1:$A$1000)=D2)*ZEILE($1:$1000)))}
Matrixformel! Geschweifte Klammern nicht mit eingeben, sondern die Formel mit STRG+SHIFT+ENTER abschliessen.
Viel Erfolg!
AW: wie findet man automatisch einen letzten Eintrag
21.12.2005 11:24:56
Eugen
hi
Option Base 1
Public

Sub find_last()
Dim szNames(100) As String
Dim bFound As Boolean
Dim nRow As Integer, nValue As Integer
nRow = 1
' Zielspalten leeren
Sheets(1).Columns(3).ClearContents
Sheets(1).Columns(4).ClearContents
i = 2
Do While (Sheets(1).Cells(i, 1).Value <> "")
szName = Sheets(1).Cells(i, 1).Value
' haben wir den schon ?
bFound = False
For x = 1 To UBound(szNames)
If szNames(x) = szName Then
bFound = True
Exit For
End If
Next x
If Not bFound Then
Sheets(1).Cells(nRow, 4).Value = szName
szNames(i) = szName
' search for last value
nValue = 0
xx = i
Do While (Sheets(1).Cells(xx, 1).Value <> "")
If Sheets(1).Cells(xx, 1).Value = szName Then
nValue = Sheets(1).Cells(xx, 2).Value
End If
xx = xx + 1
Loop
Sheets(1).Cells(nRow, 5).Value = nValue
nRow = nRow + 1
End If
i = i + 1
Loop
End Sub

mfg
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige