Microsoft Excel

Herbers Excel/VBA-Archiv

Suche einer Zahl, nach OBEN!

Betrifft: Suche einer Zahl, nach OBEN!
von: Valachovic karl
Geschrieben am: 15.04.2003 - 08:26:53

Hallo Leute

Ich suche in Excel eine Formel, vielleicht hat jemand eine Idee.

In einer Spalte sind Zahlen (von 1-9).
Ich such von jeder dieser Zahl die Zeilennummer der nächst kleineren Zahl,
die zuvor vorkommt.

Beispiel:
1
2
3
3
2
3
4
4
4
5
5
5
3 Welch Zeile hat die nächste "2"? Nach oben! (Zeile 5!)
4
4
2
3
4

Gruß Karl

  

Re: Suche einer Zahl, nach OBEN!
von: Harald Kapp
Geschrieben am: 15.04.2003 - 08:46:45

Hallo Karl,
mit Bordmitteln wüsste ich nicht, wie. Aber mit einer selbstdefinierten Funktion in VBA:


Function vorhergehende_kleinere_Zeile(x As Range) As Long
Dim z, s As Long
Dim i As Long

z = x.Row
s = x.Column
vorhergehende_kleinere_Zeile = z
For i = z To 1 Step -1
   If Cells(i, s) = x.Value - 1 Then
      vorhergehende_kleinere_Zeile = i
      Exit Function
   End If
Next
End Function

Gruß Harald

  

Matrixformel
von: ingo
Geschrieben am: 15.04.2003 - 13:11:54

hallo Karl,
wenn Deine Daten in a1-a100 stehen schreibst Du in b1 folgende
matrixfunktion:

{=MAX(ZEILE($A$1:$A1)*($A$1:$A1=A1-1))}

(die geschweiften klammern nicht mit eingeben, sondern die eingabe mit Strg-Shift-Enter abschließen, dann erscheinen die klammern)

diese formel kopierst du dann bis b100 nach unten
Kannst ja kurz durchgeben ob die lösung so funzt
Gruß Ingo

  

Re: Matrixformel
von: karl
Geschrieben am: 23.04.2003 - 07:29:58

Hallo

Danke für die Antworten.
Die Funktion von Harald habe ich eingebunden, und funktioniert wunderbar.

Danke nochmal, hat mir sehr geholfen.

Gruß karl