Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  17 18 19 20 21 22 23 24 25   další » ... 122

Vsak hej.
1. Naimportuje data.
2. Refreshne Query table (refresh uz moze byt sucast Vba scriptu)
3. Vo Vba vyhodnoti cez Match(BunkaVstlpciA,zoznamZqueryTable,0) poradie, to scriptom rovno zapise do BunkaVstlpciA
Predosly prispevok som doplnil, mozno si nepochopil, ako som to myslel s poradim argumentov u Match..

Jj, to by slo 1. Eventualne nie replace, ale do prazdnych rovno zapisat nulu.

Pomocou Match predsa urcim poziciu bunky zo stlpca A v zozname z Query table, v ktorej mam unikatne hodnoty uz zotriedene. Inymi slovami, match mi uz urci ziadane poradie hodnoty bunky v stlpci A.. Pisem uz z mobilu, lezim v posteli.
Ten unikatny zoznam z Query table bude druhym argumentom funkcie Match, prvym bude hodnota bunky zo stlpca A..

Pokial ale udalost nastane z dovodu nakopirovania hodnot napr. zo schranky, ktora bude obsahovat i obsah prazdnych buniek, tak cyklus asi nutny bude, pletiem sa?

Pekny kod.
MS Query zvlada Distinct i Order by, takze i cez MS Query by to asi bolo schodne..
Za pomoci MS Query vytvorit zotriedene unikatne hodnoty, potom vyuzit funkciu MATCH.

njn, si proste iný level :)

Pokiaľ by si ho chcel použiť vo VBA, tak cez Evaluate by to malo ísť, ale to asi vieš..

Trik na výpočet jedinečných hodnôt cez Sum(1/countif(oblast,oblast)) poznám už nejakú dobu z Walkenbachovej knižky. Vedel som, že to bude cesta, akurát som tam nedokázal zapracovať tú dodatočnú podmienku na Oblast<Bunka.

Cez VBA to nie je zložité. Šlo by napr.:
1. Skopírovať dáta
2. Odstrániť duplicity
3. Zotriediť
4. Následne využiť funkciu MATCH (pozvyhledat).

No, ale pokiaľ už máme vytvorený funkčný maticový vzorec, tak cez Evaluate, ako píšem úvodom:
Zadeklarovať si pole s počtom prvkov rovným počtu buniek, do ktorých sa ten výsledok má vložiť. Prvky poľa naplniť výsledkom toho maticového vzorca cez Evaluate. Následne to vyliať z poľa do stĺpca na liste.

Tak tomu hovorím pekný vzorec, Petře. Dá sa prípadne modifikovať:
=SUMA(1/(KDYŽ(Oblast<=Bunka;COUNTIF(Oblast;Oblast);9,999999999E+307)))

No vidíš, že to ide, keď sa chce :)

Makro trebárs takto:Sub Test()
[A2:D2].Copy
[A11:D11].Insert Shift:=xlDown
[A11] = [A11]
[C2].ClearContents
End Sub

Preco sa pytas na nieco, co staci vyskusat?

Overenie dát som nastavil v bunkách A2-A5.

nič na tom nie je, s trochou trpezlivosti to zvládneš

Asi len cez VBA

Sub test()
Dim myRng As Range
Set myRng = Selection.Cells(1, 1)
Debug.Print myRng.Height
Debug.Print myRng.RowHeight
Debug.Print myRng.WrapText
End Sub


Pokiaľ by si to chcel do vzorca, musel by si si napísať UDF.

No, riešenie písať zadarmo nebudem, ale skúsim naviesť.
Máš dobu OD - DO. (od - zahájenie, do - ukončenie).
1.Časy z poruchového lístku OD a DO upravíš na celé hodiny (neviem, ako to zaokrúhľujete).
2. Zistíš si, či je OD a DO v jednom dni, pokiaľ áno, tak doba riešenie je prostý rozdiel DO a OD. Je dobré si ešte strážiť, či sa časy OD a DO nachádzajú v pracovnej dobe, pokiaľ nie, tak OD a DO príslušne modifikuješ - posunieš na začiatok/koniec pracovnej doby, bude sa týkať B a C.

Ak OD a DO nie sú v rovnakom dni:
3. zistíš si dobu riešenia v prvom dni (datum OD do OD 24:00) a v poslednom dni (datum DO-1 24:00 do DO)
4. Zistíš počet celých dní (t.j. 0:00 až 24:00) medzi OD a DO - prostým rozdielom príslušných dátumov a časov, t.j. OD 24:00 a DO-1 24:00 v prípade kategórie A, v prípade kategórie B a C pomocou funkcie networkdays, a započítaš hodiny za tieto celé dni, v závislosti, či sa jedná o A (24 h) alebo B,C (10h)

5. Spočítaš sumu z bodu 3 a 4, eventuálne vezmeš hodnotu z bodu 2.

Takto získaný počet hodín porovnáš s požadovanou dobou podľa SLA v závislosti, či sa jedná o A, B, C.

Riešenie doporučujem rozfázovať do pomocných stĺpcov a keď budeš mať istotu, že to počíta správne, môžeš si to potom dať celé do jedného vzorca a medzivýpočtov sa zbaviť.

Uviesť si do profilu do znalostí: MS Office – Word, Excel, PowerPoint, Outlook – advanced a vytvoriť uvedenú tabuľku, tomu hovorím odvaha :)
Asi by bolo dobré v prvom rade zamyslieť sa nad štruktúrou vstupných dát, tam by som osobne začal ja. Asi nepredpokladáš, že niekto bude lúštiť, čo potrebuješ spočítať, z prílohy, z ktorej to nie je úplne jasné. Takže, chce to prílohu, ktorá dáva zmysel (je možné sa v nej orientovať) a trochu menej vágny popis problému. Hodne pomáha, pokiaľ človek zabudne na excel, ale popíše postup, čo potrebuje spočítať, v prípade, že by mal k dispozícii iba papier a tužku..
Nedávno tu niekto riešil spotrebu hodín (elektriny) v nočnom a dennom tarife, to by si mohla pre inšpiráciu, ako na to, asi použiť: http://wall.cz/index.php?m=topic&id=34403#post-34412. Ty nebudeš riešiť dobu nočného tarifu, ale dobu, ktorá sa nezapočítava do reakčnej doby (off-work hodiny, sviatky a víkendy).


Strana:  1 ... « předchozí  17 18 19 20 21 22 23 24 25   další » ... 122

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje