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

Anwendung einer Funktion in variablen Ranges

Anwendung einer Funktion in variablen Ranges
13.02.2005 13:02:13
Hans
Guten Tag!
Ich möchte gern ein Makro schreiben, dass den Average einer Range bestimmt.
Kriterium zum Einschluss in die Range sind zwei Kriterien.
Der Datensatz ist sehr variable, so kann es einmal 7 Treffer fuer beide Kriterien geben, dann aber auch mal 12.
Der Average soll in einer Zelle q ausgegeben werden.
Die Situation sieht wie folgt aus:
1. Kriterium------2. Kriterium------wert
48---------------------i--------------8--
48---------------------i--------------10-
48---------------------i--------------1--
50---------------------i--------------3--
50---------------------i--------------6--
Ich moechte den Avereage von "Wert" zu den Kriterien "48" und "i"
Hier wuerde das bedeuten: (8+10+1)/3 = 7
"7" wird im feld q ausgegebn
Wie ich sagte, aendert sich di Anzahl des Kriteriums 1 staendig, sodass es mal 8 "48" gibt, mal aber auch nur 2 "48".
Um es noch zu verkomplizieren: Ich muss diese Routine dann auch fuer die "50" etc erweitern.
Ich suche also eine Routine die folgendes kann:
1. Parsen der Spalte "Kriterium 1" nach (zunaechst) "48" und "Kriterium 2" nach "i".
2. das Markieren der Inhalte der Spalte "Wert" zu diesen Trefern als "Range" und
3. Zufuehren der Range zu einer Funktion (zunaechst Average, dann aber auch STDEV).
Vielen Dank für die Hilfe
Hans

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
summenprodukt() / summenprodukt()
ransi
hallo hans
wenn du interesse an einer lösung ohne VBA hast, schau mal hier:
https://www.herber.de/bbs/user/17982.xls
wenn nicht kann man das bestimmt in VBA nachbilden.
ransi
Was ist STDEV in deutsch ?
ransi
hallo hans
hab ich vergessen zu fragen.
der objectkatalog bietet StDev an.
ist das sowas wie:
STABW
STABWA
STABWN
STABWNA ?
ransi
AW: Was ist STDEV in deutsch ?
13.02.2005 13:55:21
Hans
Entschuldigung,
ich meine die Standardabweichung (standard deviation) mit STDEV.
Gruss
Hans
AW: summenprodukt() / summenprodukt()
13.02.2005 13:53:17
Hans
Hallo Ransi,
vielen Dank für Deine Lösung und Deine Mühe.
Leider reicht es nicht zur Lösung meines Problems.
Ein Makro wäre gut, weil ich mir das Durchsehen der Spalte Kriterium 1 und 2 ersparen wollte. Im Anschluss sind auch zig Berechnungen nötig, die aalerdings immer zur selben Range durchgeführt werden muessen. Erst dann geht es mit dem naechsten Unterpunkt im Kriterium 1 weiter. Und so weiter und so fort.
weisst Du eine Möglichkeit, wie ich in VBA eine Range markieren kann, die die Kriterien "48" und "i" beinhalten (egal wieviele Eintraege zu finden sind)?
Gruss
Hans
Anzeige
AW: summenprodukt() / summenprodukt()
ransi
hallo hans
keine weitere idee, darum "Frage noch offen".
sorry
ransi
range in spalte C
ransi


      
hallo hans
habe noch ein wenig gebastelt.
ist bestimmt nicht optimal, aber markiert die zellen 
in C:C in denen  spalteA =48 und spalteB =i .
Public 
Sub w()
Dim gefunden
Dim erste
Dim alle
With Worksheets(1).Range("A:A")
    
Set gefunden = .Find(48, LookIn:=xlValues)
    
If Not gefunden Is Nothing Then
        erste = gefunden.Address
            
Do
                     
On Error Resume Next
                     
Set gefunden = .FindNext(gefunden)
                     
If gefunden.Offset(0, 1) = "i" Then alle = gefunden.Offset(0, 2).Address & "," & alle
           
Loop While Not gefunden Is Nothing And gefunden.Address <> erste
    
End If
End With
'Range(Left(alle, Len(alle) - 1)) ist deine gesuchte Range (wenn ich dich richtig verstanden habe
'MsgBox Range(Left(alle, Len(alle) - 1)).Address
Range(Left(alle, Len(alle) - 1)).Select
End Sub
ransi 
Anzeige
AW: range in spalte C
13.02.2005 15:42:11
hans
Wow, was für ein Einsatz!
Danke, Ransi. Ich werde es gleich ausprobieren!
Gruss
hans
AW: range in spalte C
13.02.2005 16:51:04
hans
Lieber Ransi,
das hat soweit gut funktioniert! Danke!
wie kann ich jetzt die markierte Range in eine Funktion einfügen?
Ich möchte ja gern zum Beispiel den Durchschnitt bestimmen oder die Standardabweichung.
Die Formula verlangt ja die Adresse, doch wie kann ich diese jetzt dort einfügen.
Wenn Du mir das verraten koenntest, waere ich einen gewaltigen Scghritt weiter und koennet das auf alle Funktionen ummünzen.
Ich danke Dir im Voraus!
Dein Hans

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige