» Poradna » Programy

Excel - změna směru funkce (z prava do leva)

 |   |  Microsoft Windows 7 Firefox 10.0.6

Ahojte,mám v excelu následující kód (viz níže), funguje tak, že pokud je vlevo číslo větší než 1, přičte vždy 1 do doby, než narazí na číslo menší než 1, tzn. 1, 2, 1, 0 = 3, a pokud je vlevo první číslo menší než 1, tak odečítá do té doby, dokud nenarazí na číslo větší než 1, tzn. 0, 0, 0, 0, 1 = -4.Otázke je následující: jde tuto funkci předělat tak, aby počítala zprava do leva a né jak teď zleva do prava?Díky za odpověďOption ExplicitFunction IncrDecr(Blk As Range) As IntegerDim Cll As Range, Tmp As IntegerIncrDecr = 0For Each Cll In Blk.Cells'------------------If Blk(1).Value = 0 Then If Cll.Value = 0 Then IncrDecr = IncrDecr - 1 Else Exit FunctionEnd IfEnd IfIf Blk(1).Value > 0 Then If Cll.Value > 0 Then If Cll.Value = "-" Then Exit Function End If IncrDecr = IncrDecr + 1 Else Exit FunctionEnd IfEnd If'--------------------Next CllEnd Function

Odpovědi na otázku

 |   |  Microsoft Windows XP Firefox 15.0.1

Odpověď je následující: ANO

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 10.0.6

Děkuji za odpověď. Logicky tedy musí následovat druhá otázka: je mi schopný sem někdo hodit kód, který obrátí tuto funkci (tedy počítání zprava do leva)?Děkuji

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 15.0.1

Logická druhá odpověď zní: ANO (mně se v tom hrabat nechce)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 15.0.1

Tak drž hubu, příteli, když sa ti v tom nechce hrabat

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 15.0.1

Pročpak? On se ptal, jestli NĚKDO JE SCHOPNÝ. A já jsem přesvědčen, že ANO, někdo je určitě schopný.Hlavně, že ty odpovídáš na dotazy tazatele.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 22.0.1229.79

Je vidět, že běžná komunikace mezi smrtelníky ti dělá potíže.Nepřímá otázka je formou zdvořilého projevu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP IE 7.0

Jen zhruba:Pro "obrácení" postupu je nutno nahradit cyklus "For Each Cll In Blk.Cells ..... next Cll" cyklemDim i as integerFor i = Blk.Cells.Count To 1 Step -1....( Cll.Value nahradit výrazem Blk(i) )....Next ia upravit ostatní indexy a hodnoty pro postupu "zprava"

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 10.0.6

Díky za odpověď. Bohužel podle tvého návodu to nejsem schopný dát dohromady, jelikož se ve VB vůbec nevyznám....

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows XP Firefox 15.0.1

Takže to vypadá, že budeš muset najít nějakého programátora VB najít a asi mu i něco zaplatit.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 22.0.1229.79

Já bych se snažil najít řešení bez makra.Popiš podrobněji strukturu těch dat. Počet sloupců je v tabulce stejný?Předpokládám, že v buňkách jsou pouze celá čísla. Můžou se vyskytnout záporná?První myšlenka je sloučit buňky do jednoho textového řetězce a na něm provést analýzu pomocí textových funkcí.Ale je potřeba znát ten obor hodnot.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 10.0.6

Bohužel to není tak jednoduché, záporné hodnoty se nevyskytují, ale může se v buňkách vyskytnout znaménko "-". Počet sloupců je stejný, dejme tomu vždy 20. Struktura dat může vypadat následovně:- - - - 0 1 2 0 0 - 4 - - - 2 = 20 - 1 1 1 3 - 1 0 0 0 1 2 0 0 - = -2- 0 1 - - - - 2 4 2 1 0 1 2 4 3 5 = 5- - - - - - - - - - 0 0 - 0 - 0 = -4v podstatě by se mělo počítat pouze s číslicemi, znaménko "-" se přeskakuje (do konečného výpočtu nezasahuje.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 22.0.1229.79

Zadání je toto:- pokud je vlevo číslo větší než 0, přičte vždy 1 do doby, než narazí na číslo menší než 1- a pokud je vlevo první číslo menší než 1, tak odečítá do té doby, dokud nenarazí na číslo větší než 0Buňky nabývají hodnot "0", "-" a kladných celých čísel.Je potřeba postup pro vyhodnocení zprava.Udělal jsem příklad pro těch tvých 15 hodnot.1. Přetransformoval jsem sloupce A-O do sloupců Q-AE, tak že hodnoty "0" a "-" zůstanou zachovány a všechny ostatní budou převedeny na "1"Q2: =KDYŽ(NEBO(A2=0; A2="-");A2;1)R2: =KDYŽ(NEBO(B2=0; B2="-");B2;1)2. Do sloupce AG jsem sloučil do řetězce hodnoty sloupců Q-AE v opačném pořadíAG2: =CONCATENATE(AE1;AD1;AC1;AB1;AA1;Z1;Y1;X1;W1;V1;U1;T1;S1;R1;Q1)3. Do sloupce AH jsem převedl hodnoty ze sloupce AG očištěné o znaky "-". Takže ve sloupci AH jsou hodnoty typu: 1100110, 0011000111110, ap.AH2: =DOSADIT(AG2;"-";"")4. Nyní je potřeba spočítat ve sloupci AG pro každou buňku počet úvodních jedniček nebo v záporné hodnotě počet úvodních nulAG2: =KDYŽ(ČÁST(AH2;1;1)="1";KDYŽ(JE.CHYBA(NAJÍT("0";AH2;1));DÉLKA(AH2);NAJÍT("0";AH2;1)-1);KDYŽ(JE.CHYBA(NAJÍT("1";AH2;1));-DÉLKA(AH2);-(NAJÍT("1";AH2;1)-1)))Je to trochu nepřehledné ale funguje to ve shodě s tvými příklady.Funkce KDYŽ() hledá příští výskyt nuly, pokud je na začátku jednička. Anebo výskyt příští jedničky, pokud je na začátku nula.Funkce JE.CHYBA ošetřuje případy samých nul nebo samých jedniček a dosadí počet rovný délce řetězce.Počet nul je opatřen zápornou hodnotou.Pokud bys ve funkci CONCATENATE() ve sloupci AG neotáčel pořadí, tak to počítá zleva, jinak to počítá zprava.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 10.0.6

Tak to je super, funguje přesně jak má. Ani jsem netušil, že to půjde vyřeštit bez makra.Díky moc!

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Exit, První číslo




Určitě si přečtěte

Photolemur 3: Prostě do něj přetáhnete fotky a začne se dít magie. Tedy údajně...

Photolemur 3: Prostě do něj přetáhnete fotky a začne se dít magie. Tedy údajně...

** Je lepší nabušený Photoshop, nebo program s jedním tlačítkem? ** Photolemur si myslí to druhé ** Tento fotoeditor neumí skoro nic, a přitom (skoro) všechno

Jakub Čížek | 19

Google má nové telefony, počítač a domácí displej. Česko je stále mimo

Google má nové telefony, počítač a domácí displej. Česko je stále mimo

** Google dnes představil novinky ** Dočkali jsme se nového telefonu Pixel 3, tabletopočítače a domácího displeje ** Rozšíření Google Assistenta do dalších zemí se bohužel nekoná

David Polesný | 45

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

Portál občana už funguje. Na státní web vypadá až překvapivě použitelně

** Portál občana už funguje, vyřídíte na něm první požadavky ** Funkce se budou postupně rozšiřovat ** Web je docela moderní a přehledný

David Polesný | 66

Lenovo přivezlo na IFA 2018 skutečné inovace. Tyto tři notebooky stojí za to

Lenovo přivezlo na IFA 2018 skutečné inovace. Tyto tři notebooky stojí za to

** Yoga C930 nabídne revoluční reproduktor v kloubu displeje ** Yoga Book C930 představuje zdařilý reparát podivného Yoga Booku ** ThinkPad X1 Extreme se může pochlubit extrémní výbavou v tenkém těle

Tomáš Holčík | 16

Praktické vychytávky, které si chcete doinstalovat do Windows

Praktické vychytávky, které si chcete doinstalovat do Windows

** Pokud vás nudí vzhled nabídky Start, snadno jej můžete změnit. ** Stejně tak existují programy na přidání záložek do programů. ** Spokojit se ani nemusíte se základním ovládáním hlasitosti.

Vladislav Kluska | 45

Vyzkoušeli jsme eObčanku a přihlásili se s ní na weby úřadů. Vážně to funguje!

Vyzkoušeli jsme eObčanku a přihlásili se s ní na weby úřadů. Vážně to funguje!

** Máme eObčanku, máme čtečku, vyzkoušeli jsme přihlášení na weby úřadů. ** Objevily se drobné problémy, podařilo se nám je vyřešit. ** Používání eObčanky pro online identifikaci je velmi pohodlné.

Marek Lutonský | 35

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

** Sonda LRO pořídila z oběžné dráhy Měsíce zajímavé snímky ** Jsou na nich vidět artefakty všech misí programu Apolla, které přistály na povrchu Měsíce ** Jde například o části lunárních modulů, rovery a dokonce i vlajky

Petr Kubala | 65

V doupěti hackerů na brněnské FIT: Ukázali nám útoky na Bluetooth i vlastní chytré krabičky

V doupěti hackerů na brněnské FIT: Ukázali nám útoky na Bluetooth i vlastní chytré krabičky

** Internet je plný malwaru, to už dnes ví každý ** Víte ale, že lze útočit třeba i na Bluetooth? ** Navštívil jsem hackery z brněnského FITu

Jakub Čížek | 1


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku