Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  107 108 109 110 111 112 113 114 115   další » ... 122

@marjankaj
cool :)
malá poznámka - nie je nutné prevádzať na text, funguje i v tvare:
=SUBSTITUTE(SUBSTITUTE(SUMPRODUCT(IF(A1:A10="vybráno";10^(10-ROW(A1:A10))));1;"A");0;"N")
ale to je len malý detail a ten vzorec je inak výborný

@marjankaj:
špatne,výsledkom má byť kombinácia A a N v dĺžke 10 znakov..

Marty: pokiaľ nechceš Excel vyložene znásilňovať formou povolenia cyklických odkazov a podobných zverstiev a zároveň nechceš pomocné bunky, tak ako ďalšia možnosť prichádza do úvahy UDF vo VBA. Je to funkcia na pár riadkov, záleží, či to stojí za trochu námahy (a v tom prípade musíš v súbore povoliť makrá).
Bohužiaľ, funkcia CONCATENATE nie je úplne vhodne napísaná, keby dokázala pracovať s oblasťami, tak by sa s ňou dalo kúzliť, v aktuálnej podobe je dosť bezzubá a trochu zbytočná.

@Marty:

dva mínusy (anglicky double unary) konvertujú (podobne ako funkcia N) logickú PRAVDU/NEPRAVDU na binárnu hodnotu 1/0, ktorú je možné použiť potom ako argument pre sumu (funkcia SUM totiž nedokáže spočítať hodnoty PRAVDA, NEPRAVDA, čiže najprv je nutná uvedená konverzia na 1 a 0). Pre rýchlejšie pochopenie skús do bunky zapísať PRAVDA (prípadne, u anglickej verzie TRUE) a do inej bunky --PRAVDA. V druhom prípade sa v bunke objaví 1.

Ten druhý odstavec chápeš správne, vzorec určí abecedné poradie vyjadrené poradovým číslom (to bolo trochu asi odbočenie od Tvojho pôvodného zadania, ničmenej, asi sa to dá pri Tvojom probléme použiť).

K tretiemu odstavcu - nič také, ako suma pre text v tvare, aký si načrtol, asi neexistuje. Ničmenej, dá sa to obísť reťazením:
V B1 zapíš: =KDYŽ(A1="vybráno";"A";"N")
Do B2 zapíš: =B1&KDYŽ(A2="vybráno";"A";"N") a skopíruj do B3-B10.
V B10 budeš mať výsledok.

Na prvý pohľad sa mi zdá, že chyba je v:
"TEXT; & cesta & \programy gordic\datové soubory\KOFF0001.TXT", Destination _
nemalo by tam byť náhodou:
"TEXT;" & cesta & "\programy gordic\datové soubory\KOFF0001.TXT", Destination _

Ja si bude stáť za svojimi číslami do doby, než Vy upresníte, čo hľadáte. Vysvetlím druhé číslo 11,6 voči Vami očakávaným 20%. Sama zmieňujete, že chcete odchýlky vážiť. Takže v 5 prípadoch z 5 sa skutočnosť rovná očakávaniu. Vo všetkých ostatných prípadoch sa skutočnosť líši od očakávania. Počet všetkých prípadov (očakávaných) je 43. 5/43=11,6%.

Rozklad prvej hodnoty 32,6% popíšem na prípade Tužiek v prvom Šuplíku: odchýlka je 20% na báze 10 (očakávaný počet). Tých 10 beriem ako váhu pre základ váženej odchýlky.

Váha 2. riadku je 5 pri odchýlke 0%
Váha 3. riadku je 5 pri odchýlke 40%

atd.
Úhrn váh (báz), činí 43, toto číslo predstavuje deliteľa v zlomku.

Povedzme, že hodnoty budú v oblasti A1:A3
súčet 2 najväčších získaš ako:
=sum(A1:A3)-min(A1:A3)

prípadne ako:
=MAX(A1:A3)+LARGE(A1:A3;2)

eventuálne ako:
=LARGE(A1:A3;1)+LARGE(A1:A3;2)

Povedzme, že očakávaný počet je v stĺpci C a skutočný v stĺpci D.
Priemerná odchýlka (pozor, nie štandardná odchýlka ako je definovaná v štatistike) skutočnosti voči očakávaniu:

=SUM(ABS(D2:D6-C2:C6))/SUM(C2:C6)

t.j. 32,6%

Pomer prípadov kedy skutočnosť sa rovná očakávaniu:

=SUM(C2:C6*(C2:C6=D2:D6))/SUM(C2:C6)

t.j. 11,6%

Oboje zadané ako maticový vzorec

no, mne sa rozsvietilo, ako hovorím, po tom, čo som uvidel ten obrázok na Excelplus.NET a následne som si spomenul že texty sa takto dajú vyhodnotiť 1

@marjankaj: on ma eLCHa namotivoval tým svojim obrázkom, som si hovoril, že to musí byť nejaká trivialita 1

mimochodom, modifikácia Tvojho riešenia na odchytenie duplicít do nematicovej formy by bola:

=COUNTIF(A$1:A$100;"<"&A1)+COUNTIF(A$1:A1;A1)

už to mám - poradie reťazcov sa dá zistiť nasledovne:

povedzme, že chcem vyhodnotiť abecedné poradie reťazcov v oblasti A1:A100

poradie budem zapisovať do stĺpca B, do bunky B1 zapíšem maticový vzorec: =SUM(--(A1>$A$1:$A$100))+1

skopírujem do oblasti B2:B100, výsledok je poradie v abecednom radení od A do Z 1

kto má odpor k maticovým vzorcom, môže použiť:

=COUNTIF($A$1:$A$100; "<="&A1) pre B1 a skopírovať dolu

na ten Excelplus.NET to vložím, akonáhle dostanem prístup..

Skús dať na začiatok

application.screenupdating=false

a na koniec

application.screenupdating=true

Páni, len poznámka: RANK určuje poradie člena v range , na výber x-tého člena v range je vhodná SMALL alebo LARGE. Prevod textu na číselnú hodnotu by som sa osobne snažil riešiť asi cez nejakú prevodníkovú tabuľku, prípadne pomocou fc CODE a MID, ale je to opruz a nejaký čas by to vzalo.

Skús to nahradiť nasledujúcim:Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Sheets("Deník").Activate
Rows("1:6000").EntireRow.Hidden = False

Columns("B:E").Select

With ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range("B1:E6000")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True


mám ale podozrenie, že uvedeným to nebude, i to pôvodné makro beží u mňa odhadom cca 2 sekundy

@eLCHa: to vyzera naozaj vkusne, velka poklona :)


Strana:  1 ... « předchozí  107 108 109 110 111 112 113 114 115   další » ... 122

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse