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

Array

Array
20.06.2002 08:30:55
Ralf
Hallo Leute,
ich habe weiter unten Code meines Programmes eingefügt. Dieser liest aus der Spalte A1 und C1 jeweils 8 Zahlen ein in ein Array und gibt mir am Schluß den berechneten Wert "KorrKoeffQuad" in einer Msg Box aus. Mein Problem ist, das er es komplett für alle 8 Werte macht, ich möcht aber diese Berechnung 2 mal durchführen und zwar von Array(1) bis Array (4) und dan noch mal von Array(5) bis Array(8). Zum Schluß sollen also zwei Werte in der Msg Box stehen. Wie krieg ich das hin :-( ??
Der Code:
Private Sub CommandButton1_Click()

MsgBox (Str(berechnung(X)))
End Sub


Public Function berechnung(K)

'Arraylänge ermitteln
aeins = Cells(Rows.Count, 1).End(xlUp).Row
azwei = Cells(Rows.Count, 3).End(xlUp).Row
ReDim arreins(aeins)
ReDim arrzwei(azwei)


' Erstes Array einlesen
For spalteeins = 1 To aeins
arreins(K) = Cells(spalteeins, 1).Value
K = K + 1
Next spalteeins

'Zweites Array auslesen
For spaltezwei = 1 To azwei
arrzwei(l) = Cells(spaltezwei, 3).Value
l = l + 1
Next spaltezwei

'Arrayelemente aufsummieren (Summe aller N)
For oeins = 1 To aeins
e = e + arreins(m)
v = arreins(m) * arreins(m) 'Arrayelemente quadrieren und summieren
w = w + v
m = m + 1
Next oeins


'Arrayelemente aufsummieren (Summe aller N)
For ozwei = 1 To azwei
f = f + arrzwei(n)
va = arrzwei(n) * arrzwei(n) 'Arrayelemente quadrieren und summieren
wa = wa + va
n = n + 1
Next ozwei


'Array X * Array Y
For t = 1 To aeins
q = arreins(b) * arrzwei(b)
y = y + q
b = b + 1
Next t
'Cells(10, 10) = y

'X quer ermitteln, Y quer ermitteln
Xquer = e / aeins
'Cells(10, 11) = Xquer
Yquer = f / aeins
'Cells(10, 12) = Yquer

'SX² und SY² ermitteln
SXquadrat = (w / aeins) - (e / aeins) ^ 2
'Cells(14, 6) = SXquadrat
SYquadrat = (wa / azwei) - (f / azwei) ^ 2
'Cells(14, 7) = SYquadrat

'Cov(X,Y) ermitteln
Cov = (y / aeins) - ((e / aeins) * (f / azwei))
'Cells(17, 6) = Cov

'R ermitteln
KorrKoeff = (Cov / (SXquadrat ^ 0.5 * SYquadrat ^ 0.5))
'Cells(17, 7) = KorrKoeff

'R² ermitteln (Bestimmtheitsmaß)
KorrKoeffQuad = (KorrKoeff ^ 2)
'Cells(17, 8) = KorrKoeffQuad

berechnung = KorrKoeffQuad

End Function

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Array
20.06.2002 10:47:38
Hans W. Hofmann
Hallo Ralf,

zu Deiner Funktion gibt es aus der Sicht eines Informatikers eine ganze Menge zu sagen - würde aber den Rahmen hier sprengen. Ich streiche deshalb die Programmierung und setzte die Formel
=INDEX(RGP(A1:A8;C1:C8;;WAHR);3)
dagegen. Die Bereiche für Deine Zwecke wirst Du ja anpassen können. Der Rest steht in der OH...

Gruß HW

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige