Frage von Sascha19833891, 64

Excel - wie kann ich das häufigste Vorkommen eines Wertes innerhalb einer abhängigen Auswahl ermitteln? am besten mit Formel - Makro-Newbie ?

Ich habe eine Tabelle in der möchte ich abhängig von der Bezeichnung in Spalte A (alle Werte die in Spalte A dieselbe Nummer haben -> M und 3 Ziffern) das entsprechend am häufigsten vorkommende Ereignis in der Nachbarspalte herausfinden (ein Datum) - das Ergebnis (Datum soll dann in Spalte C gelistet werden); optionla noch Spalte D (Anzahl des am häufigsten vorkommenden Ereignisses:

A - B - C (häufigster Wert) - D (Anzahl des häufigsten Wert)

M123 - 28.02.12 - 28.02.12 3x

M123 - 28.03.12

M123 - 28.02.12

M123 - 28.02.12

M234 - 12.01.12 -12.01.12 - 3x

M234 - 12.02.12

M234 -12.01.12

M234 - 12.02.12

M234 -12.01.12

M456 - 31.03.12 - 31.03.12 -2x

M456 - 12.02.12

M456 - 31.03.12

Für Hilfe wäre ich sehr dankbar :)

P.S. mit Fromel kann ich ganz gut umgehen denke ich aber mit Makros nur die grundlegendsten Basics (wenn überhaupt)

Danke schon im Vorraus - Grüße Sascha

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Suboptimierer, Community-Experte für Excel, 58

Mit einem Makro würde das so gehen:

Sub MaximumAnzahl()
  Dim i, j As Integer
  Dim iAnz As Integer
  Dim iMaxAnz As Integer
  Dim iMaxAnzDatum As Date

For i = 2 To Range("A2").End(xlDown).Row If Cells(i - 1, 1).Value <> Cells(i, 1).Value Then ' Gruppenwechsel 'Maximum suchen j = i iMaxAnz = 0 iMaxAnzDatum = 0 While Cells(j, 1).Value = Cells(i, 1).Value iAnz = WorksheetFunction.CountIfs(Range("A:A"), Cells(j, 1).Value, Range("B:B"), Cells(j, 2).Value) If iAnz > iMaxAnz Then iMaxAnz = iAnz iMaxAnzDatum = Cells(j, 2).Value End If j = j + 1 Wend Cells(i, 3).Value = iMaxAnzDatum Cells(i, 4).Value = iMaxAnz i = j - 1 End If Next End Sub
Antwort
von Schwimmakademie, 61

ich hab dein Problem noch nicht ganz verstanden. Die Häufigkeit bekommst du mit "Anzahl" (oder zähelwenn) hin.

Danach kannst du den MAX aus diesen Werten ermitteln. Leider weis ich noch nicht genau, welche Anzahl du genau brauchst.

LG

Kommentar von Sascha19833891 ,

benötige den Wert in Spalte C, also ein Datum. bei countif zählt es alle Daten durch die es in der gesamten Spalte B gibt, es soll aber jeweils abhängig nur für den Bereich der gleichen Nummer in A berechnet werden.

:)

Kommentar von Suboptimierer ,
=ZÄHLENWENNS(A:A;A1;B:B;B1)
Kommentar von Sascha19833891 ,

Danke für die Hilfe, das geht in die richtige Richtung aber mit dem obigen Makro ist es perfekt :) Grüße Sascha

Kommentar von Schwimmakademie ,

ich weiß dass es mit dem Makro einfacher ist :-) aber ich wollte ja deine "Funktionsversiertheit" nutzen ^^

Freut mich, dass dir geholfen wurde.

LG

Antwort
von ShitzOvran, 44

Was passiert bei gleicher Anzahl der Ergebnisse?

Kommentar von Sascha19833891 ,

Das habe ich nicht beachtet, dann könnte jeder der beiden Werte verwendet werden - also spielt es dann keine tragende Rolle :) aber trotzdem guter Einwand/ bzw. Frage! :D

Keine passende Antwort gefunden?

Fragen Sie die Community