< návrat zpět

MS Excel


Téma: největší countif hodnota mezi řádky s +číslem rss

Zaslal/a 22.3.2013 19:02

Zdravím.
Mám tabulku s "+ čísly", "0", "- čísly" Hodnoty jsou v jednom sloupci(J2:J613)
Rád bych zjistil nejdelší počet za sebou jdoucích mínusových hodnot bez 0
s horní a spodní hranicí kladné hodnoty.
Prosím kdo dokáže poradit a nebo aspoň nasměrovat nějakou funkcí zabývající se rozmezím od kladné hodnoty do příští kladné hodnoty.
děkuji za odpověď Bougee

Zaslat odpověď >

Strana:  1 2   další »
#012449
Jeza.m
ne že by se nehodila tabulka s příkladem co by mělo vyjít, protože tohle bude jedině na makro.

M@citovat
icon #012450
avatar
@ jeza - protože tohle bude jedině na makro

ale nie, dá sa pomocou nejakých pomocných stĺpcov
prvý pomocný stĺpec - otestuje, či je hodnota v danom riadku záporná
druhý pomocný stĺpec - bude kumulovať počet záporných hodnôt v rade, čiže nejaké IF

vzorcom sa nájde maximum z druhého pomocného stĺpca, zistí sa adresa maxima cez MATCH, pre vysvetlenie dalšieho odstavca ju nazvem pracovne UADRESA

adresa začiatku toho rozsahu ako počet buniek od UADRESA mínus hodnota MAX

keď tak nad tým rozmýšľam, tak prvý pomocný stĺpec ani nebude potrebný 1

pokiaľ ma nebudú zaujímať tie adresy, ale len maximálny počet záporných hodnôt v rade, tak stačí druhý pomocný stĺpec a funkcia MAXcitovat
#012451
avatar
J2 = -2
J3 = 3
J4 = 0
J5 = -2
J6 = 0
J7 = -2
J8 = -1,5
J9 = 36
vysledek = 3
mezi kladnymi hodnotami byli celkem 3 minusove hodnoty
avsak chci zjistit jen pocet nejvice minusovych hodnot mezi dvema kladnyma hodnotamacitovat
icon #012452
avatar
Aby som iba nekecal, tak teda takto, zapisujem do stĺpca K:
[K2]=IF(J2<0;1;0)
[K3]=IF(J3<0;1+K2;0)
skopírujem po [K613]

maximum počtu záporných hodnôt v rade: =MAX(K2:K613)

prípadne si to douprav tak, aby to do výpočtu nezahrňovalo hodnoty, pokiaľ nie sú uzatvorené na konci kladnou, to by si mal zvládnuť

pozíciu začiatku a konca rozsahu týchto hodnôt zatiaľ neriešim, riešenie som načrtol v predošlom príspevkucitovat
#012453
Jeza.m
@ AL, ano pomocnými vzorci lze řešit spousta věcí, ale není to moc elegantní a dokonce si troufnu tvrdit, že tvůj popis nebude fungovat, tak jak máš napsáno. Teda fungovat bude jen do chvíle, než se mezi těmi kladnými čísly krom mínusových neobjeví nějaká 0.

No a abych ani já jen tak "nekecal", tak jsem zkusil makro viz. příloha.

M@
Příloha: zip12453_nenulova.zip (7kB, staženo 22x)
citovat
icon #012454
avatar
@ jeza, ja som netvrdil, že pomocný stĺpec je vrchol elgancie, ale je to jednoduché a bola to iba varianta k "nemožnosti" riešiť uvedené makrom. Ale nie je to elegantné, súhlasím.

Čo sa týka tvrdenia (ktoré je pochopiteľne správne): Teda fungovat bude jen do chvíle, než se mezi těmi kladnými čísly krom mínusových neobjeví nějaká 0., tak na svoju „obranu“ uvediem, že som vychádzal z pôvodného zadania, konkrétne z: Rád bych zjistil nejdelší počet za sebou jdoucích mínusových hodnot bez 0 s horní a spodní hranicí kladné hodnoty. a ten príklad, ktorý OP uviedol medzitým, som si už nevšimol. Čiže, moje vzorce to počítali tak, ako som si zadanie ja „preložil“, tj. počíta to len počty výskytov záporných čísel v rade, pokiaľ sa vyskytne nula, tak sa začne počítať od začiatku.

Pokiaľ to zadávateľ chcel inak (áno chcel, ale upresnil to až v nasledujúcom príspevku), tak budem namietať nejednoznačnosť pôvodného zadania.

mínusová hodnota bez 0 je trochu kostrbaté vyjadrenie, nula nie je mínusová hodnota.
Napadá ma jeden citát, ktorý som našiel nedávno: "Anyone who cannot speak clearly and simply should say nothing and continue to work until he can do so"

Pokiaľ ale teda s nulami, tak malá modifikácia vzorca nie je problém:

[K3]=IF(J3<0;1+K2;IF(J3=0;K2;0)),
prípadne"sofistikovanejšie":[K3]=IF(J3>0;0;(J3<0)+K2),
či:[K3]=(J3<0)+IF(J3>0;0;K2),
alebo:[K3]=(J3<0)+(J3<=0)*K2, skopírovať dolu.

V jednom máš určite pravdu, bolo by vhodné, aby sa OP naučili prikladať vzory. Inak je tu občas niekto z riešiteľov za toho, kto to vlastne riešiť nevie.citovat
#012455
avatar
Absolutne nechapu co tim vsim docilim.
vyzkousel jsem co jsi mi radil ale neudelalo to nic vic, nez ze to minusovym hodnotam priradilo hodnotu jedna a ostatnim hodnotu nula. porad nevim. k cemu mi to pomuze.
p.s. =max mi vychazi 18.6citovat
icon #012456
avatar
A vzorový súbor sem stále nedáš, že? Tak sa tým netráp a použi súbor od Jezy, ten môj opravený vzorec síce funguje, ale nejak nemám silu vysvetľovať princíp. (Vzorec v [K2] musí byť v tvare, v akom som uvádzal v pôvodnom príspevku, to je ale detail. I tak by tam ale chcelo ošetriť situáciu, kedy zoznam končí zápornou hodnotou, páč v tom prípade ten môj postup, tak, ako je navrhnutý, nefunguje na 100% a musel by si na to dávať pozor).
PS: Pokiaľ ti max vychádza 18.6 tak to je naozaj zaujímavé, keď počítaš počty výskytov v rade a to by mali byť celé čísla 1citovat
#012457
avatar
ale jak sem muzu vlozit svuj priklad?citovat
icon #012458
avatar
Musis sa zaregistrovat a prihlasit. Budes mat zeleny nick a budes moct vkladat prilohy (zazipovane). Alebo to upni niekam na ulozto, letecka posta apod. a sem vloz link. Ja idem spat, pokial sem das subor, tak tie vzorce donho vlozim az po tom, co vstanem. Co ti vadi na Jezovom rieseni? Je spolahlivejsie...citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje