Buongiorno a tutti,
avrei bisogno di estrapolare da una tabella tutti i nomi delle persone che sono presenti.
In allegato un esempio del risultato che vorrei.
Grazie anticipatamente
ESEMPIO.ods (11.9 KB)
https://help.libreoffice.org/latest/it/text/scalc/guide/autofilter.html
EDIT:
ESEMPIO_LeroyG.ods (11.0 KB)
Funzione TESTO.UNISCI.
Salve, un’altra soluzione sempre matriciale
=TESTO.UNISCI(", ";1;SE(B$2:B$7="PRESENTE";A$2:A$7;""))
ESEMPIO_testounisci_matriciale.ods (11.8 KB)
Ottima. L’avevo provata anch’io ma sbagliavo qualcosa e non ottenevo il risultato corretto.
[Leroy G] grazie per il consiglio, ma non è quello che mi serve, io ho bisogno che tutti i nomi delle persone presenti siano riportate una accanto all’altra separate da una virgola, come nell’esempio che ho allegato. Grazie
Per il risultato che vuoi, devi impostare una formula di questo genere:
=CONCATENA(SE(B2=“PRESENTE”;CONCATENA(A2;", “);”");
SE(B3=“PRESENTE”;CONCATENA(A3;", “);”"); e così via fino a esaurimento del tuo elenco o (più probabilmente) a raggiungimento del limite massimo di elementi della funzione CONCATENA o del numero massimo di caratteri nella cella.
La semplice applicazione di un filtro, che ti suggeriva LeroyG, è una soluzione molto più semplice e razionale.
Ciao. Per avere il risultato come vuoi nel tuo esempio ti propongo due soluzioni con TESTO.UNISCI.
La prima prevede una colonna d’appoggio. In C2 metti
=SE(B2="PRESENTE";A2;"")
e tira in basso. Poi in B9 usa
=TESTO.UNISCI(", ";1;C2:C7)
Oppure con una formula unica, però matriciale, cioè da confermare con ctrl+maiuscolo+invio e non con il solo invio, in B9 metti
=TESTO.UNISCI(", ";1;SE.ERRORE(INDICE(A2:A7;AGGREGA(15;6;(RIF.RIGA(A2:A7)-1)/(B2:B7="PRESENTE");RIF.RIGA(A1:A7)));""))
Ti allego file d’esempio con le due soluzioni in B11 e B13
unisci testo.ods (21.0 KB)