< návrat zpět

MS Excel


Téma: Vypsání hodnot rss

Zaslal/a 3.5.2014 13:10

Zdravím, mám tu takový menší zádrhel, tak jsem se rozhodl napsat sem.

Řekněme, že mám ve sloupci A vypsány nějaké fráze (celkem třeba 100) ve sloupci B jsou k některým frázím napsané jedničky (1), nebo prázdná buňka. Potřeboval bych nějaký vzorec, který by vypsal pod sebe všechny fráze u kterých je jednička do sloupce C.

Dá se to pochopit co jsem myslel ? :)

Díky všem za reakce.

Zaslat odpověď >

Strana:  « předchozí  1 2 3   další »
#019330
Merlin99
Cmuch a Lubo díky za vysvetleni uz to chapu a funguje to skvele!citovat
#019332
Merlin99
Tak este jedna chybicka hraju si s tim a funguje to jen nekdy netusim...
chyba je v ty podmince >3 a <10 urcite
KDYŽ(ŘÁDEK()>COUNTIF($B$2:$B$11;1);"";INDEX($A$2:$A$11;SMALL(KDYŽ(($B$2:$B$11>3)*($B$2:$B$11<10);ŘÁDEK($B$2:$B$11);1000000);ŘÁDEK())))

myslim ze je problem v tom SMALL....viz soubor..
Příloha: rar19332_pokus2.rar (8kB, staženo 19x)
citovat
#019334
avatar
Pokud to chápeš, tak není problém.
Přesto malá nápověda:

Podívej se na původní vzorce.

1. K čemu ve vzorci slouží funkce COUNTIF? Má se něco změnit pokud máš 2 podmínky?

2. K čemu je 2. funkce ŘÁDEK? Má něco být jinak, když vzorce posuneš?

3. K čemu slouží 1. a 3. funkce ŘÁDEK? Má něco být jinak, když vzorce posuneš?citovat
#019339
Merlin99
Nejak sem se do toho zamotal a zacal jsem znova

KDYŽ(($B$2:$B$11>3)*($B$2:$B$11<10);A2;"")

timto vzorcem je procedim ale uz nevim jak se seradit... Jedine jim priradim hodnoty a pak dam LARGE ale to neni moc elegantni..citovat
#019340
Merlin99
Tak prez pomocny sloupce jsem to obesel hezky ale problem nastva kdyz jsou cisla stejny pote mi to zanamena pouze prvni hodnoty a to vzdy kdyz se opakuje to duplicitni cislo ... příloha 6
Příloha: rar19340_pokus2.rar (8kB, staženo 19x)
citovat
#019343
avatar
Takže jsi nic nepochopil.

Zadání znělo: Vypsat texty z řádků splňujících nějakou podmínku.

Texty snadno získám pomocí funkce INDEX, musím je jen najít.

Výraz
KDYŽ(($B$2:$B$11>3)*($B$2:$B$11<10);ŘÁDEK($B$2:$B$11)-ŘÁDEK($B$2)+1;10E7
vrátí vektor, ve kterém v případě splněné podmínky je pozice hledaného textu a pokud podmínka splněna není, je tam hodně velké číslo (nezáleží jak velké, stačí, když je větší, než je velikost prohledávaného pole)

Nalezené pozice jsou unikátní (jak by to vypadalo při hledání v řádku?)

Celé nalezené pole do funkce INDEX dát nemůžeme (technicky vzato můžeme, ale výsledek obvykle nebude vypadat pěkně, můžeš to zkusit).

Proto vybíráme hodnoty postupně. Pomocí funkce SMALL vybereme nejnižší pozici, potom druhou nejnižší. Můžeš pro každý řádek výstupu napsat samostatný vzorec s konstantou nebo pomocí funkce ŘÁDEK (pokud je výstupem sloupec) si spočítat, kolikátou pozici vypisujeme.

Tj. poslední funkce ŘÁDEK pokud výstup začíná na prvním řádku udává pořadí vypisované hodnoty. Pokud výstup začíná na 2. řádku a necháš jen ten řádek, tak začneš vypisovat od druhé hodnoty, ... Je to nutno upravit.citovat
#019344
Merlin99
jojo nechame to byt uz mi to hlava nebere =D ale urco to nekomu pomohlo ...citovat
#019407
avatar

lubo napsal/a:

=KDYŽ(ŘÁDEK()>COUNTIF($D$1:$D$100;1);"";INDEX($A$1:$A$100;SMALL(KDYŽ($D$1:$D$100=1;ŘÁDEK($D$1:$D$100);1000000);ŘÁDEK())))

=KDYŽ(ŘÁDEK()>COUNTIF($D$1:$D$100;1);"";INDEX($B$1:$B$100;SMALL(KDYŽ($D$1:$D$100=1;ŘÁDEK($D$1:$D$100);1000000);ŘÁDEK())))

=KDYŽ(ŘÁDEK()>COUNTIF($D$1:$D$100;1);"";INDEX($C$1:$C$100;SMALL(KDYŽ($D$1:$D$100=1;ŘÁDEK($D$1:$D$100);1000000);ŘÁDEK())))

Obecně nedoporučuji používat vzorce, pokud jim nerozumím.


Tak jsem ještě narazil na problém, když jsem chtěl vzorce použít na ostro :(.

Jde o to, že slova na vypsání jsou ve sloupci B. Přesněji řečeno řádek 33569, jedničky jsou ve sloupci F řádek 33569. Posunul jsem ten řádek o 2, tak jak tady někdo psal, ale furt to nefunguje.

=KDYŽ(ŘÁDEK()-2>COUNTIF($E$3:$E$3568;1);"";INDEX($B$3:$B$3568;SMALL(KDYŽ($E$3:$E$3568=1;ŘÁDEK($E$3:$E$3568);1000000);ŘÁDEK()-2)))

Co sem udělal špatně? Díky moc!citovat
#019408
avatar
nakopíroval jsem tu špatný vzorec - tenhle je ten "správný"

=KDYŽ(ŘÁDEK()-2>COUNTIF($F$3:$F$3568;1);"";INDEX($B$3:$B$3568;SMALL(KDYŽ($F$3:$F$3568=1;ŘÁDEK($F$3:$F$3568);1000000);ŘÁDEK()-2)))citovat
#019409
avatar

lubo napsal/a:

...malá nápověda...
2. K čemu je 2. funkce ŘÁDEK? Má něco být jinak, když vzorce posuneš?
3. K čemu slouží 1. a 3. funkce ŘÁDEK? Má něco být jinak, když vzorce posuneš?

Takže když shrnem nápovědu od Luba.

2. Pokud máme oblast od 1.řádku nic se nemění
-pokud ji někam posunem tak oto posunem i počet řádků
-tzn. když budu mít oblast až od řádku 5 odečtu 4

3. Pokud chci výpis mít od 1. řádku nic se nemění
-pokud třeba od 3. řádku tak odečtu 2 řádky

Tak zkus a uvidíš.citovat

Strana:  « předchozí  1 2 3   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