Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 22. 5. 2012 18:17:20

Matee
Člen
Registrace: 22. 5. 2012
Příspěvků: 1

Třídění a řazení dat - VYŘEŠENO

Dobrý den,
mám soubor z raw daty (>5000 řádků):

("datum vloženo jako text, ostatní jsou čísla")
Time_MM/DD/YY	Unit	Mode	Ch1	Ch2	Ch3	Ch4	Bat
04/11/12 11:38	8	2	23	9	5	255	219
04/11/12 11:59	5	2	15	255	10	4	215
04/11/12 12:01	0	2	15	5	5	20	214
04/11/12 12:11	7	2	15	13	14	255	215
04/11/12 12:16	3	2	14	0	59	29	214
04/11/12 12:17	A	2	48	14	1	62	219
04/11/12 12:29	4	2	17	12	12	255	214

potřeboval bych roztřídit data ze souboru dle "Unit"(0-A) a času a ve výsledku získat soubor s posloupností po 10 minutách pro každou UNIT:

Unit_1
Time_MM/DD/YY	Ch1	Ch2	Ch3	Ch4
04/11/12 11:50	17	3	4	20
04/11/12 12:00	17	3	4	20
04/11/12 12:10	17	3	4	20
04/11/12 12:20	17	3	4	20
04/11/12 12:30	17	3	4	20
04/11/12 12:40	19	1	4	19
04/11/12 12:50	19	1	4	19

Unit_2
Time_MM/DD/YY	Ch1	Ch2	Ch3	Ch4
04/11/12 11:50	12	3	41	20
04/11/12 12:00	12	3	42	20
04/11/12 12:10	13	3	41	20
04/11/12 12:20	14	3	41	20
04/11/12 12:30	14	3	41	20
04/11/12 12:40	13	1	42	19
04/11/12 12:50	12	1	43	19

Můj pokus vypadl tak že jsem data filtroval podle UNIT a pak následně funkcí =VLOOKUP podle času vytáhl data ze sloupců Ch1-Ch4 podle času.


Potřebuji 10 minutový interval, ideální by bylo mezery mezi hodnotami nevyplňovat hodnotou předchozí, ale posloupností dokud se neobjeví hodnota nová.


Problém je v tom, že pokud v raw datech není hodnota např. DATUM 12:50-12:59 VLOOKUP, nemá co přiřadit k hodnotě DATUM 12:50 a vloží mi chybné číslo.


Snad se mi podařilo vyjádřit dostatečně přesně, předem děkuji za pomoc.


Odkaz na soubor s daty: v Dropboxu


_______________________________________________________

Značím jako vyřešené


;o)

Editoval sedlacekdan (26. 5. 2012 18:44:50)

Offline

#2 22. 5. 2012 19:14:21

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 844

Re: Třídění a řazení dat - VYŘEŠENO

Tak nevím, jestli jsem to pochopil.

list:result by time

Za sloupec B vložte 3 nové:

C3: =MATCH($B3;sorted.$A$2:$A$1000;1)

D3: =COUNTIF($C$3:C3;C3)

E3: =COUNTIF($C$3:$C$5000;C3)

F3: =IF(D3=1;INDEX(sorted.$A$2:$J$1000;$C3;G$2);(INDEX(sorted.$A$2:$J$1000;$C3+1;G$2)-INDEX(sorted.$A$2:$J$1000;$C3;G$2))*(D3-1)/E3+INDEX(sorted.$A$2:$J$1000;$C3;G$2))


Předpokládám, že je vyjímečně máte více než jden vzorek v intervalu.

Ve sloupci C míte řádek s nalezenou hodnotou.

Ve sloupci D máte kolikrát se nalezený vzorek opakuje

Ve sloupci E máte celková počet opakování nalezeného vzorku

Ve sloupci F Pokud je to první výskyt vzorku, vypíše se příslušná hodnota.

Pokud je to opakovaná hodnota, provede se lineální aproximace hodnoty k následující hodnotě (snad jsem to nespletl)

Doporučuji na závěr zkontrolovat, zda hodnoty ve sloupci c rostou po jedné (pomocný sloupec s meziřádkovým rozdílem a filtrovat hodnoty větší než 1.

Pokud takové hodnoty existují v malém počtu, opravte ručně, jinak nutno přemýšlet dále.

Je to pomalé, předpokládám, že jde o jednorázový dopočet.

Offline

Zápatí