ID tematu: 70195
 |
Szybkie filtrowanie i usunięcie danej wartości |
Autor |
Wiadomość |
jasper93
Świeżak

Wersja: Win Office 2016
Posty: 4
|
Wysłany: 20-02-2021, 13:48 Szybkie filtrowanie i usunięcie danej wartości
|
|
|
Witam.
Mam problem, z którym na moim poziomie Excela nie umiem sobie sprawnie poradzić.
W załączniku mam określone numery sklepów z czasem przejazdu do danej miejscowości.
Pomiary zostały wykonane kilkukrotnie, by czas przejazdu był bardziej realny.
Niestety wśród tych danych są "nierealne" czasy, gdzie po prostu z pewnych względów wyszły kosmiczne wartości.
Chciałbym właśnie te czasy, które wydają mi się nierealne usunąć.
Z racji tego, że ilość danych jest ogromna nie mam pojęcia jak to sprawnie zrobić poza filtrowaniem tego ręcznie.
Będę wdzięczny za wszelką pomoc.
Raport GPS-.xlsx
|
Pobierz Plik ściągnięto 2 raz(y) 596.52 KB |
|
|
|
 | ID posta:
400737
|
|
|
 |
|
|
|
Artik


Wersja: Win Office 365
Pomógł: 3091 razy Posty: 10240
|
Wysłany: 20-02-2021, 18:35
|
|
|
Statystyka, to nie mój ogródek. Więc z pewnością są inne/lepsze rozwiązania. Być może wypowiedzą się fachowcy. Ja w zasadzie tylko zagaję temat.
Na początek należało by określić jasper93 napisał/a: | czasy, które wydają mi się nierealne | Obliczeniom nie można nadać dowolności wyboru. One zawsze działają na konkretach. Pewnie niełatwo jest określić matematycznie co wyraźnie odstaje od realiów. Wzrokowo jesteś w miarę łatwo ocenić co znacząco odbiega od normy, ale i tak jest tu Twoja uznaniowość (zwróć uwagę na swoje "wydają mi się"). Bez problemów możemy ocenić, że w zbiorze 1,2,1,6,2 liczba 6 wyraźnie odstaje. Ale w zbiorze 1,2,3,1,2 jest to trudniejsze, biorąc jeszcze pod uwagę inne uwarunkowania (w nawiązaniu do Twojego zadania, to np. korki na drogach).
Do obliczeń należałoby określić jasno granice, poza którymi coś odrzucamy. Nie opracowałem zagadnienia do końca, ale początek mógłby wyglądać tak:
1. Dla każdego zakresu danych określ dolną granicę, poniżej której wartości odrzucamy: Kod: | =PERCENTYL(zakres;0,1) |
2. Podobnie z górną granicą Kod: | =PERCENTYL(zakres;0,7) |
Dzięki tym dwóm wartościom będziesz wiedział co z każdego zakresu danych odrzucić.
Czyli, najpierw należy wypracować algorytm, według którego wykonasz zadanie. A dopiero potem można się zająć zagadnieniem w jaki sposób to osiągnąć. Algorytm nie może się skończyć na stwierdzeniu "wydaje mi się".
Artik |
_________________ Persistence is a virtue in the world of programming. |
|
 | ID posta:
400749
|
|
|
 |
|
|
Marecki
Excel Expert


Wersja: Win Office 2019
Pomógł: 2494 razy Posty: 8280
|
Wysłany: 20-02-2021, 19:30
|
|
|
W oryginalnym załączniku widziałem że w drugim arkuszu w TP obliczasz średnią, więc może wystarczy użyć funkcji ŚREDNIA.WEWN
Ja swoje wyliczenia oparłem na tej właśnie funkcji.
Przyjąłem że odrzucamy 20% skrajnych wartości.
Jeśli chcesz zmienić tą wartość to w kodzie edytuj tą linie Kod: | Rng(1).Offset(0, 4).Formula = "=TRIMMEAN(" & Rng.Address & ", 20%)" |
Dla pokazania różnic w kolumnie "E" umieściłem zwykłą średnią, a w kolumnie "F" ŚREDNIA.WEWN .
W kolumnie "G" masz pokazaną różnice pomiędzy tymi średnimi.
W komórce "J1" możesz kombinować z czasem - jaką tolerancję chcesz przyjąć względem średniej.wew.
Czy dobrze, nie wiem.
Sprawdź sam.
Makro nie jest demonem prędkości
Aaaaa, w sieci znalazłem jeszcze takie rozwiązanie -> 'https://www.howtogeek.com/400211/how-and-why-to-use-the-outliers-function-in-excel/
Raport GPS v1.xlsm
|
Pobierz Plik ściągnięto 4 raz(y) 779.26 KB |
|
_________________ Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.
Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki. |
|
|
 | ID posta:
400757
|
|
|
 |
|
|
jasper93
Świeżak

Wersja: Win Office 2016
Posty: 4
|
Wysłany: 20-02-2021, 21:43
|
|
|
Ok, dziękuje za odpowiedzi co do Makra, to niestety nie działa dostaje błąd Object doesn't support this property or method. Używam Excela 2016. |
|
 | ID posta:
400769
|
|
|
 |
|
|
Marecki
Excel Expert


Wersja: Win Office 2019
Pomógł: 2494 razy Posty: 8280
|
Wysłany: 20-02-2021, 22:04
|
|
|
jasper93, spróbuj zamienić: Kod: | .Sort.SortFields.Add2 Key:=Range("A2:A" & lRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal | na Kod: | .Sort.SortFields.Add Key:=Range("A2:A" & lRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal | czyli usunąć 2 z Add2. |
_________________ Hardware - ta część komputera, którą można kopnąć kiedy software przestanie funkcjonować.
Szkolenia z Excela , FB
Office 2019 Professional Plus , Windows 10 x64
Pozdrawiam, były mkkk23 teraz Marecki. |
|
|
 | ID posta:
400772
|
|
|
 |
|
|
jasper93
Świeżak

Wersja: Win Office 2016
Posty: 4
|
Wysłany: 20-02-2021, 23:01
|
|
|
Ok, dziękuje teraz działa. |
|
 | ID posta:
400774
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
 |
Strona używa plików cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe
|