[Risolto] Copiare dati sotto condizione

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

[Risolto] Copiare dati sotto condizione

Messaggio da Adso72 »

Vorrei copiare da un foglio all'altro di uno stesso file le righe che hanno un determinato valore in una cella e poi ordinare tale lista.

Nel file di esempio, abbiamo una lista di nomi ed il relativo status nel foglio "Origine" mentre nel foglio "Elenco" ho l'elenco come lo vorrei (ovvero solo quelli con status 'p') ed ordinato alfabeticamente.

L'ordine nel foglio "Origine" non è modificabile.

Come potrei risolvere?

Thanks in advance
Allegati
esempio.ods
(9.8 KiB) Scaricato 127 volte
Ultima modifica di charlie il venerdì 24 gennaio 2020, 14:17, modificato 2 volte in totale.
Motivazione: Aggiunta spunta verde
LibreOffice 67.4 su Linux Mint 21.1
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Copiare dati sotto condizione

Messaggio da patel »

basta applicare un filtro sulla colonna B, copiare e poi ordinare
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1753
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copiare dati sotto condizione

Messaggio da gioh66 »

Salve! Dall'esempio mi sembra che tu voglia quelli con status "a". Comunque se vuoi fare tutto con una formula, in A2 del foglio "Elenco" prova questa formula presa dal mio "cassetto degli attrezzi
(non è farina del mio sacco :mrgreen: ):

Codice: Seleziona tutto

=SE.ERRORE(INDICE($Origine.$A$2:$A$100;CONFRONTA(PICCOLO(SE($Origine.$B$2:$B$100="a";CONTA.SE($Origine.$A$2:$A$100;"<"&$Origine.$A$2:$A$100));RIF.RIGA(A1));CONTA.SE($Origine.$A$2:$A$100;"<"&$Origine.$A$2:$A$100);0));"")
Dopo averla inserita nella cella la confermi come matriciale, con la combinazione di tasti ctrl+maiuscolo+invio (e non col solo invio) e la copi e incolli in basso fin dove ti serve.
Allegati
estrai con condizione e ordina.ods
(10.28 KiB) Scaricato 127 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Re: Copiare dati sotto condizione

Messaggio da Adso72 »

mi funziona per il primo nome (anche non trova il primo nome ma parte dal secondo) ma quando trascino la formula mi dà per tutte le celle l'errore #NOME?

Probabilmente l'errore è nell'adattamento che ho fatto (ovvero dove ho le colonne ed i dati di interesse).

Mi potresti spiegare a cosa serve il comando

Codice: Seleziona tutto

RIF.RIGA(A1)
?
LibreOffice 67.4 su Linux Mint 21.1
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Re: Copiare dati sotto condizione

Messaggio da Adso72 »

patel ha scritto:basta applicare un filtro sulla colonna B, copiare e poi ordinare
questa strada non è praticabile poichè il foglio di origine non può/deve cambiare ordine
LibreOffice 67.4 su Linux Mint 21.1
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Re: Copiare dati sotto condizione

Messaggio da Adso72 »

Adso72 ha scritto:mi funziona per il primo nome (anche non trova il primo nome ma parte dal secondo) ma quando trascino la formula mi dà per tutte le celle l'errore #NOME?

Probabilmente l'errore è nell'adattamento che ho fatto (ovvero dove ho le colonne ed i dati di interesse).

Mi potresti spiegare a cosa serve il comando

Codice: Seleziona tutto

RIF.RIGA(A1)
?

Ho risolto, per trascinare una formula matrice è necessario tenere premuto anche il tasto CTRL ;)

Grazie mille!!!
LibreOffice 67.4 su Linux Mint 21.1
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1753
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: [risolto] Copiare dati sotto condizione

Messaggio da gioh66 »

Grazie del riscontro e della dritta. Io con le matriciali per estenderle alle altre celle ho sempre fatto copia e incolla. Oppure se la colonna a sinistra contiene dati, un doppio click sulla maniglia di riempimento.
Per quanto riguarda RIF.RIGA(A1) serve a creare un conteggio dinamico. Se inserisci questa formula in una cella e trascini in basso avrai come risultato una sequenza 1, 2 , 3, ecc...
Inserita nella funzione PICCOLO come argomento per il K farà si che il risultato della formula dia il primo valore più piccolo, il secondo più piccolo, ecc... man mano che la formula viene trascinata/copiata in basso.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] https://forum.openoffice.org/it/forum/v ... f=9&t=5661

Libreoffice 6/7 Ubuntu 22.04 - PcLinuxOS - LinuxMint 21
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Copiare dati sotto condizione

Messaggio da patel »

Adso72 ha scritto:
patel ha scritto:basta applicare un filtro sulla colonna B, copiare e poi ordinare
questa strada non è praticabile poichè il foglio di origine non può/deve cambiare ordine
spiego meglio:
basta applicare un filtro sulla colonna B, copiare, selezionare il foglio di destinazione, incollare e poi ordinare
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2999
Iscritto il: martedì 18 maggio 2010, 17:01

Re: [Risolto] Copiare dati sotto condizione

Messaggio da lucky63 »

patel ha scritto:spiego meglio:
... come dire ... spesso le soluzioni più semplici non vengono considerate ...
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Re: Copiare dati sotto condizione

Messaggio da Adso72 »

patel ha scritto:
Adso72 ha scritto:
patel ha scritto:basta applicare un filtro sulla colonna B, copiare e poi ordinare
questa strada non è praticabile poichè il foglio di origine non può/deve cambiare ordine
spiego meglio:
basta applicare un filtro sulla colonna B, copiare, selezionare il foglio di destinazione, incollare e poi ordinare
nel foglio di origine vengono man mano aggiunti dati e lo status di un dato può cambiare di volta in volta, in questo modo ogni volta dovrei applicare il filtro etc etc

Con l'altra soluzione è tutto automatico
LibreOffice 67.4 su Linux Mint 21.1
patel
Volontario attivo
Volontario attivo
Messaggi: 4020
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: [Risolto] Copiare dati sotto condizione

Messaggio da patel »

non ho detto che la mia soluzione è la migliore, è la più semplice ad attuare, non tutti sanno gestire formule complesse come gioh66
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Avatar utente
lucky63
Volontario assiduo
Volontario assiduo
Messaggi: 2999
Iscritto il: martedì 18 maggio 2010, 17:01

Re: [Risolto] Copiare dati sotto condizione

Messaggio da lucky63 »

.
Nel quesito iniziale ...
Adso72 ha scritto:Vorrei copiare da un foglio all'altro di uno stesso file le righe che hanno un determinato valore in una cella e poi ordinare tale lista.
non è accennato al fatto che:
I - nel foglio di origine vengono man mano aggiunti dati e lo status di un dato può cambiare di volta in volta;
II - sussiste esigenza di una soluzione "automatica".
Quindi senza nulla voler togliere alla soluzione "matriciale" proposta da @ghioh66 ritengo che la soluzione con "filtro" segnalata da @patel a cui mi associo era ed è la più semplice e congrua al quesito iniziale.
Invito tutti gli utenti del forum a porre il quesito iniziale il più preciso possibile così da poter indirizzare meglio e fin da subito verso risposte più mirate che come nel caso specifico oltre all'uso di "Formula matriciale" potevano prevedere eventualmente l'impiego di "area di appoggio" , "tabella pivot" , ... "macro" ...
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Re: [Risolto] Copiare dati sotto condizione

Messaggio da Adso72 »

lucky63 ha scritto:.
Nel quesito iniziale ...
Adso72 ha scritto:Vorrei copiare da un foglio all'altro di uno stesso file le righe che hanno un determinato valore in una cella e poi ordinare tale lista.
non è accennato al fatto che:
I - nel foglio di origine vengono man mano aggiunti dati e lo status di un dato può cambiare di volta in volta;
II - sussiste esigenza di una soluzione "automatica".
Quindi senza nulla voler togliere alla soluzione "matriciale" proposta da @ghioh66 ritengo che la soluzione con "filtro" segnalata da @patel a cui mi associo era ed è la più semplice e congrua al quesito iniziale.
Invito tutti gli utenti del forum a porre il quesito iniziale il più preciso possibile così da poter indirizzare meglio e fin da subito verso risposte più mirate che come nel caso specifico oltre all'uso di "Formula matriciale" potevano prevedere eventualmente l'impiego di "area di appoggio" , "tabella pivot" , ... "macro" ...
errore mio, avevo dato per sottinteso queste altre due esigenze
LibreOffice 67.4 su Linux Mint 21.1
Rispondi