
OpenOffice Calc: speciální import dat
Mám k dispozici data (naměřený hodnoty v pracovních dnech) za několik let. Za volný dny data nejsou k dispozici, tj. v souboru není ani datum, ani nulová hodnota. Potřebuju pro každej den vypočítat průměrnou hodnotu. Data jsou ve formátu CSV, v pořadí datum, čárka, hodnota, Enter.
Problém je v tom, že se mění data pracovních dní. Např. rok 2001 má 1. prac. den 2.1, rok 2002 až 2004 taky, rok 2005 a 2006 má 3.1. V každým roce se liší data pracovních dní.
Hledám způsob, jak naimportovat data tak, aby se ke každému datu přiřadila nula v případě, že v daným roce není hodnota k dispozici (nebyl to pracovní den), jinak číselnou hodnotu toho dne v příslušným roce. Něco na způsob iterace, kdy se projde oblast dat a porovná se datum (obecný) s datem konkrétního roku a shodují-li se, pak použít změřenou číselnou hodnotu.
Pavel
musíš použít funkci VLOOKUP (ekvivalent SVYHLEDAT)
postup je takový, že naimportuješ data, uděláš si v jiném sloupci kompletní řadu datumů a pomocí VLOOKUP si najdeš ten odpovídající.
Vyzkoušel jsem si to a funguje mi toto:
v sloupci C mám kompletní řadu datumů (i se svátky)
v sloupci D počítám
v sloupci K mám naimportovaná data (test jen se 3 hodnotami na ř. 5-7)
v sloupci L mám hodnoty
pak vzoreček v sloupci D pro řádek 5 bude:
=IF(ISERROR(VLOOKUP(C5;$K$5:$L$7;2;0));0;VL OOKUP(C5;$K$5:$L$7;2;0))
Pokud se pamatuji, musí být tabulka ve které se hledá, být seřazena podle pole dle kterého se vyhledává od nejmenšího po největší (platí to myslím obecně jak pro SVYHLEDAT, tak VLOOKUP)
Díky, vyzkouším a ozvu se.
Pavel
Asi to bude fungovat, ale musím ještě vzít v úvahu, že součástí data je rok. Takhle nikdy ke shodě nedojde. Zapátrám, co s tím. Každopádně díky.
Pavel
Nevěda jak eliminovat rok, přenusul jsem datum měření o sloupec vlevo a do prázdnýho sloupce převedl datum původního roku na datum letošního roku
=c2+(1.1.2007-1.1.2001)
Není to univerzální vzhledem k roku měření ani k aktuálnímu roku, ale funguje to.
Pavel
Zdá se, že i tohle jde vyřešit:
=DATE(YEAR(TODAY());1;1)-DATE(YEAR(C2);1; 1)
je počet dnů, dělící 1.1. letošního roku od 1.1. měřenýho roku. Toto číslo (konstanta) se pak připočte k datu měřenýho roku a dostanu datum letošního roku.
Pavel