Srednia ważona problem

Użytkowanie arkusza kalkulacyjnego
bubak
Posty: 2
Rejestracja: ndz lis 07, 2010 11:56 pm

Srednia ważona problem

Post autor: bubak »

Witam, mam problem z policzeniem średniej ważonej w arkuszu.
Problemem jest głównie ułożenie danych mianowicie:
w jednym wierszu są wagi w kolejnych wartości im odpowiadające. Policzenie średniej nie było by problemem gdyby były to 3 wartości jest ich jednak o wiele więcej. Zastanawiam się jak można by policzyć coś takiego (jednak nie mogę zastosować transponowania macierzy). Czy istnieje możliwość traktowania wiersza jako kolumny a kolumny jako wiersza bez transponowania macierzy? Bardzo proszę o pomoc.
OpenOffice 3.1 na Windows Xp
Jan_J
Posty: 4626
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Srednia ważona problem

Post autor: Jan_J »

Dlaczego nie użyjesz {=suma(a1:a10*b1:b10)/suma(a1:a10)} ?
(Składnia tablicowa, zatwierdzenie Ctrl+Shift+Enter.)
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
giedol
Posty: 38
Rejestracja: śr lip 02, 2014 9:11 pm

Re: Srednia ważona problem

Post autor: giedol »

Wracam do tego tematu.

Jak zrobić aby liczył średnią ważoną tylko dla pozycji a1:a10 większych od zera?
OpenOffice 4.1 na Windows 7
Jan_J
Posty: 4626
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Srednia ważona problem

Post autor: Jan_J »

Średnia z wybranych: =suma.jeżeli(wartości; warunek) / licz.jeżeli(wartości; warunek) [1]
Średnia ważona: =suma(wartości * wagi) / suma(wagi) <Ctrl+Shift+Enter>
Średnia ważona z wybranych: =suma(wartości * wagi * warunek) / suma(wagi * warunek) <Ctrl+Shift+Enter> [2]

[1] warunek ma (nieelegancką) postać tekstu, np. ">0" -- w cudzysłowach
[2] warunek jest wektorowym wyrażeniem o wartościach zerojedynkowych, np. (wartości > 0) -- bez cudzysłowów, bezpieczniej w nawiasie
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
giedol
Posty: 38
Rejestracja: śr lip 02, 2014 9:11 pm

Re: Srednia ważona problem

Post autor: giedol »

Dzięki, ale wciąż jeszcze to nie to. Próbowałem tej trzeciej opcji, ale liczy tak samo jak bez warunku.
mój przykład w załaczeniu
Załączniki
średnia ważona.ods
(13.01 KiB) Pobrany 306 razy
OpenOffice 4.1 na Windows 7
giedol
Posty: 38
Rejestracja: śr lip 02, 2014 9:11 pm

Re: Srednia ważona problem

Post autor: giedol »

Już rozwiązałem :-)

pomogło to:
=SUMA.ILOCZYNÓW(A2:C2*A1:C1;(A2:C2>0))/SUMA.WARUNKÓW(A1:C1;A2:C2;">0")

No to teraz właściwy problem ;-)

Jak stworzyć formułe która z listy danych wyciągnie mi te średnie ważone dla poszczególnych osób z listy.
Rozwinięty przykład w załączniku. Dochodzi dodatkowy warunek: nazwisko
Załączniki
średnia ważona1.ods
plik z dodanym warunkiem
(13.09 KiB) Pobrany 234 razy
OpenOffice 4.1 na Windows 7
Jan_J
Posty: 4626
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Srednia ważona problem

Post autor: Jan_J »

giedol pisze:Próbowałem tej trzeciej opcji, ale liczy tak samo jak bez warunku.
Bo w mianowniku nie masz wyboru wg warunku. Funkcja suma.warunków załatwia sprawę, ale jest to nowy wynalazek, nie w każdym arkuszu będzie dostępna.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
giedol
Posty: 38
Rejestracja: śr lip 02, 2014 9:11 pm

Re: Srednia ważona problem

Post autor: giedol »

zobacz post powyżej please - edytowałem problem
OpenOffice 4.1 na Windows 7
Jan_J
Posty: 4626
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Srednia ważona problem

Post autor: Jan_J »

giedol pisze:No to teraz właściwy problem ;-)
1. Przeorganizuj dane, tak by obiekty mieć w wierszach, a cechy w kolumnach. Są trzy powody: 1. na ogół obiektów jest więcej niż cech; 2. czytanie i przewijanie długich wierszy męczy; 3. wymiana informacji z systemami baz danych opiera się analogii rekord <--> wiersz.
2. w wierszu dot. danej osoby wpisz formułę, w której
* adresy Twoich dotychczasowych obliczeń zostaną zablokowane (albo znakami $, albo nadaniem nazw kolumnom)
* w warunku będzie odwołanie postaci blok_nazwisk = nazwisko, czyli np. $A$2:$A$1000 = F2 (jeżeli bieżące nazwisko jest w F2)
* w takich warunkach użycie macierzowej składni formuł będzie prostsze i bardziej elastyczne niż nowych funkcji typu suma.warunków.
3. Powiel obliczenie dla pozostałych osób. Formuły macierzowe powiela się metodą Kopiuj/Wklej, przeciąganie robi co innego.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
giedol
Posty: 38
Rejestracja: śr lip 02, 2014 9:11 pm

Re: Srednia ważona problem

Post autor: giedol »

dzięki,
nie mogę przeorganizować danych, bo to jest potężny arkusz, dostosowany do pewnych szczególnych warunków.
Chyba jednak sobie poradziłem
Znalazłem takie rozwiązanie (załącznik)
Zobacz proszę czy tak będzie OK, ew. jakie jest zagrożenie rozsypania się tego pliku (w rzeczywistości jest kilkaset wierszy i kolumn)
Załączniki
średnia ważona1.ods
gotowy
(13.4 KiB) Pobrany 251 razy
OpenOffice 4.1 na Windows 7
Jan_J
Posty: 4626
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Srednia ważona problem

Post autor: Jan_J »

Jeżeli danych masz dużo i często prowadzisz analizy (oba pojęcia względne), to być może warto przenieść dane i wstępną obróbkę do systemu SQL-owego, a arkusza używać tylko do prezentacji wyników przygotowanych zapytań. Będzie sprawniej.
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
giedol
Posty: 38
Rejestracja: śr lip 02, 2014 9:11 pm

Re: Srednia ważona problem

Post autor: giedol »

Dzięki, może później. Na razie muszę zrobić to w arkuszach openoffice.
OpenOffice 4.1 na Windows 7
ODPOWIEDZ