Seite 1 von 1

GELÖST : Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Di 28. Jan 2020, 09:06
von Ulrich
Guen Morgen,
Wenn garnichts hilft braucht man "hal5" einen Mittelwert.
Gibt es dafür eine Lösung ?? Formel ? Die Statistiker brauchen doch bestimmt so was öffter.
Danke scon mal für die Hilfe.
Ulrich

Re: Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Di 28. Jan 2020, 11:31
von mikele
Hallo,
???
Ein bisschen mehr Input als nur die Überschrift wäre schon sinnvoll ...

Re: Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Di 28. Jan 2020, 13:22
von Ulrich
hI mikele,
Ok und Entschuldigung.
Wenn in Zellle N10 z.B. 0 steht, möchte ich den Durchschn.-Wert der darüber liegenden Zellen verwenden.
Denn 3 - 6 m/s kommt man nicht auf Null. Der durchschnittswert würe reichen .
Ich hab schon mal so probiert,

Code: Alles auswählen

	
	 iZ  = 4
	 Zae = 5

	Do Until c = nZae
		
		For yZ = 1 To  nTo 				
			oZelle = oSheet.getCellByPosition (12,x-iz)
			nSpeed_Zae= nSpeed_Zae + ozelle.Value
			lKey = oNumberFormats.queryKey("0,00", oLocalSettings , true)
			oZelle.numberFormat = lKey
			If lKey = -1 then 
		    		lKey = oNumberFormats.addNew("0,00", oLocalSettings)
			end if
			oZelle = oSheet.getCellByPosition (12,x-iz)
			iz = iz -1
			yZ =  yZ + 1
			 If nZae > yZ Then exit
		Next  yZ
		
		
		Loop
komme aber da nicht raus. Habe nichts genaues über den Ausstieg gefunden.
Grüße Ulrich

Re: Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Di 28. Jan 2020, 19:23
von Wanderer
Hallo,
Habe nichts genaues über den Ausstieg gefunden.
Da ist auch nichts zu finden.
Deine Schleife läuft bis c=nZae und da diese Variablen sich in der Schleife nicht ändern sollte Sie endlos laufen.

MfG, Jörn

PS: Da von Zellen die Rede war, nehme ich an, das Calc gemeint ist. Für einen Mittelwert braucht man da aber kaum ein Macro?

Re: Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Di 28. Jan 2020, 21:35
von mikele
Hallo Ulrich,
es geht also weiter im Projekt (siehe auch hier viewtopic.php?f=12&t=26030&p=70423#p70423)
Ich ahne nach wie vor, was du vorhast, aber es ist unheimlich schwierig mit den scheibchenweisen Informationen klar zu kommen. Was spricht dagegen, uns beispielhafte Rohdaten zur Verfügung zu stellen? Dann könnte man auch den damaligen Thread zu Ende bringen ...

Re: Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Di 28. Jan 2020, 23:22
von Ulrich
Hi, micele,

Das Problem habe ich gerade gelöst, bin damit sehr zufrieden.
Bin da wie früher mal, etwas anders ran gegangen.
Dazu den entsprechenden Code.
Bezüglich meines vorhaben werde ich Code und Musterdatei mit Info "die Tage" einstellen.

Code: Alles auswählen

			If nSpeed_km <1.9 Then
				nZae = x
				   x = x-5
				   nZae = nZae

				Do While x < nZae
					oZelle = oSheet.getCellByPosition (12,x)
					lKey = oNumberFormats.queryKey("0,00", oLocalSettings , true)
					oZelle.numberFormat = lKey
					If lKey = -1 then 
			    		lKey = oNumberFormats.addNew("0,00", oLocalSettings)
					end if
		'			 If nZae > yZ Then
					nSpeed_2 = ozelle.Value
					nSpeed_Zae =nSpeed_Zae + nSpeed_2
					 nSpeed_2 = 0
					 x = x+1
					 If x >nZae Then exit Do
				Loop

'				Sub_Durchschnitt_Speed(nSpeed_2)				
				'Korrektur der fehlenden Point To Point m/s
				
				 nSpeed_m_2 = nSpeed_Zae/5
				oZelle = oSheet.getCellByPosition (12,x)
		
Ein Baustein fehlt noch. Werde ich jetzt anschließend angehen.
Grüße Ulrich

Re: Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Mi 29. Jan 2020, 07:52
von Wanderer
Ulrich hat geschrieben:
Di 28. Jan 2020, 23:22
...

Code: Alles auswählen

...
				Do While x < nZae
				...
					 If x >nZae Then exit Do
				Loop			
		
Hallo,
schön, dass Du weiterkommst.
Was mir auf die Schnelle aufgefallen ist war obige doppelte Schleifenbedingung.
Was bei x=nZae sinnvoll ist kannst außerdem nur Du wissen - die beiden Bedingungen sind eben nicht identisch...

MfG, Jörn

Re: GELÖST : Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Mi 29. Jan 2020, 12:53
von Ulrich
Hi Jörn,
gestern Abend war ich froh, das es so wie ich mir das vorstelle durchgelaufen ist.
Verschönerungen kommen dann, wenn ich das nächste Problem gelöst habe.
x = ZeilenZähler. Jede zu berichtigende Radroute hat ca 1500 - 2500 Zeilen. Der GPS-Tacker vergißt oder kann nicht
(gg. Wald oder Häuser) Routenpunkte setzen. Hat man wieder Kontakt werden die Routenpoints nachgetragen. Aber nicht die Zeit. Praucht man aber nun die Zeit zu den Punkten (wo bei es auf 10-20m nicht ankommt) um Bilder mit dem GPS-Point zu vertbinden, hat man ein Problem.
Daher übergebe ich x an den (iZae) Schleifen-Zähler um sicher zu gehen, dass an dieser Stelle weiter gemacht wird. Egal wo bei den viel Zeilen gerade die Lücke ist und Lasse diese bis x hoch zählen. Mit der so ermittelten Durchschnitsgeschw.-keit habe dann die " Piont To Point) gefahrenen Sek.-Diff. Es sind meißt mehrere Lücken, und leider auch 20 - 30 und viele am Stück.
Danke für dei Reaktion und das nächste Problem kommt bestimmt
Grüße ulrich

Re: GELÖST : Mittelwert aus max. 5 Zelle über der aktiven Zelle bilden

Verfasst: Do 30. Jan 2020, 12:58
von mikele
Hallo,
wenn ich es richtig verstehe, hast du in deiner Tabelle Orte und zugehörige Zeiten, aber manchmal fehlen die Zeitangaben, die du nun per Mittelwert schätzen möchtest.
Wäre es dann nicht sinnvoller, denn letzten Datensatz mit Ort und Zeit vor den Lücken und den ersten Datensatz nach den Lücken zu nehmen und daraus die Durchschnittsgeschwindigkeit zu bilden? Daraus lassen sich dann die fehlenden Zeitpunkte berechnen.
Anbei mal diese Kalkulation ohne Makro. Aufgrund der unterschiedlich großen Lücken wäre es noch in ein Makro umzusetzen. Zunächst muss aber klar sein, wie gerechnet werden soll.
Ergänzung: Die Mittelwertbildung bei Geschwindigkeiten ist nicht ganz simple. Angenommen, du fährst 50 km mit 25 km/h und dann 50 km mit 100 km/h. Dann hast du eine Durchschnittsgeschwindigkeit von 40 km/h! (obwohl der arithmetische Mittelwert von 25 und 100 natürlich 62,5 ist)
Erst 50 km mit 25 km/h und dann 100 km mit 100 km/h macht eine Durchschnittsgeschwindigkeit von 50 km/h.