Copia riga se

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Mikele 350
Messaggi: 30
Iscritto il: mercoledì 26 settembre 2018, 10:04

Copia riga se

Messaggio da Mikele 350 »

Ciao Ragazzi,
ho bisogno del vostro aiuto.
Ho da poco iniziato ad usare Office Calc.
Chiedo il vostro supporto:
devo copiare un intera riga del foglio A sul Foglio B se la cella o colonna del foglio A contiene una determinata parola o valore.
Come posso Fare?

Grazie Mille a tutti
Ultima modifica di Mikele 350 il martedì 10 dicembre 2019, 9:12, modificato 3 volte in totale.
OpenOffice 3.1 su Windows Vista
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1750
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copia riga se

Messaggio da gioh66 »

Buondì, giusto per non tirare a indovinare allega un file d'esempio.
...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
Mikele 350
Messaggi: 30
Iscritto il: mercoledì 26 settembre 2018, 10:04

Re: Copia riga se

Messaggio da Mikele 350 »

Eccolo in allegato
Allegati
forum.xls
(7 KiB) Scaricato 329 volte
forum.xls
(7 KiB) Scaricato 191 volte
OpenOffice 3.1 su Windows Vista
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1750
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copia riga se

Messaggio da gioh66 »

Be! Qualche riga in più potevi metterla. Comunque se il criterio di ricerca è univoco puoi provare.

Codice: Seleziona tutto

=INDICE(A$5:A$19;CONFRONTA(122;$E$5:$E$19;0))
Allego file
Ps.: visto che chiedi info per openoffice puoi allegare i file nel suo formato di default .odt
Allegati
forum--.ods
(9.44 KiB) Scaricato 271 volte
forum--.xls
(9 KiB) Scaricato 249 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
Mikele 350
Messaggi: 30
Iscritto il: mercoledì 26 settembre 2018, 10:04

Re: Copia riga se

Messaggio da Mikele 350 »

Grazie Mille...
era quello che cercavo
OpenOffice 3.1 su Windows Vista
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1750
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copia riga se

Messaggio da gioh66 »

Ottimo, ti ricordo solo che se il criterio del confronta non è univoco, ti da come risultato solo la riga del primo trovato.
...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
Mikele 350
Messaggi: 30
Iscritto il: mercoledì 26 settembre 2018, 10:04

Re: Copia riga se

Messaggio da Mikele 350 »

No, allora ... a me serve che mi copi tutte le righe che contengono il valore 122
OpenOffice 3.1 su Windows Vista
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1750
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copia riga se

Messaggio da gioh66 »

Ok allora serve una formula diversa. Devi usare questa formula matriciale (CTRL+MAIUSCOLO+INVIO per confermarla)

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDICE(A$5:A$19;PICCOLO(SE($E$5:$E$19=122;RIF.RIGA($E$5:$E$19)-4);RIF.RIGA($A1))));"";INDICE(A$5:A$19;PICCOLO(SE($E$5:$E$19=122;RIF.RIGA($E$5:$E$19)-4);RIF.RIGA($A1))))
Una volta inserita nella prima cella e confermata come ti ho detto sopra la copi e incolli a destra e in basso.
Riallego file
Allegati
forum--1.ods
(19.69 KiB) Scaricato 252 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
Mikele 350
Messaggi: 30
Iscritto il: mercoledì 26 settembre 2018, 10:04

Re: Copia riga se

Messaggio da Mikele 350 »

Ciao,
così va bene solo che non riesco a modificare le celle di riferimento.
Riesci ad aiutarmi?
Allego il file completo, le indicazioni sono nel foglio 2.
Grazie
Allegati
forum--1.ods
(17.93 KiB) Scaricato 146 volte
OpenOffice 3.1 su Windows Vista
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1750
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copia riga se

Messaggio da gioh66 »

Buondì, con il nuovo foglio la formula diventa così

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDICE(Foglio2!A$1:A$6;PICCOLO(SE(Foglio2!$N$1:$N$6=Foglio2!$N$1;RIF.RIGA(Foglio2!$N$1:$N$6));RIF.RIGA($A1))));"";INDICE(Foglio2!A$1:A$6;PICCOLO(SE(Foglio2!$N$1:$N$6=Foglio2!$N$1;RIF.RIGA(Foglio2!$N$1:$N$6));RIF.RIGA($A1))))
Ho avuto qualche problemino a impostare la formula perchè PREAVVISO è scritto con degli spazi alla fine e per il foglio di calcolo "PREAVVISO" non è uguale a "PREAVVISO ".
Inoltre ho notato che nelle colonne J e K del foglio2 alcuni numeri sono scritti come testo.

Ho notato poi che, nel foglio1 hai spostato la tabella all'inizio del foglio e non hai avuto più i risultati corretti.
Il fatto è dovuto alla formula che cerca all'interno della tabella il numero di riga che corrisponde al criterio di ricerca. Il numero di riga è dato dalla formula RIF.RIGA(Foglio2!$N$1:$N$6), che conta i numeri da 1 a 6 (nell'esempio). Se però la tabella, com'era nel primo esempio comincia dalla quarta riga, allora il riferimento di riga diventa RIF.RIGA(Foglio2!$N$4:$N$10), solo che così il conteggio parte dalla riga 4 alla 10, ma siccome per la formula serve che il conteggio cominci sempre da 1, si sottrae il numero di righe che stanno sopra l'inizio dell'area dei dati da analizzare, per cui, in un caso simile, bisogna scrivere.
RIF.RIGA(Foglio2!$N$4:$N$10)-3.
Allegati
forum--1-2.ods
(18.83 KiB) Scaricato 181 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
Mikele 350
Messaggi: 30
Iscritto il: mercoledì 26 settembre 2018, 10:04

Re: - Copia riga se

Messaggio da Mikele 350 »

Ciao Ragazzi..
avrei bisogno di un ulteriore aiuto,
- Foglio 2 Se la colonna N contiene una data, dovrebbe copiare tutta la riga nel foglio Tassative
- Foglio 2 Se la colonna N contiene " " e stessa riga colonna L contiene " " dovrebbe copiare tutta la riga nel Foglio Normali...


Qualcuno riesce ad aiutarmi oppure mi spiega la formula?

Grazie
Allegati
forum--1-2.ods
(17.45 KiB) Scaricato 97 volte
OpenOffice 3.1 su Windows Vista
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1750
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copia riga se

Messaggio da gioh66 »

Premesso che non vedo date nella colonna N del Foglio2 e che le celle vuote in realtà contengo diversi spazi e ciò non le rende tali, se elimini gli spazi delle celle vuote, in A1 del foglio "Normali" prova

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDICE($Foglio2.A$1:A$6;PICCOLO(SE(($Foglio2.$N$1:$N$6="")*($Foglio2.$L$1:$L$6="");RIF.RIGA($Foglio2.$N$1:$N$6));RIF.RIGA($A1))));"";INDICE($Foglio2.A$1:A$6;PICCOLO(SE(($Foglio2.$N$1:$N$6="")*($Foglio2.$L$1:$L$6="");RIF.RIGA($Foglio2.$N$1:$N$6));RIF.RIGA($A1))))
da confermare matriciale con ctrl+maiuscolo+invio e copiare e incollare in basso e a destra.
Per il foglio "Tassative" invece metti in A1

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDICE($Foglio2.A$1:A$6;PICCOLO(SE(VAL.NUMERO($Foglio2.$N$1:$N$6);RIF.RIGA($Foglio2.$N$1:$N$6));RIF.RIGA($A1))));"";INDICE($Foglio2.A$1:A$6;PICCOLO(SE(VAL.NUMERO($Foglio2.$N$1:$N$6);RIF.RIGA($Foglio2.$N$1:$N$6));RIF.RIGA($A1))))
Ps. se non vuoi vedere gli zeri (in formato data sono visualizzati come 30/12/99) puoi applicare alle colonne una formattazione condizionale la dove se la cella è uguale a zero imposti un colore carattere bianco.
Allegati
forum--1-2(bis).ods
(32.22 KiB) Scaricato 83 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
Mikele 350
Messaggi: 30
Iscritto il: mercoledì 26 settembre 2018, 10:04

Re: Copia riga se

Messaggio da Mikele 350 »

Ciao,
ho provato a riadattare la formula ma non riesco...
ti spiego... nel file in allegato ho necessità che
Se nel foglio "ELENCO SPEDIZIONI" ci sono righe con colonna N e colonna L vuote (IN REALTA' HANNO DEGLI SPAZI) mi copia tutta la riga nel foglio normali....
mentre se sempre nel foglio ELENCO SPEDIZIONI ci sono righe nella colonna L con una data mi copia tutta la riga nel foglio TAX...
Allegati
open.ods
(202.57 KiB) Scaricato 105 volte
OpenOffice 3.1 su Windows Vista
Avatar utente
gioh66
Volontario
Volontario
Messaggi: 1750
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Copia riga se

Messaggio da gioh66 »

Ciao con il nuovo file in mano, ho provato ad usare formule matriciali, ma visto che ci sono molti dati il file diventa molto lento.
Per cui se ti va bene ho optato per una soluzione con due colonne d'appoggio messe nel foglio "ELENCO SPEDIZIONI".
In AE457 ho messo

Codice: Seleziona tutto

=MATR.SOMMA.PRODOTTO(VAL.NUMERO($L$457:L457))
e tirata in basso. Questa colonna serve per avere il numero di riga in cui compare una data nel foglio "TASSATIVE".
In
AF457 invece ho messo, per trovare il numero di riga in cui sia L che N sono vuote nel foglio "NORMALI"

Codice: Seleziona tutto

=MAX((ANNULLA.SPAZI(L457)=ANNULLA.SPAZI(N457))+AF456)
Poi in B2 di tassative ho usato la formula

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDICE('ELENCO SPEDIZIONI'.$A$457:$AA$1607;CONFRONTA(RIF.RIGA($A1);'ELENCO SPEDIZIONI'.$AE$457:$AE$1607;0);CONFRONTA(B$1;'ELENCO SPEDIZIONI'.$A$456:$AA$456;0)));"";INDICE('ELENCO SPEDIZIONI'.$A$457:$AA$1607;CONFRONTA(RIF.RIGA($A1);'ELENCO SPEDIZIONI'.$AE$457:$AE$1607;0);CONFRONTA(B$1;'ELENCO SPEDIZIONI'.$A$456:$AA$456;0)))
da tirare a destra e in basso.
E nel foglio normali

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDICE('ELENCO SPEDIZIONI'.$A$457:$AA$1607;CONFRONTA(RIF.RIGA($A1);'ELENCO SPEDIZIONI'.$AF$457:$AF$1607;0);CONFRONTA(B$1;'ELENCO SPEDIZIONI'.$A$456:$AA$456;0)));"";INDICE('ELENCO SPEDIZIONI'.$A$457:$AA$1607;CONFRONTA(RIF.RIGA($A1);'ELENCO SPEDIZIONI'.$AF$457:$AF$1607;0);CONFRONTA(B$1;'ELENCO SPEDIZIONI'.$A$456:$AA$456;0)))
...importante, perchè la formula funzioni bene, le intestazioni delle colonne delle tabelle devono essere identiche. Io ho corretto solo la prima da FIL a FILIALE, se ce ne sono altre provvedi tu a correggere.
Un'ultima cosa: quando si chiede un aiuto è sempre meglio allegare subito una copia uguale all'originale, altrimenti, come in questo caso non si riesce a trasporre le soluzioni sul file definitivo.
https://www.dropbox.com/s/4ig7a82ay1q01 ... 9.ods?dl=0
Ti allego copia del file da scaricare da dropbox in quanto dopo applicate le formule supera il limite de 256kb per poterlo allegare direttamente.
...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
Rispondi