Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  92 93 94 95 96 97 98 99 100   další » ... 122

@MirekCz: jj, presne o tom som hovoril, ale musíš vyskúšať, či je to aplikovateľné.

Každopádne, link ukladám, aby som to zas nemusel hľadať.. 1

eLCHa napsal/a:


@AL
Evaluate je fajn, zrovna nedávno jsem ji využil a vlastně ji používáte i vy (zápis [A1] místo Range("A1").value


njn, ja evaluate používam vo VBA, to je pravda, existuje ale i možnosť, ako evaluate použiť v pomenovanom vzorci (cez definované názvy). Pred nejakou dobou som to niekde na LinkedIn zahliadol a prišlo mi to hoodne zaujímavé, bohužiaľ, som ale lempl, tak som si neuložil odkaz a hľadať sa mi to nechce, mám len tušenie, že na riešenie tejto úlohy by sa to dalo použiť..
No a v tomto prípade, Evaluate nie je to samé, čo vo VBA, je to nejaký pozostatok MS Excel 4.0 macro

hm, a že by si sem dal vzor? No, ale prosíš pekne, tak tu máš nástrel. Najprv musíš odomknúť oblasť buniek, v ktorej to chceš aplikovať, potom zamknúť list (stačí zamknúť, bez hesla):

Do kódového okna listu, v ktorom to chceš používať, vlož nasledujúci kód (a uprav si v ňom oblasť, pre ktorú to chceš aplikovať):Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyRange As Range, Isect As Range
Set MyRange = [A1:M100] 'tu si urci oblast, v ktorej chces to zamykanie uplatnit
Set Isect = Intersect(MyRange, Target)
If Not Isect Is Nothing Then
ActiveSheet.Unprotect
If Target.Value <> "" Then
Isect.EntireColumn.Locked = True
End If
ActiveSheet.Protect
End If
Set MyRange = Nothing
Set Isect = Nothing
End Sub

cez udalosť Worksheet_Change, aby sa to necyklilo, tak budeš musieť asi ešte zamedziť spúšťaniu udalostí cez EnableEvents = False

Mno, musím sa Pavlusa trochu zastať, páč to jeho riešenie viacmenej funguje...

Ja na rozdiel od Opičáka zadaniu asi rozumiem, ale riešenie na úrovni excel bez VBA nepoznám.
Tuším, že by to mohlo ísť cez pomenované vzorce, možno s funkciou Evaluate, ale v tej oblasti dosť tápam.
Určite by to šlo prostr. VBA, kde by si si tie jednotlivé varianty (v príklade tie 3 funkcie), zapísal do nejakého poľa, trebárs, a z neho potom vyberal cez select case...
Súhlasím ale s Opičákom v tom, že spôsob, ktorý volíš, je v každom prípade dosť krkolomný.

Uprav si stĺpec s číslom zásielky tak, že č. zásielky doplníš do každého riadku:
F5-special-blank cells
do takto vybraných zapíšeš =
šípka nahor
ctrl+enter

ďalej je to brnkačka, pozri sa na riešenie v prílohe

Funkcia CONVERT
v starších verziách Excelu budeš potrebovať doinštalovať doplnok Analysis ToolPak.

No, úplne najjednoduchšie: na tom druhom liste riadiť prostredníctvom hodnoty checkboxu vlastnosť visible toho-ktorého obrázku.

@Elcha: kde bude pozice první nenulové hodnoty ve sloupci variabilní.
njn, ale toto nutne neznamená, že data nezačínajú na riadku 1, chápem to tak, že na riadku 1 môže byť nula 1 a prvá nenulová hodnota inde...

@Elcha: "Pokud oblast nezačíná na řádku 1, tak to vypadá, že vám to nepočítá dobře"
jj, ale v zadaní bolo, že sa týka celých stĺpcov, t.j. od riadku 1.. Každopádne, to sa dá ľahko upraviť, pokiaľ oblasť nezačína na 1. riadku, všade, kde je vo vzorci Riadok, je potrebné odpočítať prvý riadok oblasti data a pripočítať 1.
Skôr ma trápi, že pokiaľ tam sú prázdne bunky alebo nenumerické hodnoty, tak to nepočíta správne, takže vzorec by po zapracovaní uvedených eventualít znovu trochu nabobtnal.

@Opičák: s deliteľom samozrejme pravda, som to prekombinoval trochu 1

Inak ale, snažil som sa odstrániť volatilné funkcie, preto Index, nie Posun, tým pádom je môj vzorec dlhší, než tie Vaše..

A nakoľko mi v predošlých veziách vadila prítomnosť volatilných funkcií, tak som sa hecol a tu je výsledný pokus, mám za to, že už pomerne príjemný na používanie:

=SUMA(INDEX(Data;LARGE((Data<>0)*ŘÁDEK(Data);COUNTIF(Data;"<>0"))):INDEX(Data;LARGE((Data<>0)*ŘÁDEK(Data);COUNTIF(Data;"<>0")-4)))
/
COUNTIF(INDEX(Data;LARGE((Data<>0)*ŘÁDEK(Data);COUNTIF(Data;"<>0"))):INDEX(Data;LARGE((Data<>0)*ŘÁDEK(Data);COUNTIF(Data;"<>0")-4));"<>0")

Vlastne, zjednodušiť sa to dá a dokonca do už celkom udržiavateľného tvaru:

=SUMA(NEPŘÍMÝ.ODKAZ(ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0"));SLOUPEC(Data))&":"&ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0")-4);SLOUPEC(Data))))
/
COUNTIF(NEPŘÍMÝ.ODKAZ(ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0"));SLOUPEC(Data))&":"&ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0")-4);SLOUPEC(Data)));"<>0")

-4 znamená priemer z piatich
-5 by bol priemer zo šiestich atd
(opäť maticový vzorec)

@Opičák:Jistě přijde někdo s "jednobuněčným" řešením.
Tak v tomto prípade už som bol dosť na pochybách, či sa to dá dostať do jednej bunky. Dá, i keď využiteľnosť je prinajmenšom diskutabilná:

=PRŮMĚR(NEPŘÍMÝ.ODKAZ(ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0"));SLOUPEC(Data)));
NEPŘÍMÝ.ODKAZ(ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0")-1);SLOUPEC(Data)));
NEPŘÍMÝ.ODKAZ(ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0")-2);SLOUPEC(Data)));
NEPŘÍMÝ.ODKAZ(ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0")-3);SLOUPEC(Data)));
NEPŘÍMÝ.ODKAZ(ODKAZ(LARGE(((Data<>0)*ŘÁDEK(Data));COUNTIF(Data;"<>0")-4);SLOUPEC(Data))))

pochopiteľne, maticovo 1

cez funkcie Index a Column (Stĺpec), v podstate niečo na spôsob =IF(ISNUMBER(INDEX(Sheet1!$B$24:$B$100; COLUMN()));INDEX(Sheet1!$B$24:$B$100; COLUMN());"" )


Strana:  1 ... « předchozí  92 93 94 95 96 97 98 99 100   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

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28