Ve sloupci A mám skutečný zisk a v C mám teoretický zisk. Potřebuji do B zjistit o kolik řádků je skutečný zisk zpožděný za teoretickým.
Např: skutečný zisk A24=6873 měl být dosažen teoreticky již v C17. Takže rozdíl mezi řádky 24 a 17je 8 řádků (včetně řádku 24). Viz příloha. (Kde je záporná hodnota, tam si dosadím třeba X)
Ve VBA to umím vyřešit jednoduše, ale chtěl bych nějaké řešení přímo ve vzorcích pokud je to vůbec možné, nějak nevím kudy do toho...
//úprava názvu
//mmm
EXCEL: jak zjistit kolik je řádků mezi dvěma řádky Vyřešeno
EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
- Přílohy
-
- zisky.xls
- (28 KiB) Staženo 29 x
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Mozne reseni, byt krkolomne je v priloze.
- Přílohy
-
- zisky1.xls
- (46.5 KiB) Staženo 47 x
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Tak klobouk dolů, tohle bych tedy nevymyslel....
Tak jsem to zkouknul, a jestli jsem to dobře pochopil, tak se musí vždy označit sloupec C a nechat setřídit.
Oni se ty výsledky totiž často mění, takže jsem potřeboval aby to fungovalo automaticky přes vzorce. Takže mi asi nezbude nic jiného, než to spouštět řešit VBA, pro uživatele to bude asi pohodlnější (a hlavně bez přemýšlení...)

Oni se ty výsledky totiž často mění, takže jsem potřeboval aby to fungovalo automaticky přes vzorce. Takže mi asi nezbude nic jiného, než to spouštět řešit VBA, pro uživatele to bude asi pohodlnější (a hlavně bez přemýšlení...)
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Pomocny sloupec je nutny, lze jej vsak generovat udalostni pocedurou a vzorce ve sloupcih F:J vnorit do sebe a vlozit do sloupce B:B pri pouziti dynamicke pojmenovane oblasti.
Mas zajem? Tak upresni v jakem smyslu se meni hodnoty ve sloupcich.
Mas zajem? Tak upresni v jakem smyslu se meni hodnoty ve sloupcich.
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Pokud to nebude problém, tak mám zájem, když už jsem se smířil s tím že bude makro. Událostní procedura, to asi bude makro, přepodkládám. Původně šlo o to, aby to byl sešit bez maker, ale už jsem tento záměr zrušil.
A změna hodnot ve sloupcích, to jsem myslel změnu počtů dat. V příloze jsem uvedenl 62 řádků dat, může jich být víc a nebo méně. (Ještě uvádím, že tyto dva sloupce jsou výsledkem vzorců, jen jsem ručně překopíroval do ukázky pouze hodnoty)
A změna hodnot ve sloupcích, to jsem myslel změnu počtů dat. V příloze jsem uvedenl 62 řádků dat, může jich být víc a nebo méně. (Ještě uvádím, že tyto dva sloupce jsou výsledkem vzorců, jen jsem ručně překopíroval do ukázky pouze hodnoty)
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky Vyřešeno
V priloze je sesit s resenim, poznamky na listu SUM. Otestuj se vzorci, ktere maji byt ve sloupcich A a C.
- Přílohy
-
- zisky1.xls
- (62 KiB) Staženo 31 x
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Tak jsem koukal do sesitu, ale asi tam bude nekde chyba. Například v B45 je hodnota -45 a má tam být správně 15. Když dám do A45 hodnotu 1000 tak už v B45 je správný výsledek 17. Koukal jsem, že sloupec E se vůbec nemění, jestli v tom nebude problém.
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Tezko lze posoudit, nebot asi mas jina data, v B45 je v prikladu v drive pripojene priloze hodnota 3 a nikoliv -45.
Priklad v priloze ma v B18 hodnotu -45, nebot nejblize vyssi hodnota ve sloupci C:C je v C64. Spravne by melo byt -47 (do poctu radku je zapocitan i radek se skutecnym ziskem jak pozadujes), asi bude nutno upravit vypocet rozdilu radku pro pripad, kdy teoreticky zisk ma index radku vyssi nez skutecny zisk. Protoze vsak v tebou uvedenem prikladu byl i rozdil roven 0 (nule) v B8, kdy teoreticky zisk je v C9 a skutecny v A8, neresil jsem, melo byt -2!
V priloze je prislusna uprava; protoze vysledny vypocet ma podminky, vnoreni funkci by jej zcela zneprehlednilo a zbytecne komplikovalo vzorec do sl B:B, je ponechan vypocet rozlozeny do sloupcu. Pripadne si vnor funkce ve sloupci H:H. Dale predpokladam, ze vzorce ve sloupcich A a C vraceji i hodnotu rovnu 0 (nula).
PS.: Jak je presne zadani, takovy je i vysledek, tezko predvidat, jake ma byt chovani v nedefinovanych stavech.
Priklad v priloze ma v B18 hodnotu -45, nebot nejblize vyssi hodnota ve sloupci C:C je v C64. Spravne by melo byt -47 (do poctu radku je zapocitan i radek se skutecnym ziskem jak pozadujes), asi bude nutno upravit vypocet rozdilu radku pro pripad, kdy teoreticky zisk ma index radku vyssi nez skutecny zisk. Protoze vsak v tebou uvedenem prikladu byl i rozdil roven 0 (nule) v B8, kdy teoreticky zisk je v C9 a skutecny v A8, neresil jsem, melo byt -2!
V priloze je prislusna uprava; protoze vysledny vypocet ma podminky, vnoreni funkci by jej zcela zneprehlednilo a zbytecne komplikovalo vzorec do sl B:B, je ponechan vypocet rozlozeny do sloupcu. Pripadne si vnor funkce ve sloupci H:H. Dale predpokladam, ze vzorce ve sloupcich A a C vraceji i hodnotu rovnu 0 (nula).
PS.: Jak je presne zadani, takovy je i vysledek, tezko predvidat, jake ma byt chovani v nedefinovanych stavech.
- Přílohy
-
- zisky1.xls
- (74 KiB) Staženo 24 x
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Asi jsem se nepřesně vyjádřil, já to beru pořád z tech vzorových dat, které jsem sem dal v prvním příspěvku. Ve Tvé první reakci z včera 13:55 je to správně: V souboru zisky1.xls v bunce J18 je správný výsledek hodnota 15. Ale v dalších souborech zisky1.xls (včera 23:15 a dnešní) je již v bunce J18 hodnota -45.
Takže se tam ve výpočtu asi něco změnilo.
Takže se tam ve výpočtu asi něco změnilo.
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Ve vypoctu se posledni upravou nic nezmenilo, jen jsem na konci pridal par zkusebnich polozek, kdyz je odstranis, dostanes puvodni hodnoty, jen v B8 nebude nula, ale minus dve, protoze teoreticky zisk je az v C9 a skutecny v A8, takze rozdil nemuze byt nula. Znovu opakuji, zadani nebylo uplne, nebylo popsano, jak se ma vypocet chovat pri vsech stavech. Co je navrzeno, tak jsem dovodil z ukazky, ktera nezhrnuje vsechny stavy. A postup je ukazkou, jak na to mas jit.
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Sorry, jsem nějakej natvrdlej po velikonocích..., teprve teď jsem to pořáně pochopil
. Mám ještě dotaz:
Ty sloupce "A" a "C" ve skutečnosti jsou ve sloupci "AE" a "AF". Takže stačí upravit proměnnou "ColCC" a "TmpEE" a na makro už nemusím šahat a bude to fungovat? (Vzorečky v buňkách upravím samozřejmě také, tomu rozumím)

Ty sloupce "A" a "C" ve skutečnosti jsou ve sloupci "AE" a "AF". Takže stačí upravit proměnnou "ColCC" a "TmpEE" a na makro už nemusím šahat a bude to fungovat? (Vzorečky v buňkách upravím samozřejmě také, tomu rozumím)
-
- Level 4
- Příspěvky: 1142
- Registrován: srpen 08
- Pohlaví:
- Stav:
Offline
Re: EXCEL: jak zjistit kolik je řádků mezi dvěma řádky
Jasne, musis upravit v pojmenovanych oblastech vzorce, zmenit sloupce. A abys nemusel zasahovat do VBA procedury, tady je zde upravena, pracuje pouze s pojmenovanymi oblastmi, nahrad v modulu listu, (pokud se zmeni nazev listu, musis upravit i proceduru Workbook_Open v modulu Tento_sesit):
Vzorecky v bunkach pracuji mimo jine take s pojmenovanymi oblastmi, takze minimum uprav.
Pokud by pri upravach doslo k chybe v behu procedury, muze nastat stav, kdy nebude obnoven prepocet listu, pouzij nasledujici proceduru:
Kód: Vybrat vše
Private Sub PomRozdilRadku()
Application.ScreenUpdating = False
On Error Resume Next ' pro stav, kdy je TmpEE prazdna
Me.Range("tmpee").ClearContents
On Error GoTo 0
Application.EnableEvents = False
' prenest hodnoty z ColCC do TmpEE a setridit
Me.Range("colcc").Offset(0, 2).Value = Me.Range("colcc").Value
Me.Range("colcc").Offset(0, 2).Sort Key1:=Me.Range("colcc").Resize(1, 1).Offset(0, 2), _
Order1:=xlDescending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Vzorecky v bunkach pracuji mimo jine take s pojmenovanymi oblastmi, takze minimum uprav.
Pokud by pri upravach doslo k chybe v behu procedury, muze nastat stav, kdy nebude obnoven prepocet listu, pouzij nasledujici proceduru:
Kód: Vybrat vše
Sub AEETrue()
Application.EnableEvents = True
End Sub
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 5
- 3270
-
od petr22
Zobrazit poslední příspěvek
24 dub 2025 23:01
-
- 2
- 12865
-
od Snekment
Zobrazit poslední příspěvek
29 led 2025 15:05
-
-
Problémy v síti na obrázku - proč nemůžou počítače komunikovat mezi sebou Příloha(y)
od zuzana3 » 25 pro 2024 20:33 » v Administrace sítě - 7
- 6510
-
od zuzana3
Zobrazit poslední příspěvek
25 pro 2024 22:23
-
-
- 1
- 6127
-
od atari
Zobrazit poslední příspěvek
07 kvě 2025 09:41
-
- 3
- 3812
-
od lubo.
Zobrazit poslední příspěvek
24 říj 2024 00:00
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů