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

Maximalwerte bestimmen

Maximalwerte bestimmen
30.08.2017 11:52:02
Armin
Hallo zusammen,
ich habe eine Liste, in welcher die relevanten Zeilen gekennzeichnet werden sollen, bspw. mit einem "x".
In der beigefügten Datei befindet sich der relevante Datenbestand in den Spalten A bis C. In Spalte A befinden sich die Positionen. Für jede Position können beliebig viele Zeilen vorhanden sind, so sind für Position 1 z.B. 5 Zeilen und für Position 2 12 Zeilen vorhanden.
In Spalte B befindet sich der Hinweis "ja". Es sollen nur Zeilen in die Auswertung einbezogen werden, wenn ein "ja" vorhanden ist. Und in Spalte C befindet sich der Wert.
Ziel ist es nun, in Spalte E bei der Zeile mit dem größten Wert pro Position ein "X" zu setzen. Aber nur, wenn in Spalte B ein "ja" vorhanden ist. Wichtig ist, dass die Ermittlung des größten Wertes immer für jede Position durchgeführt wird. Also größten Wert aus den 5 Zeilen der Position 1, größten Wert aus den 12 Zeilen der Position 2 etc.
Die gesetzten X-Kennzeichen zeigen das korrekte Ergebnis.
Nun bräuchte ich eine VBA-Prozedur, welche diese "x" automatisch setzt.
Hat jemand eine Idee?
Die Beispieldatei findet ihr hier: https://www.herber.de/bbs/user/115887.xlsx
Ganz lieben Dank
Armin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: warum VBA? ...
30.08.2017 12:21:32
...
Hallo Armin,
... wenn es sich nicht gerade um Massendatenauswertung handeln sollte, wäre mit einer einfachen Matrixfunktion(alität)sformel, die keines spez. Formelabschluss wie eine klassische Matrixformel benötigt, möglich.
In E4: WENN((B3="Ja")*(MAX(INDEX(C$3:C99*(A$3:A99=A3)*(B$3:B99="Ja");))=C3);"x";"")
und Formel nach unten kopieren.
Gruß Werner
.. , - ...
AW: warum VBA? ...
30.08.2017 12:23:25
Armin
Hallo Werner,
vielen herzlichen Dank für die Formel.
Ich bräuchte jedoch eine VBA-Lösung, da es sich um größere Datenmengen handelt.
LG Armin
AW: VBA-Lösung gewünscht, thread offen owT
30.08.2017 12:26:51
...
Gruß Werner
.. , - ...
VBA-Lösung
30.08.2017 12:44:54
Rudi
Hallo,
Sub Xrein()
Dim vArr, objMax As Object, i As Long
With Sheets(1).Cells(2, 1)
vArr = Intersect(.CurrentRegion, .CurrentRegion.Offset(1)).Resize(, 5)
End With
Set objMax = CreateObject("scripting.dictionary")
For i = 1 To UBound(vArr)
If vArr(i, 2) = "Ja" Then
objMax(vArr(i, 1)) = WorksheetFunction.Max(objMax(vArr(i, 1)), vArr(i, 3))
End If
Next i
For i = 1 To UBound(vArr)
If vArr(i, 2) = "Ja" And vArr(i, 3) = objMax(vArr(i, 1)) Then vArr(i, 5) = "x"
Next
Sheets(1).Cells(3, 1).Resize(UBound(vArr), 5) = vArr
End Sub

Gruß
Rudi
Anzeige

9 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige