[Risolto] «Compattare» i dati di altre celle

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Humphr3y
Messaggi: 63
Iscritto il: mercoledì 4 dicembre 2013, 11:21
Contatta:

[Risolto] «Compattare» i dati di altre celle

Messaggio da Humphr3y »

Salve a tutti.

Sono alle prese con un problema su cui sto impazzendo da ore, con la convinzione (probabilmente del tutto infondata, a questo punto) di sapere già la soluzione - ma di non riuscire a tirarla fuori né dal mio bagaglio di conoscenze né dal Forum, che sto spulciando da cinque ore.

Nel file di esempio che allego ho traslato il problema in una specie di lista della spesa: ho un elenco di «ingredienti» e volta per volta ne marco alcuni (fino a un massimo di 8) che mi servono.

Questi «ingredienti», se selezionati, mi serviranno per scopi successivi in un'altra area del foglio di calcolo.

Ne deduco che la soluzione migliore sarebbe usare delle celle di appoggio, in cui ottenere una compattazione delle sole celle contrassegnate e da usare poi come base per l'uso successivo. E la compattazione è esattamente ciò che non riesco ad ottenere.

L'allegato contiene, nella colonna "Formula attuale", l'ultimo tentativo disperato (e palesemente errato, lo so da me in partenza; ma speravo mi servisse almeno da ispirazione per la retta via) di arrivare a un risultato per conto mio. In giallo, le sole celle che devono/potrebbero essere popolate dal processo di compattazione. Ho indicato come «(resta vuota)» le celle in cui la ricerca di valori viene effettuata ma non dà risultato. Il fatto che i dati siano in ordine alfabetico/crescente NON è necessariamente corrispondente al vero nel caso reale.

La cosa che mi fa più rabbia è che ho la distinta sensazione che si tratti di un problema ridicolo... :crazy:

Grazie a tutti, e un'ottima giornata.
Allegati
Esempio.ods
(14.18 KiB) Scaricato 15 volte
Ultima modifica di Humphr3y il mercoledì 12 marzo 2025, 16:42, modificato 1 volta in totale.
OpenOffice 4.1.5 su Windows 10 e MacOS X 10.11.6
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1906
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: «Compattare» i dati di altre celle

Messaggio da gioh66 »

Ciao. Per quello che ti serve ho due soluzioni. La prima è una formula matriciale

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDICE($B$2:$B$24;PICCOLO(SE($A$2:$A$24="sì";RIF.RIGA($A$2:$A$24)-1);RIF.RIGA(A1))));"";INDICE($B$2:$B$24;PICCOLO(SE($A$2:$A$24="sì";RIF.RIGA($A$2:$A$24)-1);RIF.RIGA(A1))))
cioè una formula che va confermata con ctrl+maiuscolo+invio e poi copiata e incollata in basso per quel che serve.
Questa formula si rende necessaria perchè in colonna A hai diversi "sì" però le formule come CERCA.VERT e CONFRONTA si fermano alla prima occorrenza trovata.
La seconda non matriciale prevede che invece di mettere un "sì" tu metta un numero progressivo che parte da 1 e così basta questa formula da tirare in basso

Codice: Seleziona tutto

=SE(VAL.ERRORE(INDICE($B$2:$B$24;CONFRONTA(RIF.RIGA(A1);$C$2:$C$24;0)));"";INDICE($B$2:$B$24;CONFRONTA(RIF.RIGA(A1);$C$2:$C$24;0)))
Nell'esempio che ti allego ho messo il risultato su colonna H per la prima formula e su colonna J per la seconda.
Ps.: per la seconda ho messo i numeri progressivi sulla colonna C.
Allegati
Esempio bis.ods
(26.32 KiB) Scaricato 13 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1906
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: «Compattare» i dati di altre celle

Messaggio da gioh66 »

Visto che stavolta me ne sono ricordato, ti propongo altri due metodi: il filtro automatico e la tabella pivot.
Ti posto un video di come ho fatto. È su openoffice in inglese ma credo si capisca.
Ps.: dopo aver aggiunto "ricci" alla pivot, per farlo comparire nell'elenco ho aggiornato la tabella. Siccome dal video forse non si capisce bene, ho agito così. Ho cliccato col mouse su una cella, ho fatto click dx e ho selezionato refresh (aggiorna)
https://youtu.be/imx0OLsAwYM
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
Humphr3y
Messaggi: 63
Iscritto il: mercoledì 4 dicembre 2013, 11:21
Contatta:

Re: «Compattare» i dati di altre celle

Messaggio da Humphr3y »

Favoloso, gioh66, grazie mille! :D

Allora no, non si trattava di sapere già inconsciamente la soluzione e semplicemente non ricordarsela: è che non la sapevo proprio. :lol:

Dei metodi che proponi il migliore mi sembra la formula matriciale, ma una volta trasposta sul file vero qualcosa non quadra: una volta salvata nella prima cella di appoggio, al momento di trascinarla giù non si "aggiorna": vale a dire che il valore RIF.RIGA(A1) rimane RIF.RIGA(A1) in tutte le celle in cui ho trascinato la formula, e ottengo solo una sfilza di "primi risultati" (le graffe di matrice compaiono regolarmente, quindi proprio mi sfugge cosa sbaglio).

Opterò quindi per contrassegnare coi numeri le celle che mi interessano, e utilizzare la formula non matriciale.

EDIT - Maledizione a fare le cose male... Copiata e incollata, NON trascinata!

La formula matriciale funziona a meraviglia.

Grazie ancora infinitamente per la disponibilità!
Ultima modifica di Humphr3y il mercoledì 12 marzo 2025, 16:51, modificato 1 volta in totale.
OpenOffice 4.1.5 su Windows 10 e MacOS X 10.11.6
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1906
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: [Risolto] «Compattare» i dati di altre celle

Messaggio da gioh66 »

Bene se hai risolto. Per quanto riguarda la formula matriciale, se vuoi trascinarla, devi tenere premuto il tasto ctrl. Oppure come ti ho suggerito fai copia e incolla dopo averla inserita nella prima cella.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661

Libreoffice 25.8 LinuxMint 21/22
Rispondi