Libre/Open Office: inventario, riunire e sommare articoli

Installazione, configurazione e uso di programmi e strumenti.
Scrivi risposta
Avatar utente
ienavespa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: martedì 23 agosto 2011, 13:17
Località: Trento
Contatti:

Libre/Open Office: inventario, riunire e sommare articoli

Messaggio da ienavespa »

ciao a tutti.
ogni anno, il software che gestisce il magazzino, mi fornisce l'inventario in .xls dividendomi gli articoli in questo modo

Codice: Seleziona tutto

CODICE                ARTICOLO         QUANTITÀ
12-01                 ARTICOLO-01      12
12-02                 ARTICOLO-02      3
12-03                 ARTICOLO-03      1
ARTICOLO-tg1          88-OTTO.X-tg1    4
ARTICOLO-tg2          88-OTTO.X-tg2    3
ARTICOLO-tg3          88-OTTO.X-tg3    5
in pratica, il software suddetto, vede ogni taglia/attributo di un articolo, come un articolo a se stante. in inventario io voglio che tutte le quantità di un articolo vengano sommate e raggruppate, non tenendo in considerazione, le varie taglie, in pratica così

Codice: Seleziona tutto

CODICE                 ARTICOLO            QUANTITÀ
12-01                  ARTICOLO            16
ARTICOLO               88-OTTO             12
ogni anno cerco una funzione che mi permetta di farlo; l'unica che si avvicina è STRINGA.ESTRAI, ma purtroppo sia i CODICE che gli ARTICOLO non hanno una "forma" standard...

qualcuno può aiutarmi?
LAVORO: Assemblato con processore Intel i5-7500 CPU @ 3.40 GHz x 4 , scheda grapica Intel Graphics 630 (Kaby Lake GT2), RAM 8 GiB - SO Ubuntu 18.04 64 bit

CASA: Notebook Asus X54C - Intel i3 2350M 2,30 Ghz 4 Gb Ram - SSD 250 Gb - Scheda video integrata Intel HD Graphics 3000 - SO Ubuntu 18.04 64 bit
Avatar utente
mariateresa53
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 662
Iscrizione: martedì 6 novembre 2007, 10:39
Desktop: gnome
Distribuzione: ubuntu 18.04
Sesso: Femminile
Località: Pontremoli

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da mariateresa53 »

Ho visto che tutti i codici hanno un trattino che divide la prima parte dal resto.
Se questo è vero basta fare una macro che con un loop estragga la prima parte del testo (fino al trattino) e la riscriva in una cella alla fine.
Poi non ti resta che utilizzare subtotali e sei a posto.

Guarda l'esempio se va bene.

Maria Teresa
Allegati
ProvaCalc.ods
(35.59 KiB) Scaricato 43 volte
Avatar utente
ienavespa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: martedì 23 agosto 2011, 13:17
Località: Trento
Contatti:

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da ienavespa »

nel tuo esempio vedo che sul primo articolo hai usato ESTRAI.STRINGA nel secondo hai riscritto ARTICOLO??? il problema supplementare è che alcuni codici hanno un trattino anche nel codice stesso (es ART-ICOLO-tg1; ART-ICOLO-tg2....)
LAVORO: Assemblato con processore Intel i5-7500 CPU @ 3.40 GHz x 4 , scheda grapica Intel Graphics 630 (Kaby Lake GT2), RAM 8 GiB - SO Ubuntu 18.04 64 bit

CASA: Notebook Asus X54C - Intel i3 2350M 2,30 Ghz 4 Gb Ram - SSD 250 Gb - Scheda video integrata Intel HD Graphics 3000 - SO Ubuntu 18.04 64 bit
Avatar utente
mariateresa53
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 662
Iscrizione: martedì 6 novembre 2007, 10:39
Desktop: gnome
Distribuzione: ubuntu 18.04
Sesso: Femminile
Località: Pontremoli

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da mariateresa53 »

Il mio esempio era solo per capire se arrivare al trattino andava bene, la macro non lo fatta, mi ci vuole un po' più di cinque minuti per farla.

Il punto è trovare un carattere comune a tutti gli articoli che serva per troncare il codice esattamente dove vuoi per poter raggruppare.

Per il trattino messo in mezzo ad ARTICOLO potresti poi sostituire ART con ARTICOLO.

Se pensi che questa possa essere una soluzione e non hai fretta potrei provare a fare la macro su queste basi. Ho bisogno di qualche giorno perché oggi e domani sono impegnata.

Maria Teresa
Avatar utente
ienavespa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: martedì 23 agosto 2011, 13:17
Località: Trento
Contatti:

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da ienavespa »

non ti sbattere troppo. intanto stiamo continuando a farlo in manuale, riga per riga.
purtroppo sono anni che dico di creare una nostra codifica standard, ma che vuoi farci...

l'unico tratto distintivo è che la parte di stringa da eliminare è dopo ULTIMO trattino. ci fosse un modo di far capire alla funzione che mi interessa eliminare tutto quanto a destra del primo trattino che incontra da destra sarebbe tutto in discesa...

grazie mille dell'interessamento, comunque.
LAVORO: Assemblato con processore Intel i5-7500 CPU @ 3.40 GHz x 4 , scheda grapica Intel Graphics 630 (Kaby Lake GT2), RAM 8 GiB - SO Ubuntu 18.04 64 bit

CASA: Notebook Asus X54C - Intel i3 2350M 2,30 Ghz 4 Gb Ram - SSD 250 Gb - Scheda video integrata Intel HD Graphics 3000 - SO Ubuntu 18.04 64 bit
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da rai »

certo che c'è il modo: espressione regolare
appena arrivo a casa rispondo
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da rai »

Ciao ienavespa, non sono sicuro di avere capito: ti viene fornito da modificare una volta per tutte un file.xls definitivo, oppure hai bisogno di un sistema che dinamicamente applichi le tue modifiche man mano che i dati cambiano?
in ogni caso, credo che la tua soluzione potrebbero essere le espressioni regolari ma con qualche differenza:
1) nel primo caso, non cavandomela con le macro di open/libreOffice dovresti affidarti a Maria Teresa
2) nel secondo caso, in attesa di ulteriori specifiche ti faccio un esempio basato sui dati da te postati: colonne A (CODICE); B (ARTICOLO); C (QUANTITA') e:
ienavespa ha scritto:l'unico tratto distintivo è che la parte di stringa da eliminare è dopo ULTIMO trattino.
prima di tutto verifica Strumenti > Opzioni > LibreOffice Calc > Calcola > Permetti espressioni regolari nelle formule (deve essere spuntato )
Premi Ctrl+H > Altre opzioni > Espressione regolare; nel box 'Cerca' incolla la seguente -([:alnum:])*$ senza metterci spazi; box 'Sostituisci' vuoto; clicca 'Sostituisci tutto'
seleziona le colonne A-B e fai Dati>Filtro>Standard: Nome di campo Nessuno; clic su 'Più opzioni' e spunta 'Univoco' e 'Scrivi il risultato in'; nel box metti' E1
nella colonna G, accanto alla prima voce (che dovrebbe essere in G2), incolla:

Codice: Seleziona tutto

=SOMMA.SE(A2:B2000;"="&E2;C2:C2000)
e Invio
seleziona la casella E2 e trascinala in basso per copiarla fin dove ti serve
fammi sapere cosa te ne pare e eventualmente le voci che non vengono come richiesto. Se ti funziona è la strada che potrebbe usare Maria Teresa nella sua macro
Avatar utente
ienavespa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: martedì 23 agosto 2011, 13:17
Località: Trento
Contatti:

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da ienavespa »

non ci ho capito un benemerito, ma comunque domani provo e ti faccio sapere.

la strada mia (più mentale e meno tecnica), era di contare i caratteri della stringa, in base a quelli estrarre un carattere alla volta partendo da destra (al massimo sono 5/6) e, una volta trovato il primo trattino (ripeto, il primo partendo da destra) estrarre la stringa rimanente. da lì, poi, tutto il resto (somme e raggruppamenti) viene veloce
LAVORO: Assemblato con processore Intel i5-7500 CPU @ 3.40 GHz x 4 , scheda grapica Intel Graphics 630 (Kaby Lake GT2), RAM 8 GiB - SO Ubuntu 18.04 64 bit

CASA: Notebook Asus X54C - Intel i3 2350M 2,30 Ghz 4 Gb Ram - SSD 250 Gb - Scheda video integrata Intel HD Graphics 3000 - SO Ubuntu 18.04 64 bit
Avatar utente
mariateresa53
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 662
Iscrizione: martedì 6 novembre 2007, 10:39
Desktop: gnome
Distribuzione: ubuntu 18.04
Sesso: Femminile
Località: Pontremoli

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da mariateresa53 »

Prova la strada che ti ha suggerito rai. Se funziona non dovresti neppure aver bisogno della macro.
Fare una macro che tronchi al primo trattino a sinistra o eliminare la parte dall'ultimo trattino a destra è lo stesso. Per quanto riguarda lo sbattimento non ti preoccupare, per me è puro divertimento.

Fa sapere quello che vuoi fare.

Maria Teresa
Avatar utente
ienavespa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: martedì 23 agosto 2011, 13:17
Località: Trento
Contatti:

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da ienavespa »

siccome siamo di corsa in piena lavorazione... ho seguito la logica. funzionare funziona, certo, ad un esame verrai preso a calci...
Allegati
inventario.xls
(25 KiB) Scaricato 37 volte
LAVORO: Assemblato con processore Intel i5-7500 CPU @ 3.40 GHz x 4 , scheda grapica Intel Graphics 630 (Kaby Lake GT2), RAM 8 GiB - SO Ubuntu 18.04 64 bit

CASA: Notebook Asus X54C - Intel i3 2350M 2,30 Ghz 4 Gb Ram - SSD 250 Gb - Scheda video integrata Intel HD Graphics 3000 - SO Ubuntu 18.04 64 bit
Avatar utente
mariateresa53
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 662
Iscrizione: martedì 6 novembre 2007, 10:39
Desktop: gnome
Distribuzione: ubuntu 18.04
Sesso: Femminile
Località: Pontremoli

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da mariateresa53 »

Certo che funziona, la macro serviva solo a far fare il loop senza dover inserire tutte le if innestate, ma è solo una semplificazione.
Ritengo che sarebbe più semplice per la sommatoria inserire i subtotali (Dati-Subtotali- raggruppamento per "codice senza tg"/ somma per "quantità").

Buon lavoro.

Maria Teresa
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da rai »

ho visto che oltre a caratteri e numeri potrebbe esserci un virgola da eliminare dai nomi. Per questo devi usare una espressione regolare differente quando fai Ctrl + H per rinominare:

Codice: Seleziona tutto

-([:alnum:])*,?([:alnum:])*$
ti allego il risultato che ottengo sui dati che hai postato finora. A parte la regex usata e il posizionamento dei dati, la procedura che ho seguito è la stessa che ho già scritto. Devo però suggerirti, se ti interessa percorrere questa strada, di postare le due intere colonne da rinominare (sempre che tu ritenga pubblicabili quei dati); altrimenti continuiamo ad andare per tentativi senza sapere ogni volta se sarà quella definitiva.
:ciao:
Allegati
inventario.ods
(15.49 KiB) Scaricato 36 volte
Avatar utente
ienavespa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: martedì 23 agosto 2011, 13:17
Località: Trento
Contatti:

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da ienavespa »

dunque...
primo: sentitissimi ringraziamenti per l'interesse;
secondo: le macro so che esistono. punto.
terzo: gli ultimi due post mi risultano pressoché incomprensibili. ho sempre sfruttato excel prima e libre ora come trasposizione di un diagramma a blocchi di preistorica informatica memoria.

tutto questo mi ha portato a:
- con la procedura che vi ho descritto ho eliminato le taglie rimanendo con più codici uguali
- tutte le quantità associate a codici uguali sono state sommate
- tutte i codici "duplicati" sono stati nascosti

quindi... risultato ottenuto.

però...

ovviamente, nascondendo i risultati, ottengo un foglio con molte righe vuote e non cancellabili, pena la modifica dei dati dovuta alle formule presenti.
mi basterebbe nascondere le righe vuote, non per forza eliminarle, in modo da rendere il tutto più leggibile. riesco a farlo a mano, ma con quasi 10.000 righe di dati... beh... un aiutino mi farebbe comodo. ah: mi basterebbe anche solamente non stamparle, non per forza a video.

grazie ancora per gli aiuti
LAVORO: Assemblato con processore Intel i5-7500 CPU @ 3.40 GHz x 4 , scheda grapica Intel Graphics 630 (Kaby Lake GT2), RAM 8 GiB - SO Ubuntu 18.04 64 bit

CASA: Notebook Asus X54C - Intel i3 2350M 2,30 Ghz 4 Gb Ram - SSD 250 Gb - Scheda video integrata Intel HD Graphics 3000 - SO Ubuntu 18.04 64 bit
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da rai »

beh... un aiutino mi farebbe comodo
scusami la rudezza :)
non c'è bisogno di capire subito quello che ti ho postato per ottenere il risultato: intanto fallo, poi le spiegazioni.
hai visto il file che ho allegato?
hai provato a ripetere passo per passo il metodo che ho cercato di descrivere?
Bada che è più difficile leggere le spiegazioni che eseguirle... te le riposto dato che è cambiata la espressione da usare

prima di tutto
verifica Strumenti > Opzioni > LibreOffice Calc > Calcola > 'Permetti espressioni regolari nelle formule' (deve essere selezionato )

secondo passo
Premi Ctrl+H e nella finestra che si apre fai clic su 'Altre opzioni' > Espressione regolare; incolla nel box 'Cerca' questo: -([:alnum:])*,?([:alnum:])*$ (da trattino a dollaro compresi, senza metterci spazi prima o dopo); lascia il box 'Sostituisci' vuoto; clicca 'Sostituisci tutto'

terzo passo
seleziona le colonne A-B e fai Dati>Filtro>Standard: Nome di campo: 'Nessuno'; fai clic su 'Più opzioni' e seleziona sia 'Univoco' che 'Scrivi il risultato in'; nel box scrivi: E1 e clic su 'OK'

quarto passo
nella colonna G, accanto alla prima voce, incolla:
=SOMMA.SE(A2:B2000;"="&E2;C2:C2000)

ultima cosa
seleziona la casella E2 e trascinala in basso per copiarla fin dove ti serve
Avatar utente
ienavespa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: martedì 23 agosto 2011, 13:17
Località: Trento
Contatti:

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da ienavespa »

grazie ancora, ma cerca di capire. sono dati aziendali e l'azienda non è mia. voglio fare solo cose che riesco a capire. domani lavoro, poi una settimana di ferie. volevo chiudere la meglio il discorso prima dello stacco, per lasciare al collega un qualcosa che fossi sicuro funzionasse al meglio. se ho tempo (la domenica è sempre una gran guerra) provo a seguire le tue indicazioni cercando di capire che fanno. grazie mille ancora
LAVORO: Assemblato con processore Intel i5-7500 CPU @ 3.40 GHz x 4 , scheda grapica Intel Graphics 630 (Kaby Lake GT2), RAM 8 GiB - SO Ubuntu 18.04 64 bit

CASA: Notebook Asus X54C - Intel i3 2350M 2,30 Ghz 4 Gb Ram - SSD 250 Gb - Scheda video integrata Intel HD Graphics 3000 - SO Ubuntu 18.04 64 bit
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Libre/Open Office: inventario, riunire e sommare articol

Messaggio da rai »

fai una copia del foglio elettronico e lavora su quella, così potresti sentirti libero di provare dato che in ogni caso i dati originali rimangono intatti
Se hai bisogno, chiedi liberamente
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 25 ospiti