Nebo na to máme funkci POSUN (x je počet řádků oblasti):=D5+SUMA(POSUN($G$4;0;0;x;1))=D5+SUM(OFFSET($G$4,0,0,x,1))
Odpověď jste si našel - ale bude fungovat jen pro oblast začínající na prvním řádku (což asi vyhovuje ;) )
Obecné řešení (n je v buňce B1):=SOUČIN.SKALÁRNÍ(A3:A32;(MOD(ŘÁDEK(A3:A32)-MIN(ŘÁDEK(A3:A32))+1;B1)=0)/1)=SUMPRODUCT(A3:A32,(MOD(ROW(A3:A32)-MIN(ROW(A3:A32))+1,B1)=0)/1)
@elninoslov
aha
mno pokud jde o tohle, tak v zadání bylo sloučení dvou objektů = tabulek - tedy včetně prázdných řádků. Pokud jsou na konci prázdné řádky a nepatří tam, tak jde o nesprávný způsob odstranění. Neřešil bych to v proceduře pro sloučení, ale v eventu a samostatné proceduře (bloku).
A ještě malá úprava toho prvního (vzestupné řazení) - pokud by byla všechna čísla větší než nula (jako je i v zadání), tak to funguje, pokud ne, je třeba tento vzorec=KDYŽ(C1="";"";IFERROR(SMALL($B$2:$B$13;1+COUNTIF($B$2:$B$13;"<="&KDYŽ(JE.TEXT(C1);MIN($B$2:$B$13)-1;C1)));""))=IF(C1="","",IFERROR(SMALL($B$2:$B$13,1+COUNTIF($B$2:$B$13,"<="&IF(ISTEXT(C1),MIN($B$2:$B$13)-1,C1))),""))
Nedal by sa ten vzorec urobiť s opačným radením ?
Vyzkoušejte=KDYŽ(C1="";"";IFERROR(LARGE($B$2:$B$13;1+COUNTIF($B$2:$B$13;">="&KDYŽ(JE.TEXT(C1);MAX($B$2:$B$13)+1;C1)));""))=IF(C1="","",IFERROR(LARGE($B$2:$B$13,1+COUNTIF($B$2:$B$13,">="&IF(ISTEXT(C1),MAX($B$2:$B$13)+1,C1))),""))
PS2: Pre SK uživateľov - treba v anglickom vzorci zmeniť "," na ";".
Pro vkládání anglického vzorce do slovenského excelu (pokud je tam více těch středníků ;) ) můžete stejně jako do českého použít tento trik
http://elcha-en.blogspot.com/2015/01/easy-and-quick-formula-translation.html
Musí to být maticovým?
=KDYŽ(C1="";"";IFERROR(SMALL($B$2:$B$13;1+COUNTIF($B$2:$B$13;"<="&KDYŽ(JE.TEXT(C1);0;C1)));""))=IF(C1="","",IFERROR(SMALL($B$2:$B$13,1+COUNTIF($B$2:$B$13,"<="&IF(ISTEXT(C1),0,C1))),""))
@eXMarty
to bych případně pak viděl ve VBA
Mno - pokud už byste tam cpal VBA (nebo už ho tam máte), tak bych to udělal celé kódem. MSQuery bych tam dával jen, pokud tam kód není a nechcete ho tam a chcete to automaticky. Omlouvám se, ale musel bych se na to kouknout a to teď nestíhám (s MSQuery zase tolik zkušeností nemám), takže více zatím neporadím.
@elninoslov
2 eLCHa : To ma nenapadlo. Stále je tam ale potrebné dorobiť Resize Tabuliek, tak ako som robil ja, rovnako ako OnChange s kontrolou iba tabuliek. Bez toho to nieje dobré. Díky za motiváciu.
Nerozumím ;)) . Naopak - já myslím, že je to hotovo - nic víc není třeba. Max vypnete kalkulace a možná i screenupdating, dáte to do change eventu...
@kalisci
Jestli mohu doporučit, tak raději
TotalCommander nebo FreeCommander (používám já) a jistě i další programy mají tuto funkci integrovanou. Tyto 2 pod klávesovou zkratkou CTRL+M - než spustíte, vidíte výsledek. Pokud by nevyhovovalo, tak něco podobného jako napsal Dingo (přijde mi, že na to jde trochu komplikovaně, ale výsledku by asi dosáhl) - zkoušet se mi to nechce ;)))
elninoslov napsal/a:
Tie Tabuľky (objekty) to všetko komplikujú
není zač
není zač
Zdravím příteli
Bez přílohy můžeme pouze střílet.
Zkontroluje výsledek výrazu Val(ComboBox8.Value)Val("123") = 123, ale
Val("a") = 0
a tady tuším zakopané morče.
@eXMarty
Jak jste na tom s MSQuery (SQL)?
Teď jsem krátce otestoval. Pokud první tabulku pojmenujete jako Tab_1 a druhou jako Tab_2, tak zdá se, že funguje příkaz
SELECT * FROM Tab_1 UNION SELECT * FROM Tab_2
Nemám moc času, zkuste si s tím pohrát - popřípadě někdo pomůže (AL? ;)) )
zbrucha
"=SUM(R[" & x & "]C:R[" & y & "]C)"
Hodina = CInt(Application.WorksheetFunction.Text(Cells(1, 1).Value, "[h]"))
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.