BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

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

Alles zur Programmierung im LibreOffice.
Antworten
Ulrich
Beiträge: 18
Registriert: Do 2. Jan 2020, 13:46

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

Beitrag von Ulrich » Di 28. Jan 2020, 09:06

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
Zuletzt geändert von Ulrich am Di 28. Jan 2020, 23:24, insgesamt 1-mal geändert.

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

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

Beitrag von mikele » Di 28. Jan 2020, 11:31

Hallo,
???
Ein bisschen mehr Input als nur die Überschrift wäre schon sinnvoll ...
Gruß,
mikele

Ulrich
Beiträge: 18
Registriert: Do 2. Jan 2020, 13:46

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

Beitrag von Ulrich » Di 28. Jan 2020, 13:22

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

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

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

Beitrag von Wanderer » Di 28. Jan 2020, 19:23

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?
Zuletzt geändert von Wanderer am Di 28. Jan 2020, 22:13, insgesamt 1-mal geändert.
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

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

Beitrag von mikele » Di 28. Jan 2020, 21:35

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 ...
Gruß,
mikele

Ulrich
Beiträge: 18
Registriert: Do 2. Jan 2020, 13:46

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

Beitrag von Ulrich » Di 28. Jan 2020, 23:22

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

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

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

Beitrag von Wanderer » Mi 29. Jan 2020, 07:52

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
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Ulrich
Beiträge: 18
Registriert: Do 2. Jan 2020, 13:46

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

Beitrag von Ulrich » Mi 29. Jan 2020, 12:53

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

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

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

Beitrag von mikele » Do 30. Jan 2020, 12:58

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.
Dateianhänge
interpolation zeit.ods
(26.56 KiB) 155-mal heruntergeladen
Gruß,
mikele

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten