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

#1 9. 12. 2011 10:15:11

Jar
Člen
Registrace: 17. 11. 2009
Příspěvků: 53

Jak zjistit jedinečný údaj v buňce - VYŘEŠENO

Zdravím,

kolegyně zadává do sloupečku čísla.
Problémem je, že číslo, které právě zadala, musí být jedinečné, ale nejde o žádnou číselnou řadu či posloupnost. Chci ještě podotknout, že sloupec má tisíce čísel. Nemáte nějaký chytrý nápad, jak upozornit, že právě zadané číslo již existuje?

Díky předem za každý nápad.

Offline

#2 9. 12. 2011 17:30:11

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

Re: Jak zjistit jedinečný údaj v buňce - VYŘEŠENO

Jde to funkcí COUNTIF. Například =COUNTIF($A$1:$A$1048576;Hledané číslo). Výsledkem je počet stejných čísel, takže správně je to při výsledku "0". Proto je vhodné rozšířit o dotaz typu IF. =IF(COUNTIF($A$1:$A$1048576;Hledané číslo)=0;"číslo zapiš","Chyba - dej jiné číslo"). Také se může stát, že čísla jsou zadaná v textovém formátu. Pak by to chtělo jiné funkce. Například FIND, nebo SERACH. Ty však dávají v pozitivním případě chybovou hlášku, proto je potřeba zadat IF s dotazem na chybu - buď ISERR, nebo ISERROR. Takže například můžeme zadat : =IF(ISERR(FIND(.;.;.))=1;"zapiš";"Chyba - zvol jiné").


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

Offline

#3 9. 12. 2011 17:55:55

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

Re: Jak zjistit jedinečný údaj v buňce - VYŘEŠENO

Použijte podmíněné formátování nebo funkci v pom. sloupci.


Podmíněné ormátování je jednodušší: Vyberte kontrolovanou oblast, zvolte podmíněný formát a pro hodnotu buňky zadejte duplicitní hodnoty (jsou dole a snadno se přehlénou). Pak jen vyberte nebo nastavte styl pro duplicity.


Alternativou je použití funkce v pomocném sloupci nebo ve výrazu podmíněného formátu. Obvykle se používá funkce countif, ale pokud budete čísla doplňovat jen na konec seznamu, je lepší použít funkci match. Countif prohledá celý rozsah hodnot, match hledá dokud nenajde, mělo by to být trochu rychlejší. Na druhé straně, pokud chcete doplňovat čísla kamkoliv do seznamu, je countif vhodnější - po doplnění čísla musí být výsledek funkce 1 (musí v celém seznamu najít právě jedno číslo).


Pokud doplňujete do sloupce A *vždy* jen na konec a poslední buňka seznamu je A5 pak testy mohou být při vkládání do buňky A6:

=isna(match(A6; $A$1:A5;0))

=countif($A$1:A5;A6)=0

Pokud testujeme celou oblast

=countif($A$1:$A$10000;A6)<=1

Editoval lp. (9. 12. 2011 18:03:36)

Offline

#4 12. 12. 2011 08:31:31

Jar
Člen
Registrace: 17. 11. 2009
Příspěvků: 53

Re: Jak zjistit jedinečný údaj v buňce - VYŘEŠENO

Ahoj,
1) zatím beru jako řešení vytvoření pomocného sloupce a do každého řádku předpřipravit "=countif($A$1:$A$10000;A6)<=1", jak Lp. poradil. Samozřejmě odkaz A6 ve vzorci se mění podle
čísla řádku. Mám jen strach o rychlost, ale to musím s kolegyní vyzkoušet až bude přítomná a já budu moci navrhované řešení vyzkoušt v ostrém provozu.
2) Žel v podmíněném formátování jsem nenašel možnost "duplicitní hodnoty", můžete mě prosím podrobněni navést? V prvním poli vybírám "hodnota buňky je" nebo "vzorec je". V druhém poli vybírám různé varianty typu menší, vetší, rovno atp, ale "duplicitní hodnoty" nikde nemohu najít.

Děkuji obzvláště lp. a neutr za pomoc.

Offline

#5 12. 12. 2011 13:50:56

Lord killer
Člen
Registrace: 9. 12. 2007
Příspěvků: 43

Re: Jak zjistit jedinečný údaj v buňce - VYŘEŠENO

asi nějak takhle:
vybrat volbu "vzorec je"
zadat vzorec

countif($A$1:$A$10000;A6)>0

ale nejsem si tedy jist strukturou Vašeho dokumentu (možná tam bude jednička místo nuly), já to řeším bez pomocného sloupce:
vzorec k podmíněnému formátu v buňce A1:

COUNTIF($A$1:A1;A1)>1

a formát buňky potom roztáhnout směrem dolů. Výhodou je, že nejste limitován předem nastaveným rozsahem buněk. Menší nevýhodou, že to kontroluje duplicitu pouze směrem nahoru/zpět, takže to zvýrazní až druhý výskyt čísla - osobně to považuji za dostačující.

Tohle Vám prostě musí fungovat nebo jsem Vás nepochopil ;-)

Editoval Lord killer (12. 12. 2011 14:42:14)

Offline

#6 12. 12. 2011 22:01:43

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

Re: Jak zjistit jedinečný údaj v buňce - VYŘEŠENO

Jar napsal(a)

Ahoj,
2) Žel v podmíněném formátování jsem nenašel možnost "duplicitní hodnoty", můžete mě prosím podrobněni navést? V prvním poli vybírám "hodnota buňky je" nebo "vzorec je". V druhém poli vybírám různé varianty typu menší, vetší, rovno atp, ale "duplicitní hodnoty" nikde nemohu najít.

Záleží na tom, kterou verzi máte. V LO 3.4 (nevím od které verze) to v prvním poli (hodnota buňky). V OOo to zatím není.

Offline

#7 13. 12. 2011 11:16:01

Jar
Člen
Registrace: 17. 11. 2009
Příspěvků: 53

Re: Jak zjistit jedinečný údaj v buňce - VYŘEŠENO

lp. napsal(a)
Jar napsal(a)

Ahoj,
2) Žel v podmíněném formátování jsem nenašel možnost "duplicitní hodnoty", můžete mě prosím podrobněni navést? V prvním poli vybírám "hodnota buňky je" nebo "vzorec je". V druhém poli vybírám různé varianty typu menší, vetší, rovno atp, ale "duplicitní hodnoty" nikde nemohu najít.

Záleží na tom, kterou verzi máte. V LO 3.4 (nevím od které verze) to v prvním poli (hodnota buňky). V OOo to zatím není.

Mám OOo takže, proto to nemohu najít. Díky

Offline

Zápatí