Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
.. , - ...
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige