Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Zdravim.Mam taky problem,ze mi zatial nikdo nevedel s tym pomoct.Jedna sa o scitavanie nul a jednotiek v jednom riadku,resp ich maximalnych hodnot,asi v40stlpcoch sa opakuju nepravidelne a chcem ze by do jednej bunky napr.A scitavalo max za sebou iducich nul a do bunky napr.B scitavalo max pocet za sebou iducich nul.priklad 001100111001010111000111101110.Dakujem.
Offline
↑ massbox:
Funkci =COUNTIF(oblast;kritérium) nelze použít?
Offline
↑ Jj:Prosim Vas mozete mi napisat presne ten vzorec na tu funkciu= COUNTIF,ako ho pouzit ,niekde su za sebou dve niekde tri nuly,ja chcem aby mi triedilo ten najvacsi pocet zasebou iducich nul.Dakujem,pre Jj.
Offline
↑ massbox:
Nutno si upřesnit, o co jde. Vašemu dotazu rozumím takto:
Ve vymezené oblasti jednoho řádku excelovského listu máte uvedena čísla 0 nebo 1 (žádná jiná čísla ani jiné hodnoty, nevyplněné buňky a pod.).
Chcete zjistit, max. počet za sebou jdoucích nul, tento vložit do určené buňky.
Rozumím dobře tomu, že ve Vámi uvedeném příkladě by se do jedné z určených buněk (A) uložilo číslo 3 jako maximální počet za sebou jdoucích nul?
001100111001010111000111101110
A co ukládat do druhé určené buňky (B) - v dotazu uvádíte, že vlastně totéž.
V jaké verzi Excelu pracujete?
Teď se mi zdá, že COUNTIF na to asi vhodná nebude, ale něco vymyslíme. Případně mi můžete poslat mailem sešit Excelu, kde byste řádek "vzorově" vyplnil.
Offline
↑ Jj:Zdravim.Ano pochopili ste ma spravne s tymi nulami a v bunke B som sa pomylil,tam by sa scitavali zase max pocet jednotiek,takze v A nuly a v B jednotky.Dakujem.Ozaj je to excel 2007,ale uz chystam instalovat najnovsi.Je to vlastne statystika a este musim spomenut,funguje to v cca40stlpcoch napr riadok3 VYHRY, a kym manualne do riadku1 prislusneho stlpca nenahram jednotku,tak to zratava len do tohto stlpca,je to stytystika zapasov ,vyhry,prehry atd,napr zapas 1 do riadku 1 1stlpca oznacim 1 a v riadku3 mi uz po spraveni vzorcoch vyhodi 1,ako vyhru a v bunke A by mi po riadkoch ukazovalo najvacsie snury povedzme vyher,to su tie jednotky a nuly,aby som to manualne nemusel nahadzovat.Dakujem,dufam sa z toho vymotate.
Offline
↑ massbox:
Taky mám Excel 2007. Pouvažuji o tom a podle Vašeho popisu zkusím zpracovat v sešitu Excel, který bych Vám dnes nebo zítra poslal mailem. Myslím, že tak se dá nejrychleji upřesnit, co by Vám mohlo vyhovovat.
Offline
Zdravím
Ano, COUNTIF se použít nedá. Bude nutné vytvořit novou uživatelskou funkci pomocí VBA.
Šlo by to zhruba takto:
Přes Alt+F11 najet do vývojové aplikace VBA, tam v menu přes insert vložit nový Modul a do modulu překopírovat následující funkci. Když je funkce deklarována jako Public, lze ji pak používat normálně v Listu, jako kteroukoliv jinou fci. Použití je jednoduché =pocet_opakovani(1;C1:I1) - pocet_opakovani(číslo, které má hledat (0-255);oblast, kde má hledat)
Vyzkoušeno v Excelu 2010, ve funkci se nekontrolují vstupy, neošetřují se chyby (přetečení apod.)
Public Function POCET_OPAKOVANI(znak As Byte, oblast As Range) As Integer
Dim max As Integer
Dim aktpocet As Integer
Dim bunka As Range
max = 0
aktpocet = 0
For Each bunka In oblast
If bunka.Value = "" Then Exit For
If CByte(bunka.Value) = znak Then
aktpocet = aktpocet + 1
Else
If aktpocet > max Then max = aktpocet
aktpocet = 0
End If
Next bunka
If aktpocet > max Then max = aktpocet
POCET_OPAKOVANI = max
End FunctionEDIT: opravil jsem logickou chybu v kódu
Offline
↑ Jj:Zdravim,takze vosiel som cez insert do MOdul,vyhodilo mi modul 2 a tam som to skopiroval ten cely code co tam ste napisal,ale neviem ci spravne a kde to uvidim,pod akou funkciou,nie som az tak dobry v tychto veciach.
Offline
↑ massbox:
Po zkopírování do Modulu už ta funkce je přístupná přímo v buňce. Po zadání =po , mi excel už rovnou nabídne novou funkci pocet_opakovani v kontextovém výběru. Přinejhorším budeš muset vypsat celý název funkce.
Offline
Opravil jsem logickou chybu v kódu
takto by měl vypadat editor VBA po vložení funkce do Modulu (Class Modul je na něco jiného)
Offline
↑ massbox:
musíš tam zkopírovat opravený kód, psal jsem, že jsem tam původně měl logickou chybu
Offline
Stránky: 1