Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

dynamische Kriterien in Bereich suchen und zählen

dynamische Kriterien in Bereich suchen und zählen
08.05.2014 09:29:46
simon

Hi Excel-Gemeinde,
ich hoffe ihr könnt mir weiterhelfen, ich habe folgendes Problem:
Ich habe in Spalte A eine Liste von, sagen wir einfach mal 100 Namen (können auch gleiche dabei sein). Diesen Bereich habe ich mit Bereich.Verschieben dynamisch gestaltet (Bereichsname: Liste_Namen).
Nun habe ich in Spalte B eine Auswahl getroffen von 30 Namen (aus einer Userform) welche untereinander angegeben werden (auch als dynamischen Bereich definiert: Liste_Auswahl) und er soll mir bitte zählen wie oft alle Namen in der Spalte A vorkommen.
Ich wollte es zuerst machen mit zählenwenns(Liste_Namen;Liste_Auswahl) aber dann er nimmt aus der Liste_Auswahl nur die erste Zelle.
Gibt es denn eine Möglichkeit, alle Kriterien in Spalte B in Spalte A zu suchen und zu zählen?!
Spalte B ist Variabel (jenachdem was ich in der Userform auswähle) deshalb der dynamische Bereich.
Eine Lösung per VBA wäre auch gut, jedoch ohne Schleife, denn das würde zu lange dauern.
Ich hoffe ihr könnt mein Problem nachvollziehen und hoffe auf kreative Lösungen :)
Viele Grüße,
dez

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamische Kriterien in Bereich suchen und zählen
08.05.2014 10:28:58
Rudi Maintaire
Hallo,
AW: dynamische Kriterien in Bereich suchen und zählen
08.05.2014 10:50:09
simon
Hi Rudi,
danke für die schnelle Antwort.
Das Problem aber hier ist wieder, dass er mir nicht aus dem Bereich Liste_Auswahl Zelle B1,B2,B3,B4,... in Bereich Liste_Namen sucht und zählt sondern nur B1?!
Summenprodukt ist auch blöd, da ich einen dynamischen Bereich habe und desweiteren wenn ich 20 Namen suchen möchte nicht 20 verschiedene zellen angeben als kriterium.
Viele Grüße

AW: dynamische Kriterien in Bereich suchen und zählen
08.05.2014 11:07:30
Rudi Maintaire
Hallo,
hast du Fkt auch als Matrixfunktion eingegeben?
Der Nachteil ist allerdings, dass doppelte Namen in Auswahl auch doppelt gezählt werden.
Per VBA:
Function ZaehlMich(rngListe As Range, rngAuswahl As Range)
Dim arrListe, arrAuswahl
Dim objListe As Object, objAuswahl As Object
Dim lListe As Long, lAuswahl As Long
arrListe = rngListe
arrAuswahl = rngAuswahl
Set objAuswahl = CreateObject("Scripting.dictionary")
Set objListe = CreateObject("Scripting.dictionary")
For lListe = 1 To UBound(arrListe)
'Häufigkeit in Liste
objListe(arrListe(lListe, 1)) = objListe(arrListe(lListe, 1)) + 1
Next
For lAuswahl = 1 To UBound(arrAuswahl)
If Not objAuswahl.exists(arrAuswahl(lAuswahl, 1)) Then
'doppelte Namen in Auswahl nicht doppelt zählen
objAuswahl(arrAuswahl(lAuswahl, 1)) = 0
ZaehlMich = ZaehlMich + objListe(arrAuswahl(lAuswahl, 1))
End If
Next
End Function
Wer sagt, dass Schleifen langsam sind?
Gruß
Rudi

Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige