Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel - vzorec nefunguje

Ahoj, mám vzorec

=KDYŽ(JE.ČISLO(SOUČIN.SKALÁRNÍ(IFERROR((MOD(SLOUPEC(E5:Q5)-4;6)=1)*(E5:Q5);0)));SVYHLEDAT(10;B3:B4;1);"")

ale nefunguje, protože je v buňce B5, tj. na stejném řádku. Když ho dám na jiný řádek funguje.

Jde to vyřešit jinak?

Děkuji

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Dobře, zkusím to znovu. 1. Jsem samouk a BFU. 2. Daný vzorec bude v buňce B5. 3. Potřebuju zjisti…
Pak 28.03.2021 21:54
Pak
3. Musi byt v kazde bunce (E5,K5,Q5) cislo aby byla podminka splnena, nebo je podminka splnena pokud…
Dwane Dibbley 29.03.2021 07:21
Dwane Dibbley
Podmínka je splněna pokud alespoň v jedné buňce je číslo.
Pak 29.03.2021 08:35
Pak
Rozumiem tomu dobre, že stačí, ak v jednej z x-tých buniek rozsahu E÷Q bude číslo od 0 do 10 a v tom…
robert13 29.03.2021 09:08
robert13
Pokiaľ platí moja predošlá odpoveď, tak tu máš výsledok (ktorý naplníš ako CSE do bunky B2 a potiahn…
robert13 29.03.2021 09:57
robert13
Ak by sa Ti nechcelo ani prekladať funkcie, tak aj to Ti posielam: Anglická verzia: =IF(OR(IF(ISNUM…
robert13 29.03.2021 10:54
robert13
Díky, funguje to skvěle. :beer: Dík hlavně za trpělivost. Značím vyřešeno.
Pak 29.03.2021 18:32
Pak
:beer: poslední
robert13 29.03.2021 18:53
robert13

Dobře, zkusím to znovu.

1. Jsem samouk a BFU.

2. Daný vzorec bude v buňce B5.

3. Potřebuju zjistit zda v buňkách E5, K5, Q5 je číslo nebo jsou prázdné. Myslel jsem že ty Buňky sečtu a použiju funkci JE.ČÍSLO. Ale pak jsem zjistil, že i když jsou buňky prázdné, vypadne z toho číslo 0. Proto jsem to pak porovnával s nulou <>0.
Myslel jsem že tato funkce která to zjišťuje bude jako podmínka u funkce KDYŽ.
Takže potřebuju zjistit zda v daných buňkách je číslo nebo ne. Není tam žádný vzorec.
Pak si to rozšířím podle potřeby.

4. Pokud podle bodu 3. zjistím, že tam není žádné číslo, popř. to sečte 0 tak podmínka u funkce KDYŽ bude Ne a do buňky B5 se zapíše "".

5. Pokud podle bodu 3. zjistím, že tam je jakékoliv číslo větší než 0 a rovno nebo menší než 10 tak pomocí funkce SVYHLEDAT najdu poslední hodnotu ve sloupci B a ta se zapíše do buňky B5.
Někdo tu psal ať to nezjišťuju a dám tam kopírovat buňku B4.
Já většinou každý den do jednoho řádku do buněk E5, K5, Q5 budu psát čísla. 1 řádek = 1 den. Ale některé dny tam nic psát nebudu. Předem nevím, které dny to budou. Jak pak zjistím jaká je poslední hodnota ve sloupci B?
Já na to používám funkci SVYHLEDAT, ale bylo mi tu vysvětleno že není k tomu určena. Také jsem dříve používal Funkce INDEX a POČET, nevý jestli jsou na to určeny.

6. Teď tu někdo napáše, aby sem nahrál tabulku. Ano to mohu. Ale jediné to v té tabulce bude je vzorec:

=KDYŽ(A(JE.ČISLO(A5);SUMA(KDYŽ(JE.ČISLO(E5:Q5);(E5:Q5);0)*(MOD(SLOUPEC(E5:Q5)-4;6)=1))<>0;POČET(E$3:E4)=POČET2(H$3:H4));SVYHLEDAT(9,99999999999999E+307;B$3:B4;1);"")

popřípadě

=KDYŽ(A(JE.ČISLO(A5);SUMA(KDYŽ(JE.ČISLO(E5:Q5);(E5:Q5);0)*(MOD(SLOUPEC(E5:Q5)-4;6)=1))<>0;POČET(E$3:E4)=POČET2(H$3:H4));SVYHLEDAT(9,99999999999999E+307;B$3:B4;1);"")

v buňce B5.

7. Ano, máte pravdu, zapomněl jsem sem napsat že mi to hází chybu ...sešit obsahuje cyklický odkaz...
Myslel jsem že bude stačit napsat co jsem napsal do dotazu tj.

ale nefunguje, protože je v buňce B5, tj. na stejném řádku. Když ho dám na jiný řádek funguje.

Myslel jsem že to bude jasné.

8. Čekám odpověď, tohle nebudu číst, ale kratším slohem to popsat neumím.

9. Snad jsem to popsal dost podrobně. Pokud to bude stále málo informací, už nevím co bych k tomu napsal.

Rozumiem tomu dobre, že stačí, ak v jednej z x-tých buniek rozsahu E÷Q bude číslo od 0 do 10 a v tom prípade bude v bunke B aktuálneho riadka zapísané najbližšie vyššie uvedené číslo v stĺpci B (pričom ono číslo udáva číslo predchádzajúceho riadka, v ktorom bola splnená podmienka pre ono predchodzie pole E÷Q?)

Pokiaľ platí moja predošlá odpoveď, tak tu máš výsledok (ktorý naplníš ako CSE do bunky B2 a potiahneš toľko nadol, koľko potrebuješ):
=IF(OR(IF(ISNUMBER(E2:Q2)*((E2:Q2)>0)*((E2:Q2)<10);1;0)*(MOD(COLUMN(E2:Q2)-4;6)=1));MAX(ROW($B$1:INDIRECT("B"&ROW()-1))*(($B$1:INDIRECT("B"&ROW()-1))<>""));"")

Čo to robí?:
Ak aspoň v jednej z x-tých buniek v rozsahu stĺpcov E až Q aktuálneho riadka je číslo, ktoré je v intervale (0;10), tak výsledkom v bunke B aktuálneho riadka bude číslo riadka, v ktorom je toto všetko splnené pre predošlý prípad

V prílohe máš ukážku. Toľko by si mohol dokázať, aby si aspoň natvrdo dokázal takto demonštrovať požiadavku...
Inak, je dosť drsné napísať, že si to po sebe ani nebudeš čítať, či je to zrozumiteľné. To Ti naša práca na rade pre Teba ani nestojí za to, skontrolovať po sebe zrozumiteľnosť a presnosť textu?

Ak by sa Ti nechcelo ani prekladať funkcie, tak aj to Ti posielam:

Anglická verzia:
=IF(OR(IF(ISNUMBER(E2:Q2)*((E2:Q2)>0)*((E2:Q2)<10);1;0)*(MOD(COLUMN(E2:Q2)-4;6)=1));MAX(ROW($B$1:INDIRECT("B"&ROW()-1))*(($B$1:INDIRECT("B"&ROW()-1))<>""));"")

Česká verzia
=KDYŽ(NEBO(KDYŽ(JE.ČISLO(E2:Q2)*((E2:Q2)>0)*((E2:Q2)<10);1;0)*(MOD(SLOUPEC(E2:Q2)-4;6)=1));MAX(ŘÁDEK($B$1:NEPŘÍMÝ.ODKAZ("B"&ŘÁDEK()-1))*(($B$1:NEPŘÍMÝ.ODKAZ("B"&ŘÁDEK()-1))<>""));"")

A to som pozrel po sebe ešte i druhýkrát... aj keď... zaslaný príklad to preloží automaticky...
Opakujem: zadať ako maticový vzorec!

Zpět do poradny Odpovědět na původní otázku Nahoru