Excel - Proč funkce vrací pouze 0?
Dobrý den,
Jeden list v jednom souboru začal vykazovat problém.
Pokud napíšu např. tuto funkci
=KDYŽ(COUNTIF(D2:D$3;"*")=COUNTIF(LIST!1:1048573;"POKUS"); "ano"; "ne")
Excel mně navrátí ano/ne, ale pouze 0.
Dříve k tomu nedocházelo a netuším, co jsem změnil, že na to mělo efekt.
Zkoušel jsem hledat, co to může způsobit, ale našel jsem pouze rozdílný formát buněk, tak jsem všem nastavil formát na obecný a nepomohlo to.
Jak to, prosím Vás, opravím?
Děkuji
Vzorec vrací 0, protože je zahrnut do prohledávané oblasti.
Vážně potřebuješ kontrolovat 17 179 869 184 buněk ?
Nepotřebuji. Jen jsem nechtěl psát nějaká nesmyslná čísla typu 1:666, ale prohledat prostě celý list a to číslo mně vyhodil google.
OK, hraj si. Přeji příjemnou zábavu.
Navrhuju použít metodu "step by step".
https://support.microsoft.com/cs-cz/office/vyhodnocení-vnořeného-vzorce-po-jednotlivých-krocích-59a201ae-d1dc-4b15-8586-a70aa409b8a7
To jsem zkoušel. Problém není ve vzorci, ale v konkrétním listu, na který se odkazuje.
No tak když víš, kde je problém, tak už jen stačí ho opravit.
Jenže vědět, kde vzniká problém a jak ho opravit, jsou dvě rozdílné věci.
Otázne je, či si uvedomuješ, čo ten vzorec vykonáva.
Vysvetli, čo si chcel, aby ten vzorec robil.
A ak k tomu určite predtým nedochádzalo, tak bol ten vzorec určite iný.
Jde o to, že nefunguje žádný vzorec pracující s konkrétním listem, ale netuším proč.
v tom je excel zákeřný. když mu nový formát nastavíš dodatečně, on to proti očekávání neopraví.
protože v redmontonu ví lépe, co by tam eventuálně mohlo být za data. typicky když si na základě hodnoty excel rozhodne, že místo textu je tam číslo nebo datum.
nebo tam mohl zůstat formát buňky po předchozích pokusech s tabulkou.
takže pofiderní buňku smazat, nastavit žádoucí formát, hodnotu vložit znovu.
V tomto případě je v tom excel nevinně, problém je v tazateli a jeho řekněme nestandardních vzorcích (požadavcích), stačí se podívat na jeho předešlá vlákna.
Ona i ta oblast prohledávání 17 179 869 184 buněk na výskyt slova pokus je tak trochu sci-fi, nehledě na to, že samotný vzorec umístí do této oblasti.
Ten vzoreček byl ryze pro příklad. Chtěl jsem prostě jenom prohledat celý list a tohle mně hodil Google. Pokud to použiji na jiném listu, funguje to správně.
No vidíš, problém vyřešen. Použij ho na jiném listu.
Co třeba, že nemůžu, protože potřebuji pracovat s daty, které jsou na konkrétním lístu?
Ve vzorci nemůžeš použít buňku, ve které ten vzorec je.
Ano, to vím a taky to nedělám.
Právě že děláš.
Tohle excel náhodou uměl, říkalo se tomu cyklický odkaz a mělo to i nějaká rozumná použití (i když v 99,9999% takový vzoreček skutečně vzniknul omylem, a ta rozumá využití jsou spíš škloní cvičení, která se dají provést korektněji). To LO mě s takovým vzorcem rovnou vyhodí, žádné iterace nebo něco takového.
Excel snad neprohledává 17 milionů buněk, on ví, kde mu data končí. Takový vzoreček vznikne tí, že člověk dá vybrat od aktuálního místa do konce, což bývávalo 65535, v lo calc milion a kolik má excel nevím (já mám 2003 a ten má těch 65 tisíc). Osobně na takové rozsáhlé struktury dat a výpočty na nich používám už léta Matlab, takže mě toto omezení excelu netrápí (ten je na výočty dost pomalý, pokud začně tabulka bobtnat). Jo prohledávat takové kvantum, to by dalo excelu zabrat, asi by přešel do režimu výpočtů na vyžádání. Ale už jsem kolikrát zažil, že jsem vzoreček naddimenzoval na řekněme B5:B9999 a po nějaké době jsem se divil nad výsledky, když jsem se najednou odstal nad 10 tisíc položek.