Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 9. 12. 2015 09:22:09

L.rumler
Člen
Registrace: 21. 1. 2008
Příspěvků: 7

Vynechání prázdných řádků (buňek)

Dobrý den,
prosím o pomoc při přenášení hodnot. Potřebuji prohledat řádky a zkopírovat pouze neprázdné hodnoty (tzn. vynechat prázdné buňky-řádky). V MicrosoftOffice je na to funkce IFERROR (např. " {=iferror(INDIRECT("a"&SMALL(IF(NOT(ISBLANK($A$1:$A$20));ROW($A$1:$A$20);"");ROW()));"")} "), ale v OpenOffice tato funkce není a s IF ISRERROR mi to nefunguje.
Zkrátka potřebuji prohledat řádky v jednom sešitě, kde jsou prázdné i neprázndé řádky (buňky) a do druhého sešitu přenést pouze neprázdné řádky (buňky).

     A         B
1   1         1
2           15
3           18
4  15    21
5  18    25
6  21    26
7           27
8   
9  25   
10 26   
11 27


Doufám, že je to jasné :-)
Děkuji

Pavel

Offline

#2 9. 12. 2015 09:30:11

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 503

Re: Vynechání prázdných řádků (buňek)

toto? =IFERROR(SMALL($A$1:$A$20;ROW());"") LO 5.0.2.2

resp.: {=IFERROR(SMALL($A$1:$A$20;ROW($A$1:$A$20));"")}

Editoval ludviktrnka (9. 12. 2015 09:33:52)


LibreOffice 5.2.2.2

Offline

#3 9. 12. 2015 10:28:16

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,526

Re: Vynechání prázdných řádků (buňek)

Mělo by to být asi takto?

=IFERROR("A" & SMALL($A$1:$A$20;ROW(C1:C20));"")

Samozřejmě vložit jako matici OTEVŘÍT EDITAČNÍ MÓD (například kurzor za vzorec + DEL) + CTRL+SHIFT+ENTER. Pak to vypadá následovně :

{=IFERROR("A" & SMALL($A$1:$A$20;ROW(C1:C20));"")}

     Do sloupce "C" se vypíšou všechny hodnoty ze sloupce "A". Vzorec je nasazen ve sloupci "C". Hodnoty mají předřazen název sloupce "A". Například A14, A15 a podobně.


     Při tom jsem narazil na chybu ve vzorci IFERROR a IFNA. To jsou nové vzorce a neumí vrátit alternativní hodnotu. Vrací vždy jen nulu. Dle popisu by měly vrátit cokoliv - například obsah jiné buňky a podobně. Nevrátí ani text, ani číslo přímo vepsané do vzorce.
     Potvrďte prosím tuto skutečnost. Našel jsem to na WinXP - LO 5.0.3.2. Je možné že to jinde funguje. Také je možné že to souvisí s výpočty pomocí grafické karty (Open GL) - tu mám vypnoutou.

Editoval neutr (9. 12. 2015 10:30:40)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#4 9. 12. 2015 10:34:01

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 769

Re: Vynechání prázdných řádků (buňek)

Pište verzi calcu.

bez iferror to vypadá např. tak:

=IF(ISERROR(INDEX($A$1:$A$11;SMALL(IF(ISBLANK($A$1:$A$11);100000000;ROW($A$1:$A$11));ROW())));"";INDEX($A$1:$A$11;SMALL(IF(ISBLANK($A$1:$A$11);100000000;ROW($A$1:$A$11));ROW())))

(maticově)

Podobné vzorce na přenášení dat mezi sešity nepovažuji za dobrý nápad. Obvykle filtr poslouží lépe.

Offline

#5 9. 12. 2015 10:35:23

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 503

Re: Vynechání prázdných řádků (buňek)

LO 5.0.2.2 win7 - iferror funguje zcela dle očekávání (vrací odkaz, text, hodnotu - asi cokoli)

jinak často jsem v těchto případech používal isnumber to funguje spolehlivě i ve starých verzích:
=IF(ISNUMBER(SMALL($A$1:$A$20;ROW()));SMALL($A$1:$A$20;ROW());"") (maticově obdobně)

Editoval ludviktrnka (9. 12. 2015 10:44:29)


LibreOffice 5.2.2.2

Offline

#6 9. 12. 2015 10:41:13

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,526

Re: Vynechání prázdných řádků (buňek)

Tedy okopírovaná Verze: 5.0.3.2
ID sestavení: e5f16313668ac592c1bfb310f4390624e3dbfb75
Národní prostředí: cs-CZ (cs_CZ)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí