Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Excel zlúčenie 2 funkcií

Zdravím excelistov . Poradili ste mi ako sčítať čísla v bunke, kde je dátum. Ďalšia podmienka aby sa EŠTE sčítali číslice ak je súčet v B1 väčší ako 22 .

   A1              B1               C1
10.10.2010   10+10+2+0+1+0=23      2+3=5

Teraz by ma zaujímalo ako zlúčiť tie 2 príkazy , t.j. aby v B1 bol hneď správny výsledok teda 5

pre B1

=DAY(A1)+MONTH(A1)+(ROUNDDOWN(YEAR(A1);-3)/1000)+(ROUNDDOWN(YEAR(A1)-ROUNDDOWN(YEAR(A1);-3);-2)/100)+(ROUNDDOWN(YEAR(A1)-ROUNDDOWN(YEAR(A1);-3)-ROUNDDOWN(YEAR(A1)-ROUNDDOWN(YEAR(A1);-3);-2);-1)/10)+(YEAR(A1)- ROUNDDOWN(YEAR(A1);-3)-ROUNDDOWN(YEAR(A1)-ROUNDDOWN(YEAR(A1);-3);-2)-ROUNDDOWN(YEAR(A1)-ROUNDDOWN(YEAR(A1);-3)-ROUNDDOWN(YEAR(A1)-ROUNDDOWN(YEAR(A1);-3);-2);-1))

pre C1

=IF(B2<23;B2;ROUNDDOWN(B2/10;0)+MOD(B2;10))

Srdečná vďaka

Předmět Autor Datum
Funkcie zlúčiš rovnako ako v matematike, t.j. ak B1=f(A1) a C1=g(B1), tak C1=g(f(A1)). Takže v tom v…
los 24.07.2010 21:07
los
Ešte som zabudol, že existuje funkcia INT, takže vzorce by mohli vyzerať o malý kúsok jednoduchšie:…
los 24.07.2010 22:11
los
Preco to chces zlucit? Nejde to jednoducho zlucit. B1 mozes skryt, apod. Keby si to chcel zlucit mu…
MM.. 24.07.2010 21:11
MM..
ten tvoj som nemohol rozchodiť , asi to bolo mojou verziou excelu alebo čo . Srdečná vďaka za Váš ča…
romaker 24.07.2010 21:18
romaker
tak to co pise los vyssie je podobne jak to moje, ale s normalnym delenim, to by malo ist na kazdom…
MM.. 24.07.2010 21:22
MM..
Ešte /reverzná/ otázka , ;-) ak by som mal opačný problém , že by sam chcel aby mi excel vypisal vše…
romaker 24.07.2010 21:27
romaker
Taký problém by si mohol riešiť dvomi spôsobmi. Buď hrubou silou, t.j. vypočítaš si výsledky pre vše…
los 24.07.2010 22:12
los
Excel ti nevypise ziadne "vsetky neco". Na to by si si musel naprogramovat nejaky program. Inac tipu…
MM.. 24.07.2010 22:50
MM..
Vďaka za rady , skúsim to . poslední
romaker 24.07.2010 22:56
romaker

Funkcie zlúčiš rovnako ako v matematike, t.j. ak B1=f(A1) a C1=g(B1), tak C1=g(f(A1)). Takže v tom vzorci, ktorý máš v C1, nahradíš každé B1 vzorcom, ktorý máš v B1. Výsledný vzorec bude poriadne dlhý.

Vzorec pre B1 síce vypočíta správny výsledok, ale dá sa zapísať aj jednoduchšie:

=DAY(A1)+MONTH(A1)+ROUNDDOWN(YEAR(A1)/1000;0)+ROUNDDOWN(MOD(YEAR(A1);1000)/100;0)+ROUNDDOWN(MOD(YEAR(A1);100)/10;0)+MOD(YEAR(A1);10)

Výsledný vzorec by potom mohol vyzerať takto:

=IF(DAY(A1)+MONTH(A1)+ROUNDDOWN(YEAR(A1)/1000;0)+ROUNDDOWN(MOD(YEAR(A1);1000)/100;0)+ROUNDDOWN(MOD(YEAR(A1);100)/10;0)+MOD(YEAR(A1);10)<23;DAY(A1)+MONTH(A1)+ROUNDDOWN(YEAR(A1)/1000;0)+ROUNDDOWN(MOD(YEAR(A1);1000)/100;0)+ROUNDDOWN(MOD(YEAR(A1);100)/10;0)+MOD(YEAR(A1);10);ROUNDDOWN((DAY(A1)+MONTH(A1)+ROUNDDOWN(YEAR(A1)/1000;0)+ROUNDDOWN(MOD(YEAR(A1);1000)/100;0)+ROUNDDOWN(MOD(YEAR(A1);100)/10;0)+MOD(YEAR(A1);10))/10;0)+MOD(DAY(A1)+MONTH(A1)+ROUNDDOWN(YEAR(A1)/1000;0)+ROUNDDOWN(MOD(YEAR(A1);1000)/100;0)+ROUNDDOWN(MOD(YEAR(A1);100)/10;0)+MOD(YEAR(A1);10);10))

Ešte som zabudol, že existuje funkcia INT, takže vzorce by mohli vyzerať o malý kúsok jednoduchšie:

Pre B1:

=DAY(A1)+MONTH(A1)+INT(YEAR(A1)/1000)+INT(MOD(YEAR(A1);1000)/100)+INT(MOD(YEAR(A1);100)/10)+MOD(YEAR(A1);10)

Pre C1:

=IF(B1<23;B1;INT(B1/10)+MOD(B1;10))

Výsledný vzorec:

=IF(DAY(A1)+MONTH(A1)+INT(YEAR(A1)/1000)+INT(MOD(YEAR(A1);1000)/100)+INT(MOD(YEAR(A1);100)/10)+MOD(YEAR(A1);10)<23;DAY(A1)+MONTH(A1)+INT(YEAR(A1)/1000)+INT(MOD(YEAR(A1);1000)/100)+INT(MOD(YEAR(A1);100)/10)+MOD(YEAR(A1);10);INT((DAY(A1)+MONTH(A1)+INT(YEAR(A1)/1000)+INT(MOD(YEAR(A1);1000)/100)+INT(MOD(YEAR(A1);100)/10)+MOD(YEAR(A1);10))/10)+MOD(DAY(A1)+MONTH(A1)+INT(YEAR(A1)/1000)+INT(MOD(YEAR(A1);1000)/100)+INT(MOD(YEAR(A1);100)/10)+MOD(YEAR(A1);10);10))

Preco to chces zlucit? Nejde to jednoducho zlucit. B1 mozes skryt, apod.

Keby si to chcel zlucit musel by si kazde "B2" nahradit tym celym vzorcom v B2, cim by vznikol velmi dlhy vzorec. V tom pripade je jednoduchsie pouzit vzorec ktory som ti vtedy pisal ja, ptz je omnoho jednoduchsi jak to co tam mas teraz).

Ešte /reverzná/ otázka , ;-) ak by som mal opačný problém , že by sam chcel aby mi excel vypisal všetky dátumy , ktoré dajú výsledok po sčítaní číslo 5

Nedá mi konštatovať , že ste v exceli veľmi zbehlí .:i: Ja ho používam 10 rokov ale iba súčty , násobenie atď. Raz som ale "zostrojil" výplatnú pásku , komplet s odvodmi a daňami , pre zamestnanca na trv. pomer alebo na Dohodu . Problém bol len nájsť tie všetky zákonné % .

Taký problém by si mohol riešiť dvomi spôsobmi. Buď hrubou silou, t.j. vypočítaš si výsledky pre všetky dátumy, pre ktoré to chceš zisťovať, alebo nad tým pouvažuješ a zistíš postup (algoritmus), akým môžeš tie dátumy určiť "priamo" - do Excelu potom zapíšeš ten algoritmus ako makro, normálne vzorce už stačiť nebudú.

Excel ti nevypise ziadne "vsetky neco". Na to by si si musel naprogramovat nejaky program. Inac tipujem ze ich bude nekonecne vela, takze si naprogramujes nech program preskumava len nejaky rozsah datumov, ktory preskumas.

P.S> pokial chces len vyfiltrovat z datumov ktore uz v exceli mas zadane, tie ktore davaju sucet 5, tak mozes pouzit filtre excelu, alebo zoradenie podla slpca B.

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