Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
416to420
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
416to420
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

AW: N?chstgr??ere Zahl anzeigen lassen

AW: N?chstgr??ere Zahl anzeigen lassen
onkelbobby
Sorry, war wohl etwas ungl?cklich ausgedr?ckt:
Noch mal (hoffentlich!) ein bisschen verst?ndlicher:
Ausgangswert steht in F4 (z. B. "25")
In den Spalten G bis U stehen diverse Zahlen (teils h?here, teils niedrigere, keine gleichen Werte).
Nun m?chte ich den n?chsth?heren Wert von "25" aus der Matrix G1:U4. (Z. B. "28")
Danke f?r die Hilfe
AW: max()
Nike
Hi,
etwas Muehe beim Fragen sollte schon drinn sein,
wenn sich andere die Muehe machen sollen,
die Frage zu beantworten ;-)
=max(G1:U4)+1
Bye
Nike
AW: max()
Oberschlumpf
Hi Nike
Deine L?sung ermittelt aber den gr??tm?glichen Wert in G1:U4 und addiert noch 1 hinzu.
Die Frage war: "Wie ermittel ich DEN Wert, der n?chst gr??er ist, als der Wert in F4?"
Ciao ;-)
Thorsten
Anzeige
AW: na, dann...
Nike
... das haett ich dann wohl auch per VBA geloest.
Ich hatte es so mit max verstanden ;-)
Naja, zum Glueck hat ja noch einer die Array Loesung rausgeknobelt ;-)
Bye
Nike
AW: N?chstgr??ere Zahl anzeigen lassen
Remo
Hallo Onkelchen
Probiers damit:

Sub wir_testen()
Wert = [F4]
N?chsth?her = 1000000000
For Each Zelle In Range("G1:U4")
If Zelle > Wert Then
If Zelle - Wert < N?chsth?her - Wert Then N?chsth?her = Zelle
End If
Next
MsgBox N?chsth?her
End Sub

AW: N?chstgr??ere Zahl anzeigen lassen
ChrisL
Hi Bobby

Function BobbySpezial(ZelleWert As Range, Bereich As Range) As Currency
Dim Arr()
Dim Zelle As Range
Dim Zaehler As Long
Application.Volatile
Zaehler = -1
For Each Zelle In Bereich
If Zelle <> "" And IsNumeric(Zelle) And Zelle > ZelleWert Then
Zaehler = Zaehler + 1
ReDim Preserve Arr(Zaehler)
Arr(Zaehler) = Zelle
End If
Next Zelle
BobbySpezial = WorksheetFunction.Min(Arr)
End Function

Code in ein Standardmodul einf?gen und in die gew?nschte Zelle folgende Tabellenfunktion eintragen...
=BobbySpezial(F4;G1:U4)
Gruss
Chris
Anzeige
Matrixformel
IngoG
Hallo?
na es geht doch...
versuchs mal mit folgender Arrayformel:
=MIN(WENN(G1:U4=F4;"";G1:U4)) Eingabe abschlie?en mit Strg-Shift-Enter
(wenn kein wert > als f4 ist wird 0 zur?ckgegeben
Gru? Ingo
PS eine R?ckmeldung w?re nett...
AW: Matrixformel
onkelbobby
Danke f?r die zahlreichen Hilfsbeitr?ge.
Habe die Formel von Ingo genommen, da ich mich mit Modulen, usw. auch nicht so gut auskenne.
Funzt einwandfrei!
Danke!
Danke f?r die R?ckmeldung oT
IngoG
.
Noch ne kleine Erg?nzung...!
onkelbobby
Ich m?chte zur Funktion noch folgende Bedingung einbauen:
Der abzugleichende Bereich wird auf G1:U37 erweitert.
In Spalte C stehen jeweils verschiedene Zahlen in den Zeilen 1 bis 37.
Funktion "n?chsth?here Zahl" bleibt, jedoch soll der Wert aus Spalte C in der jeweiligen Zeile vorher noch mit 4 Werten in W1, X1, Y1 und Z1 verglichen werden.
Nur wenn der Wert in Spalte C mit einem der vier Werte ?bereinstimmt soll diese Zahl in W2 eingetragen werden, ansonsten soll zur n?chsth?heren gesprungen werden bis ein Treffer erfolgt.
Anzeige
SO?
IngoG
Hallo ?
hab ich Dich so richtig verstanden?
=MIN(WENN((G1:U37&gtF4)*(Z?HLENWENN(W1:Z1;C1:C37)&gt0);G1:U37;"")) Strg-Shift-Enter!!
Gru? Ingo
PS eine R?ckmeldung w?re nett...
Thats it! Super!
onkelbobby
So langsam taste ich mich an die Komplettl?sung meiner Aufgabe :-)
Danke f?r Eure Hilfe!
Danke f?r die R?ckmeldung oT
IngoG
.
AW: N?chstgr??ere Zahl anzeigen lassen
21.04.2004 14:30:53
Oberschlumpf
Hi
Trotz schon vorhandener L?sung m?chte ich mein Bem?hen trotzdem kundtun :-)
So wie hier geht es auch (auf meinem PC):


Sub NaechstGroessere()
    Dim lrZelle As Range, lrZelle1 As Range
    Dim liZeile As Integer
    Dim liWert As Double
    
        For Each lrZelle In Range("G1:U4")
            If lrZelle.Value > Range("F4").Value Then
                    liWert = lrZelle.Value
                Else
                    GoTo 1
            End If
            
                For Each lrZelle1 In Range("G1:U4")
                    If liWert > lrZelle1.Value And lrZelle1.Value > Range("F4").Value Then
                        liWert = lrZelle1.Value
                    End If
                Next
            Exit For
1       Next
    
    Range("A1").Value = liWert
    
End Sub


Ciao :-)
Thorsten
Anzeige
AW: N?chstgr??ere Zahl anzeigen lassen
onkelbobby
Sorry, war wohl etwas ungl?cklich ausgedr?ckt:
Noch mal (hoffentlich!) ein bisschen verst?ndlicher:
Ausgangswert steht in F4 (z. B. "25")
In den Spalten G bis U stehen diverse Zahlen (teils h?here, teils niedrigere, keine gleichen Werte).
Nun m?chte ich den n?chsth?heren Wert von "25" aus der Matrix G1:U4. (Z. B. "28")
Danke f?r die Hilfe
AW: max()
Nike
Hi,
etwas Muehe beim Fragen sollte schon drinn sein,
wenn sich andere die Muehe machen sollen,
die Frage zu beantworten ;-)
=max(G1:U4)+1
Bye
Nike
Anzeige
AW: max()
Oberschlumpf
Hi Nike
Deine L?sung ermittelt aber den gr??tm?glichen Wert in G1:U4 und addiert noch 1 hinzu.
Die Frage war: "Wie ermittel ich DEN Wert, der n?chst gr??er ist, als der Wert in F4?"
Ciao ;-)
Thorsten
AW: na, dann...
Nike
... das haett ich dann wohl auch per VBA geloest.
Ich hatte es so mit max verstanden ;-)
Naja, zum Glueck hat ja noch einer die Array Loesung rausgeknobelt ;-)
Bye
Nike
AW: N?chstgr??ere Zahl anzeigen lassen
Remo
Hallo Onkelchen
Probiers damit:

Sub wir_testen()
Wert = [F4]
N?chsth?her = 1000000000
For Each Zelle In Range("G1:U4")
If Zelle > Wert Then
If Zelle - Wert < N?chsth?her - Wert Then N?chsth?her = Zelle
End If
Next
MsgBox N?chsth?her
End Sub

Anzeige
AW: N?chstgr??ere Zahl anzeigen lassen
ChrisL
Hi Bobby

Function BobbySpezial(ZelleWert As Range, Bereich As Range) As Currency
Dim Arr()
Dim Zelle As Range
Dim Zaehler As Long
Application.Volatile
Zaehler = -1
For Each Zelle In Bereich
If Zelle <> "" And IsNumeric(Zelle) And Zelle > ZelleWert Then
Zaehler = Zaehler + 1
ReDim Preserve Arr(Zaehler)
Arr(Zaehler) = Zelle
End If
Next Zelle
BobbySpezial = WorksheetFunction.Min(Arr)
End Function

Code in ein Standardmodul einf?gen und in die gew?nschte Zelle folgende Tabellenfunktion eintragen...
=BobbySpezial(F4;G1:U4)
Gruss
Chris
Anzeige
Matrixformel
IngoG
Hallo?
na es geht doch...
versuchs mal mit folgender Arrayformel:
=MIN(WENN(G1:U4=F4;"";G1:U4)) Eingabe abschlie?en mit Strg-Shift-Enter
(wenn kein wert > als f4 ist wird 0 zur?ckgegeben
Gru? Ingo
PS eine R?ckmeldung w?re nett...
AW: Matrixformel
onkelbobby
Danke f?r die zahlreichen Hilfsbeitr?ge.
Habe die Formel von Ingo genommen, da ich mich mit Modulen, usw. auch nicht so gut auskenne.
Funzt einwandfrei!
Danke!
Danke f?r die R?ckmeldung oT
IngoG
.
Noch ne kleine Erg?nzung...!
onkelbobby
Ich m?chte zur Funktion noch folgende Bedingung einbauen:
Der abzugleichende Bereich wird auf G1:U37 erweitert.
In Spalte C stehen jeweils verschiedene Zahlen in den Zeilen 1 bis 37.
Funktion "n?chsth?here Zahl" bleibt, jedoch soll der Wert aus Spalte C in der jeweiligen Zeile vorher noch mit 4 Werten in W1, X1, Y1 und Z1 verglichen werden.
Nur wenn der Wert in Spalte C mit einem der vier Werte ?bereinstimmt soll diese Zahl in W2 eingetragen werden, ansonsten soll zur n?chsth?heren gesprungen werden bis ein Treffer erfolgt.
Anzeige
SO?
IngoG
Hallo ?
hab ich Dich so richtig verstanden?
=MIN(WENN((G1:U37&gtF4)*(Z?HLENWENN(W1:Z1;C1:C37)&gt0);G1:U37;"")) Strg-Shift-Enter!!
Gru? Ingo
PS eine R?ckmeldung w?re nett...
Thats it! Super!
onkelbobby
So langsam taste ich mich an die Komplettl?sung meiner Aufgabe :-)
Danke f?r Eure Hilfe!
Danke f?r die R?ckmeldung oT
IngoG
.
AW: N?chstgr??ere Zahl anzeigen lassen
21.04.2004 14:30:53
Oberschlumpf
Hi
Trotz schon vorhandener L?sung m?chte ich mein Bem?hen trotzdem kundtun :-)
So wie hier geht es auch (auf meinem PC):


Sub NaechstGroessere()
    Dim lrZelle As Range, lrZelle1 As Range
    Dim liZeile As Integer
    Dim liWert As Double
    
        For Each lrZelle In Range("G1:U4")
            If lrZelle.Value > Range("F4").Value Then
                    liWert = lrZelle.Value
                Else
                    GoTo 1
            End If
            
                For Each lrZelle1 In Range("G1:U4")
                    If liWert > lrZelle1.Value And lrZelle1.Value > Range("F4").Value Then
                        liWert = lrZelle1.Value
                    End If
                Next
            Exit For
1       Next
    
    Range("A1").Value = liWert
    
End Sub


Ciao :-)
Thorsten
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige