Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel - pomoc s funkcí COUNTIFS

Pěkné dopoledne,
peru se tu s Excelem a funkcí COUNTIFS (která by měla být pro můj účel vhodná).
Mám sloupeček TIMESTAMP, který má formát "čas" a každá hodnota inkrementálně roste vždy o jednu minutu.
Dále mám sloupeček STARTMOMENT a ENDMOMENT, které jsou také formátu "čas". Tyto dva sloupečky definují časový interval "od - do" a každý nový řádek představuje nový interval.

Úkolem je pro každý TIMESTAMP spočítat, kolikrát se daný časový moment vyskytuje ve všech intervalech (řádcích) definovaných sloupečky STARTMOMENT a ENDMOMENT.

Mám to vyřešené už makrem, teď se pokouším o řešení vzorcem - protože to bude aplikováno na desetitisíce timestamps a intervalů...
Pokud vám to přijde povědomé, tak navazuji na starý thread - pouze jsem si dovolil to dát jako nový dotaz, ať neexhumuju starý thread...

Děkuji.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Jestli tohle jde dát do vzorce (vzorců) tak kloubouk dolů kdo sem dá funkční řešení. ;-) (ty interva…
TNT 19.11.2012 16:22
TNT
Těch timestampů bylo cca čtvrt milionu a intervalů kolem deseti tisíc. Běhal jsem to na i5, ale makr… nový
Moas 20.11.2012 07:30
Moas
Ještě jedna drobnost (a je mi už žinantní dávat nový dotaz)... Pokouším se celý vzorec s COUNTIFS vl… nový
Moas 20.11.2012 09:25
Moas
Zkus tohle: Range("X1").Formula = "=COUNTIFS(List1!R2C21:List1!R100000C21,""<=""&R[1]C1,List1!R2C22… nový
Siki83 20.11.2012 11:11
Siki83
Mám vyřešeno - stačilo středníky nahradit čárkami a vnitřní uvozovky zdvojit. poslední
Moas 20.11.2012 14:39
Moas

Jestli tohle jde dát do vzorce (vzorců) tak kloubouk dolů kdo sem dá funkční řešení. ;-) (ty intervaly ve vzorku se překrývají!)

Jak píšeš desítky tisíc timestampů a intervalů. Jak to dlouho jede přes makro? Jaký je poměr timestampů a intervalů? Na jakém počítači (procesor)? Jen pro zajímavost. Dík.

Těch timestampů bylo cca čtvrt milionu a intervalů kolem deseti tisíc. Běhal jsem to na i5, ale makro zdá se běhá jen na jednom jádru, resp. chápu, že to samo od sebe nebude vícejádrové. Každopádně večer jsem to pustil a ráno když jsem přišel do práce, tak bylo hotovo.
Losův vzorec vytěžuje všechna čtyři jádra a zdá se, že bude rychlejší, byť tedy i na zkušebním vzorku tisícovky timestampů a pěti stovek intervalů maká CPU asi tři minuty, než to propočítá. Ale aspoň jedou všechna jádra.

Ještě jedna drobnost (a je mi už žinantní dávat nový dotaz)...
Pokouším se celý vzorec s COUNTIFS vložit pomocí VBA do buňky X1. Použil jsem

Range("X1").Formula = "=COUNTIFS(SheetName!$U$2:SheetName!$U$100000;" <= "&$A2;SheetName!$V$2:SheetName!$V$100000;" >= "&$A2)"

Ale to nezabralo. Type Mismatch. Nejspíš se mu nelíbí vnořené uvozovky. Zkusil jsem tedy všechny čtyři výskyty vnořených uvozovek zdvojit, to nepomohlo. Našel jsem nějaké podobné situace na webu, ale nezadařilo se mi to zduplikovat pro moje potřeby.
Děkuji.

Zpět do poradny Odpovědět na původní otázku Nahoru