< návrat zpět

MS Excel


Téma: vořená fce když rss

Zaslal/a 31.3.2010 23:29

marcinko.janDobrý večer, řešil sem takovou zajímavou úlohu a zajímal by mě váš názor.
Podívejte se na přiloženou tabulku. Jednalo se o vzestupně, chronologické porovnání datumů,
tak jak jdou za sebou (data po sobě jdoucí mohli být stejný). Řešil jsem to pomocí fce "když" do které při správném výsledku byla vnořená další fce "když", která porovnávala následující data. Pokud byl vzorec vyhodnecen jako nesplňující podmínku zadání, tak to vypsano "nesedíXX", kde XX jsou sloupečky, mezi kterými není chronologický vzestupnost. To jen pro jednoduší dohledání haprujícího data.

=KDYŽ(C2>D2;"nesediCD";KDYŽ(D2>E2;"nesediDE";KDYŽ(E2>F2;"nesediEF";KDYŽ(F2>G2;"nesediFG";KDYŽ(G2>H2;"nesediGH";"ok")))))

Ve skutečnosti ta tabulka je mnohem obsáhlejší a musím porovnat několik desítek dat a to i na přeskáčku, ale to už pak jde jen o správné zapsání odkuzů na buňky. Ale princip je stejný.
Na vzorci je pak ještě aplikováno podmíněné formátování, ale to je jen kosmetická úprava pro lepší přehlednost.

Proto, kdyby někoho napadlo sofistikovanější řešení, mohl bych pro příště na podobný problém nahlížet z jiného úhlu. Díky za váš čas. S pozdravem

Příloha: zip1407_porovnani-datumu310310.zip (8kB, staženo 31x)
Zaslat odpověď >

#001408
Jeza.m
Ahoj,

v tvém vzorci porovnáváš vždy 2 sousední sloupce, ale co když rozdíl bude ve sloupcích D a H?
Dále ve vzorci používáš C2>D2, ale co když D2 bude větší než C2? :-) Například na řádku 3 máš co sloupec to jiná hodnota a přesto máš vyhodnoceno jako OK - Tady když už tak by bylo lepší použít C2<>D2.
Napadla mě například funkce A a každý s každým, sice ti to neřekne kde je rozdíl, ale porovná opravdu všechny.
=A(C2=D2;C2=E2;C2=F2;C2=G2;C2=H2;D2=E2;D2=F2;D2=G2;D2=H2;E2=F2;E2=G2;E2=H2;F2=G2;F2=H2;G2=H2)


další trochu zjednodušenou možností je suma všech / počet a porovnat to s třeba prvním sloupcem, ani zde ti to neřekne kde je rozdíl, jen že tam je rozdíl.

=KDYŽ(SUMA(C2:H2)/POČET2(C2:H2)<>C2;"KO";"OK")


Snad to k něčemu bude :-)
M@citovat
#001409
marcinko.jan
Zdravím, melo to jit chronologicky za sebou, takze v tuto chvili mi je k nicemu <> (nerovna se), pac to nekontroluje jestli je datum 1 mensi nez 2, 2 mensi nez 3, 3 mensi nez 4, atd.. A pokud bude, jak pisete, D2 větší něž C2, tak je to v poradku, pokud tedy bude D2 mensi nez E2.. Z vasi odpovedi mam pocit, ze jste nepochopil co je to chronoligycky, vzestupne. Datum uplne vlevo je nejstarší a v pravo nejmladší. Diky, za vase vzorce, ale ty tento problem moc nerozlousknou..citovat
#001410
Jeza.m
I to se může stát, že občas nepochopím zadání :-).
Pak je ten Váš vzorec OK. Já můžu nabídnou zas třeba ten s funkcí A :-), jen teda trochu upravenej.
=A(C2<=D2;D2<=E2;E2<=F2;F2<=G2;G2<=H2) přeci jen při použití vnořených KDYŽ to lze zopakovat asi jen 7x, kdežto v A lze použít až 30 podmínek. No a pro označení nesprávných buněk bych použil podmíněné formátování, tak aby neodpovídající buňky byly barevně označeny.

M@
Příloha: zip1410_porovnani-datumu310310.zip (9kB, staženo 31x)
citovat
#001411
marcinko.jan
Hmm díky moc, to vypadá dobře.. Nevim přesně jak je to u funkci A, ale u NEBO jde 1-255 podmínek, takže máte pravdu "když" moc neřeší.. S tim podmíněným formátem je to taky dobrej nápad..
Možná ještě jedna otázečka:

Co když nějaký datum chybi? Excel to automaticky bere za 0 a to je pro potřeby tohoto příkladu nežádoucí. Ovšem mě se to stát může a v tu chvíli se musí buňka přeskočit a porovnávat to s následující.. řešil jsem to manuálně, že do prázdné buňky jsem dal =(bunka nalevo). Nejde nějak excelu říct "pokud je prázdno? pokračuj na nejbližsí hodnotu do prava" (protože v některých případech chíbí třeba 5 datumů a v tu chvíli se stejně musí zachovat podmínka že 1. datum musí být menší než třeba 8. datum)citovat

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