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

#1 6. 11. 2019 15:03:49

petouf
Člen
Registrace: 6. 11. 2019
Příspěvků: 8

výpis a spočítání duplicitních údajů

Dobrý den, možná to tu někde je, ale nemohu to vyhledat a tak se ptám:
Potřebuji vyřešit problém -
ve sloupcích A a B mám typ součástky  její popis. Např.
  A                B
.........................
LC1D25     stykač
LC1D50     stykač
SME8-S     čidlo
XVB c34    maják
LC1D25     stykač
XVB c34    maják

A nyní potřebuji vypsat a spočítat duplicitní hodnoty v sloupci A spočítat a vypsat do sloupců např. C,D,E (v E je počet kusů)



  C                  D            E
.....................................
LC1D25     stykač    2
LC1D50     stykač    1
SME8-S      čidlo     1
XVB c34     maják     2   

Mělo by to fungovat tak, že pokud do sloupce A něco napíšu, zároveň se mi to zobrazí ve sloupcích C,D,E. Nevím, zda je to takto pochopitelné, snad ano.
Pokud někde již tento dotaz je, moc se omlouvám, ae já to nenašel.
Jsem začátečník, ale snad by stačilo nasměrovat a já se s tím porvu.
Děkuji a přeji pěkný den!
Josef

Editoval petouf (6. 11. 2019 15:06:29)

Offline

#2 6. 11. 2019 16:21:21

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

Re: výpis a spočítání duplicitních údajů

Podobných příkladů je tady jistě více. Jedná se o použití vzorců SUMIF, COUNTIF podle toho zda ve sloupci "A" máte položky v základní poloze jednotek. Pokud je to tak jak popisujete potom například ze sloupce A (100 položek) :
Ukázka petouf - Countif
    Jak můžete vidět ani popis podle požadavku není potřebný. Lze to udělat pro odfiltrování stejných hodnot tak aby zbyly jen unikátní výrazy. To můžeme udělat například kontingenční tabulkou která tohle umí automaticky, nebo vybavit sloupce automatickým filtrem, nebo například pomocí vzorce najít jen unikátní výrazy. Možností je mnoho. Příklad uvádí přímo počty vedle správných výrazů - bez dalšího. Snad se Vám to hodí v této formě. Jinak si udělejte výběr podle Vaší představy a vzorec zařaďte do sloupce E jak možná potřebujete.


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 8. 11. 2019 11:09:54

petouf
Člen
Registrace: 6. 11. 2019
Příspěvků: 8

Re: výpis a spočítání duplicitních údajů

Díky moc za odpověď...
Tak countif jsem neznal... Už mi to počítá:). Teď si ale ještě potřebuji udělat ten výpis bez duplicit. A nechci použít filtr, spíš přes nějakou tu funkci, ale ničeho jsem se nedohledal. Do sloupce "A" na 1.listě budu psát pod sebe např jména. a ve sloupci třeba "B" na druhém listě se mi ta jména budou zobrazovat, ale jen jednou:

Sloupec "A" první list   Sloupec "B" druhý list
---------------------------------------------------
       Jan                     Jan
       Jan                     Karel   
      Karel                    Milouš
       Jan
      Milouš


COUNTIFem si to spočítám, to jsem už (snad:) pochopil, ale ten výpis... Možná by to šlo makrem, pokud nebude funkce k dispozici, ale to bych zase musel spouštět automaticky při každé změně buňky ve sloupci "A", což nevím, jak půjde.

Offline

#4 8. 11. 2019 12:04:08

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

Re: výpis a spočítání duplicitních údajů

Úprava je tady - snad se to dá pochopit. Použil jsem ten samý soubor - je úplně jedno zda se jedná o Milouše nebo stykače. petouf countif V2


     Tedy nejprve si zkopírujeme do listu 2 všechny 3 sloupce ale vložíme jen jako text a čísla volbou z dialogu VLOŽIT JINAK > VLOŽIT JINAK > ČÍSLA, TEXT DATUM A ČAS. Následně setřídíme podle sloupce "C" a zbytek smažeme.
     Následně vystříhneme z prvního listu vzorec buňky C1 a vložíme do C1 ve druhém listu. Zde uděláme úpravu která je ukázána názorně. Jde pouze o přepis buňky ze které s čte hledaný výraz - který se hledá v původním poli na listu 1 (tedy A1:A100).

Editoval neutr (8. 11. 2019 12:39:46)


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

#5 8. 11. 2019 14:33:58

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 167

Re: výpis a spočítání duplicitních údajů

domnívám se, že použití kontingenční tabulky by bylo vhodnější. Zajistí jak zobrazení unikátních hodnot, tak i požadované součty a není potřeba se starat o nově přidané položky, příp. něco třídit, vystřihovat a vkládat. Pouze je potřeba ji po přidání nových hodnot zaktualizovat volbou 'Obnovit'.

Offline

#6 8. 11. 2019 15:31:58

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

Re: výpis a spočítání duplicitních údajů

pro kabi:
     Ano souhlasím - nabízel jsem to v příspěvku #2. Dokonce jsem měl chuť to řešit jenom kontingenční tabulkou, ale požadavek byl na vzorec. Také autofilter je dobrým řešením - byly by vidět pouze aktivní položky podle výběru - například větší než nula.
     Celkem mi vrtá hlavou nač je potřeba výpis unikátních položek do dalšího listu viz Do sloupce "A" na 1.listě budu psát pod sebe např jména. a ve sloupci třeba "B" na druhém listě se mi ta jména budou zobrazovat, ale jen jednou: Sloupec "A" první list   Sloupec "B" druhý list.
     Co by mělo být ve sloupci "A" druhého listu? makro není problém ale něco mi říká, že autor se vyjadřuje nepřesně a nakonec se vyvrbí něco úplně jiného. Makro by mělo cenu když by to byl veliký rozsah a složitá struktura. Ale takto to moc účelné není.


     Přemýšlel jsem oč asi jde a nakonec mne napadlo jen to, že autor si chce upravit vzorec na samostatnou stranu kde bude vidět jen souhrn. Takže jsem přidal vzorce které ani nežádal ale stejně to není ono. Ale faktem je, že zřejmě autor neví co umí kontingenční tabulka - že může vyexportovat výstup na jiný list ve formátu který požaduje od vzorců.
     Představoval jsem si, že by mohlo jít o požadavek vytvořit roletku "platnost dat" a na tuto naroubovat vzorce. To by bylo efektní. Když se jedná o skladové zásoby tak nechceme aby nám někdo přes rameno testoval co vše máme, nebo nemáme ve skladě. Když by se jednalo o souhrny počtů z různých skladů bylo by potřeba SUMIF stejně jako kdyby se jednalo o čerpání skladu - byla by to položka s počtem kusů a nikoliv jako jednice.


     Autor nejspíš zvažuje co by se dalo udělat, nebo vylepšit takže asi budeme čekat na upřesnění. Možná by bylo lepší zadat i širší vymezení jak by to mělo vypadat nebo k čemu by se chtěl dopracovat.

Editoval neutr (8. 11. 2019 15:34:27)


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

#7 11. 11. 2019 08:30:48

petouf
Člen
Registrace: 6. 11. 2019
Příspěvků: 8

Re: výpis a spočítání duplicitních údajů

Díky za starosti, pokusim se Vám nasínit celý problém:
Bude to kvůli přehledu součástek na linkách. Součástka má své jedinečné označení (např. KM1) v dalším sloupci název (např. LC1D25) v dalším sloupci popis (např stykač) Toto vše na jednom listu. Já budu tento list neustále doplňovat a rád bych, aby se mi po každém doplnění aktualizoval seznam na druhém listu, kde bych měl v jednom sloupci název, ve druhém popis, ve třetím počet kusů na lince. Nechci na to po doplnění součástek používat filtry, ani nic kopírovat a mazat rád bych, aby se to dělo automaticky. po vyplnění (případně opravě) buněk by se aktualizoval stav na druhém listu. Už jsem si na to splácal i makro, ale potřeboval bych, aby se spouštělo s každou úpravou buňky, případně po přepnutí listů. Asi to dost komplikuji, ale chci to mít tak nějak univerzální.
Jinak máte pravdu, s kontingenční tabulkou zkušenosti nemám...
Díky všem za snahu o pomoc...
ještě jednou pro názornost:


List 1:


  A                B             C
...........................................
KM1        LC1D25     stykač
KM2        LC1D50     stykač
SQ1        SME8-S     čidlo
Ha1        XVB c34    maják
KM3        LC1D25     stykač
Ha2        XVB c34    maják


Na listu 2 ve sloupci A se mi zobrazí výpis sloupce B z prvního listu, ale bez duplicit
Na listu 2 ve sloupci B se mi zobrazí popis k součástce
Na listu 2 ve sloupci C se mi zobrazí počet kusů


LIST 2:

  A                  B            C
.....................................
LC1D25     stykač         2
LC1D50     stykač         1
SME8-S      čidlo          1
XVB c34     maják         2

Offline

#8 11. 11. 2019 11:31:22

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 167

Re: výpis a spočítání duplicitních údajů

řešení s kontingenční tabulkou (KT):
- doplňte si na řádek 1 popis sloupců (např. Kod, Nazev, Popis), následně
- vyberte např. buňku A1 a zvolte v menu Data -> Kontingenční tabulka -> Vložit nebo upravit (podle verze LO)
- potvrďte volbu 'Současný výběr'
- v zobrazeném okně přetáhněte postupně z pravé strany pole Nazev a Popis v tomto pořadí do prostoru 'Pole řádků' pod sebe
- dále přetáhněte pole Název do prostoru 'Datová pole' a dvakát na něj klikněte. V sobrazeném formuláři vyberte funkci 'Počet'
- formulář 'Rozvržení kontingenční tabulky' ukončete tlačítkem 'OK'.
Vytvoří se nový list ('Kontingenční tabu ....'). Na ní jsou zobrazená požadovaná data.
Dále je potřeba ještě rozšířit rozsah, ze kterého se budou data zpracovávat. V listu 'Kontingenční tabu ....' klikněte pravým tlačítkem myši do prostoru s daty KT (např. A1) a zvolte 'Vlastnosti'. Zobrazí se stejný formulář, jako při vytváření KT. Kliknutím na + otevřete volbu 'Zdroj a cíl' a v poli 'Výběr' opravte poslední hodnotu řádku na např. 100000 (záleží, kolik řádků přepokládáte na listu s daty).
Dále ještě kliknutím na + otevřete volbu 'Možnosti' a zde zaškrtněte volbu 'Ignorovat prázdné řádky'.
Potvrďte tlačítkem 'OK' a máte hotovo.

Po přidání dat do Listu1 je nutné KT aktualizovat opět kliknutím pravým tlačítkem do prostoru KT a volbou 'Obnovit' nebo se to dá zajistit makrem.

Offline

#9 11. 11. 2019 11:55:11

petouf
Člen
Registrace: 6. 11. 2019
Příspěvků: 8

Re: výpis a spočítání duplicitních údajů

Tak to je zajímavé, je to ono - funguje bez problémů, myslím, že to použiji a trochu si budu muset rozšířit znalosti o kontingenčních tabulkách :-)
Ještě mě - pro zajímavost a moji pohodlnost naznačte, jaké makro na obnovení tabulky a hlavně jak ho automaticky spustit. Při změně v buňkách, nebo při přepnutí listu?

Offline

#10 11. 11. 2019 14:38:53

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 167

Re: výpis a spočítání duplicitních údajů

níže je makro, které jsem kdysi někde našel a používám ho. Aktivaci makra vidím ideálně při přístupu na list s KT. Makro si tedy uložte do vašeho souboru, otevřete si list s KT a v menu zvolte List -> Události listu. V zobrazeném formuláři přiřaďte makro 'DBRanges_And_Pilots' k události 'Aktivovat dokument' (spuštění makra tak proběhne při přístupu na list s KT).

REM  *****  BASIC  *****

Sub refresh_DBRanges_And_Pilots
    rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
  rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:CalculateHard", "", 0, Array())
       oDBRangesEnum = thisComponent.DatabaseRanges.createEnumeration()
       oSheetsEnum = thisComponent.Sheets.createEnumeration()
       refresh_All_DataPilots(oSheetsEnum)
  rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:CalculateHard", "", 0, Array())
End Sub
   Sub refresh_All_DataPilots(oSheetsEnum)
       while oSheetsEnum.hasMoreElements()
          oSheet = oSheetsEnum.nextElement()
          oDPEnum = oSheet.DataPilotTables.createEnumeration()
          refresh_Enumeration(oDPEnum)
       wend
    End Sub

    Sub refresh_Enumeration(oEnum)
       while oEnum.hasMoreElements()
          oNext = oEnum.nextElement()
          oNext.refresh()
       wend
    End Sub

Offline

#11 12. 11. 2019 12:01:11

petouf
Člen
Registrace: 6. 11. 2019
Příspěvků: 8

Re: výpis a spočítání duplicitních údajů

Tak díky moc za vše, pohrál jsem si a už do dá se říct chodí. Ještě pár kosmetických úprav a je to...:-)
Nevíte náhodou, zda se nechá sehnat nějaká literatura (učebnice a pokud možno v češtině) k tomu Basicu do maker v CALCu? Celkem mě to začalo bavit smile
Díky všem, mějte pěkný den

Offline

#12 12. 11. 2019 13:10:24

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 167

Re: výpis a spočítání duplicitních údajů

s literaturou asi bude potíž. Myslím, že si budete muset vystačit s návody z tohoto webu nebo příspěvky z fora, příp. pak s tím, co najdete jinde na internetu.

Ještě se zamyslete nad listem s daty. Pokud je odněkud neimportujete nebo nekopírujete, není úplně standardní vyplňovat nebo opravovat 3 údaje, které identifikují stejný výrobek (dá se lehce vytvořit chyba). Rozumnější by v případě manuálního zadávání bylo vyplnit např. pouze údaj ve sloupci A a ostatní informace (B a C) by se mohly plnit automaticky vzorcem z nějakého číselníku součástek.

Offline

#13 12. 11. 2019 14:11:56

petouf
Člen
Registrace: 6. 11. 2019
Příspěvků: 8

Re: výpis a spočítání duplicitních údajů

Rozumím, nad tím se ještě zamyslím. Sloupec A v listu 1 je označení pozice součástky na stroji, to je jedinečné a je to dáno dokumentací. Sloupec B obsahuje název součástky, podle které se nechá součástka objednat. Ve sloupci C mám potom funkci součástky. Přemýšlím, že by se to mohlo zadávat přes formulář, kde se zadá pozice a název a po zadání názvu formulář sám "napoví" funkci. Nad tím popřemýšlím. (a možná budu mít ještě spousty dotěrných dotazů... :-)
Dík moc...

Offline

#14 12. 11. 2019 14:41:17

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: výpis a spočítání duplicitních údajů

V češtině toho k makrům skutečně moc není - nejlepší kniha je asi stále J. Pasteriek - Makrá v openoffice.org, byť je to z velké části pro Writer.
Krom tohoto webu jsou spíše takové občasné drobné pokusy, avšak nic většího co by šlo hlouběji (gůglil jsem občas openoffice makra nebo libreoffice makra).


Možná znáte, ale pro makra je výtečná pomůcka XRay - viz. https://forum.openoffice.cz/viewtopic.p … 801#p23801 - dát se s ním zjistit třeba nějaká konkrétní vlastnost nebo metoda, a dle toho konkrétního názvu se poté na webu nějaký příklad s použitím vyhledává mnohem lépe, i když pak už je to většinou o angličtině.

Editoval kamlan (12. 11. 2019 16:21:17)

Offline

Zápatí