Microsoft Excel

Herbers Excel/VBA-Archiv

Ersatz für Zählenwenn



Excel-Version: 10.0 (Office XP)

Betrifft: Ersatz für Zählenwenn
von: Wolfgang Küsters
Geschrieben am: 09.06.2002 - 23:18:12

Hallo und guten Abend,
habe folgendes Problem und hoffe durch Euer Forum auf eine Lösung.
Zuerst die Gegebenheiten:
Spalte A Spalte G Spalte H
01.01.2002 Meier Geb 1
01.01.2002 Meier Geb 2
01.02.2002 Müller Geb 1
01.03.2002 Meier Geb 1
01.03.2002 Schulz Geb 3
usw usw usw

Jetzt möchte ich analog der Zählenwenn-Funktion die Spalte G dahingehend auswerten, dass ich die Anzahl der Namen erhalte, aber OHNE doppeltes Zählen gleicher Namen.
Es können auch leere Zellen in dieser Spalte vorkommen, wobei der auszuwertende Bereich größer definiert ist, als tatsächlich ausgefüllte Zellen vorhanden sind.
Als Bedingungen möchte ich die Spalte A ab einem bestimmten Datum mit einbeziehen, sowie die Spalte H mit einem bestimmten Gebiet.
Zur Zeit habe ich für dieses Problem jeweils eine neue Spalte generiert und dafür folgende Zählenwenn-Formel angewendet:
{=SUMME(1/ZÄHLENWENN(J2:J2000;J2:J2000&""))-WENN(ANZAHL2(J2:J2000)>1;1;)}
Diese Formel funktioniert zwar, aber die Auswertung dauert ewig!!
Bereits bei nur einer Gebietsauswertung mit gerade mal 300 Datensätzen warte ich ca. 10 sec!
Hat jemand eine Lösung? Das wäre ein wirkliches Geburtstagsgeschenk :-).
Vielen Dank
Wolfgang

  

Re: Ersatz für Zählenwenn
von: Hans W. Herber
Geschrieben am: 10.06.2002 - 05:21:59

Hallo Wolfgang,

gratuliere zum Geburtstag.

Dies ist einer der Fälle, in denen der Grundsatz "Excel-Formeln haben Vorrang" außer Kraft gesetzt ist. Bei solchen Berechnungen wird meist die Schnelligkeit einer VBA-Berechnung unterschätzt.
Eine benutzerdefinierte Funktion, die auch mit über 3.000 Datensätzen noch relativ flott ist, findest Du hier:
https://www.herber.de/bbs/texte/9countif.xls

hans

  

Re: Ersatz für Zählenwenn
von: Wolfgang Küsters
Geschrieben am: 13.06.2002 - 20:50:30

Hallo Hans,
komme heute erst dazu Deinen genialen Makro auszuprobieren.
Vielen Dank auch für die Geburtstagswünsche.
Leider habe ich von der VBA-Programmierung keinen Schimmer.
Ich weiß nicht, wie ich diesen Makro in meine Anwendung transportieren kann. Seufz
Kannst Du mir die erforderlichen Schritte erklären oder muß ich mich in die Programmierung erst einarbeiten?
Abgesehen davon, was empfiehlst Du mir wenn ich mich künftig hiermit beschäftigen möchte.? Das Thema reizt mich ja nun doch nachdem ich Deinen schnellen Makro kennengelernt habe.

Wolfgang