AW: Autom. Mittelwertbildung unter 2 var. Kriterien
Ramses
Hallo
hier mal eine Variante.
Ich gebe zu, dass die Berechnung etwas länger dauern könnte ;-), aber die
Function tut wenigstens.
Eine Formel wäre wahrscheinlich eine Monsterlösung.
Hier deine Tabelle zum Download.
<a href="https://www.herber.de/bbs/user/9116.xls">https://www.herber.de/bbs/user/9116.xls</a>
weil anscheinend keine HTML Befehle mehr verarbeitetn werden :-(((
Schreib mal deine E-Mail Adresse, meine findest du unter den Profilen, dann schicke ich dir deine Datei zurück
Dazu brauchst du diese Funktion
Option Explicit
Function Create_AV(valMin As Range, valMax As Range, valMinWidth As Range, valMaxWidth As Range) As Variant
Dim i As Long, datWks As Worksheet
Dim tmpVal As Double, tmpCnt As Long
Set datWks = Worksheets("Daten")
tmpVal = 0
tmpCnt = 0
With datWks
For i = 3 To .Cells(65536, 1).End(xlUp).Row
If .Cells(i, 2) >= valMin.Value And .Cells(i, 2) <= valMax.Value _
And .Cells(i, 3) >= valMinWidth.Value And .Cells(i, 3) <= valMaxWidth.Value Then
tmpVal = tmpVal + .Cells(i, 4)
tmpCnt = tmpCnt + 1
End If
Next i
End With
If tmpCnt = 0 Then
Create_AV = "- - -"
Else
Create_AV = tmpVal / tmpCnt
End If
End Function
Die
Function musst du in ein VBA-Modul deiner Mappe kopieren.
Mit "Alt"+"F11" den VB-Editor starten
Rechte Maustaste auf "Diese Arbeitsmappe" ( mit dem richtigen Namen der Mappe !! )
Einfügen - Modul
Doppelklick auf das eingefügte Modul
Einfügen des Codes
Die Funktion erwartet die Parameter
Kleinster Wert, Grösster Wert, Kleinste Breite, Grösste Breite
als Zellbezug.
Zum einfachen Kopieren, habe ich deshalb eine neue Zeile und eine neue Spalte mit dem Wert 0 eingebaut. Diese Zeile und Spalte kann dann ausgeblendet werden.
Gruss Rainer