Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
720to724
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
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Durchschnittsbildung mit Filter VBA

Durchschnittsbildung mit Filter VBA
20.01.2006 08:50:44
Jürgen
Morgen Forumsmitglieder,
es geht um eine Tabelle nach folgendem Muster:
A B C
+-----+-------+-------+
! EUR! PLZ ! Code +
+-----+-------+-------+
! 20! 40230! P +
+-----+-------+-------+
! 10! 38975+ L +
+-----+-------+-------+
! 100! 75605+ K !
+-----+-------+-------+
! 40! 15082+ P !
+-----+-------+------+
Ich möchte eine Durchschnittsbildung der Spalte A erreichen, wie
mit WorksheetFunction.Average, jedoch in Abhängigkeit von Spalte
B oder C. Für Average finde ich keine ähnliche Funktion wie sumif,
bin jedoch auf subtotal gestossen, ohne den Syntax zu erkennen.
Kann mir da jemand weiterhelfen? Ziel ist z.B.:
Durchschnittswert der Spalte A (EUR) für (PLZ > 30000 und PLZ und Durchschnittwert aus allen EUR, welche in Spalte C ein "P" beinhalten.
Ich kriegs einfach nicht hin.
Danke für etwaige Tipps,
Jürgen

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

Betreff
Datum
Anwender
Anzeige
AW: Durchschnittsbildung mit Filter VBA
20.01.2006 09:05:02
Coach
Hallo Jürgen,
am einfachsten dürfte eine Kombination aus SumIf()/CountIf() mit gleichen Parametern sein.
Gruß Coach
AW: Durchschnittsbildung mit Filter VBA
20.01.2006 16:03:01
Jürgen
Hi Coach,
danke für den Tipp. Seh ich das richtig, dass bei sumif / countif keine Kriterien verknüpft werden können? So geht's wohl nicht:
WorksheetFunction.CountIf(Range("B2:B34"), "grösser=30000 and kleiner=40000")
wenn ich PLZ zwischen 30000 und 40000 einschränken will. Oder gilt hier ein anderer Syntax?
Oder muss ich mir wie folgt behelfen (tut fast schon weh):
a = WorksheetFunction.CountIf(Range("B2:B34"), "kleiner=40000") - WorksheetFunction.CountIf(Range("B2:B34"), "grösser=30000")
MsgBox a
Mir sumif wird dies wohl nicht so zu machen sein, oder? Ganz eng wird es, wenn noch wie bei meinem Beispiel in der Anfrage ein drittes Kriterium hinzukommt, also ein "P" oder "L" aus Spalte C.
Geht das wirklich nicht eleganter mit Excelfunktionen zu lösen, da kann ich ja gleich einen eigenen Code in VBA anwerfen?
Danke für deinen Hinweis, bin für weitere Anregungen dankbar,
Jürgen
----
Der Editor des Forums läßt scheinbar klein grösser/kleiner Zeichen zu, habe es daher ausgeschrieben.
Anzeige
AW: Durchschnittsbildung mit Filter VBA
21.01.2006 12:56:00
Coach
Hallo Jürgen,
direkt kann man keine Bedingungen kombinieren, die Funktionen sind aber matrixfähig. Dann kann man aber auch direkt mit Matrixformeln alle Kriterien komfortabel kombinieren. Schau mal bei www.excelformeln.de, da gibt es diverse Varianten.
Gruß Coach
AW: Durchschnittsbildung mit Filter VBA
23.01.2006 16:27:55
Jürgen
Hi Coach,
danke für deine Hilfe. Problem gelöst.
Gruß,
Jürgen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige