Condividi:        

Contare occorrenze eliminando i duplicati - Prospetto dati

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Contare occorrenze eliminando i duplicati - Prospetto dati

Postdi ricky53 » 18/01/23 17:49

Ho una tabella così costituita:

colonna "A" cognome
colonna "B" data
colonna "C" attività svolta
altre dati non rilevanti

Informazioni:
lo stesso cognome nello stesso giorno può svolgere attività diverse

A me occorre sapere:
1. per cognome e per data se una persona ha svolto almeno un'attività
2. per cognome quante attività ha svolto

ATTENZIONE: se nello stesso giorno la stessa persona ha svolto più di 1 attività si assume che ha svolto 1 sola attività !!!

Dati:
C1 - 1 gen - Att1
C1 - 1 gen - Att2
C1 - 1 gen - Att3
C1 - 3 gen - Att1
C1 - 3 gen - Att4
C1 - 4 gen - Att5

C2 - 2 gen - Att1
C2 - 2 gen - Att3
C2 - 3 gen - Att3
C2 - 3 gen - Att4
C2 - 3 gen - Att5
C2 - 3 gen - Att7

Devo ottenere due prospetti:

Prospetto 1: (cognome - data)
C1 - 1 gen
C1 - 3 gen
C1 - 4 gen
C2 - 2 gen
C2 - 3 gen


Prospetto 2: (cognome - numero attività svolte)
C1 - 3
C2 - 2

Grazie
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Sponsor
 

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi ricky53 » 19/01/23 00:21

Ciao,
in attesa di una vostra risposta, ed avendo un po' di tempo, ho scritto alcune righe di codice ed ho risolto.
Non penso siano utili e quindi non le riporto.
Se dovessero interessare a qualcuno le riporterò.

Avrei preferito utilizzare una formula
Spero in una vostra soluzione

Grazie
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi wallace&gromit » 19/01/23 08:36

Non si risolveva con due tabelle pivot?
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2180
Iscritto il: 16/01/12 14:21

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi Anthony47 » 19/01/23 11:49

Se avessi XL2021 o 365 sarebbe stato abbastanza facile anche con formule; es l'elenco Cognomi /Date:
Codice: Seleziona tutto
=LET(uTab;UNICI(A2:A20&"|"&TESTO(B2:B20;" gg-mmm"));DIVIDI.TESTO(uTab;"|"))

Con versioni che non hanno queste "nuove" funzioni diventa un insieme di formule a matrici da mal di testa, quindi benissimo vba, oppure una Funzione utente sempre in vba.
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi ricky53 » 19/01/23 15:12

Grazie, avevo quasi la certezza che la soluzione con formule fosse da mal di testa...
Essendo io in vecchio programmatore mi sono buttato sul codice VBA.

Volevo comunque vedere se i guru delle formule potevano non farmi venire il mal di testa.

Al momento ho fatto proprio una macro che viene richiamata all'attivazione del foglio delle statistiche ed elabora tutti i dati e scrive sul foglio statistiche quello che occorre.

Grazie come sempre
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi ricky53 » 06/02/23 18:37

Ciao Anthony,
Ritorno al mio quesito per curiosità nell'utilizzo delle funzioni che mi hai proposto.

Su un PC con installato Office 2021 ho voluto provare la tua soluzione:

Anthony47 ha scritto:Se avessi XL2021 o 365 sarebbe stato abbastanza facile anche con formule; es l'elenco Cognomi /Date:
Codice: Seleziona tutto
=LET(uTab;UNICI(A2:A20&"|"&TESTO(B2:B20;" gg-mmm"));DIVIDI.TESTO(uTab;"|"))



Il 2021 riconosce LET, UNICI, ma non esiste la funzione DIVIDI.TESTO. (probabilmente è della versione 365)
Una funzione alternativa o ....?

Grazie
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi Anthony47 » 07/02/23 11:48

Gia'... quella funzione (insieme a tante altre) e' stata rilasciata nel 2022 (https://techcommunity.microsoft.com/t5/ ... p/3186066)

Si potrebbe usare Filtro.Xml...
Ad esempio se in A2 hai la stringa "uno due tre quattro cinque" puoi estrarre le stringhe usando " " (spazio) come separatore con la formula
Codice: Seleziona tutto
=MATR.TRASPOSTA(FILTRO.XML("<x><y>"&SOSTITUISCI(A2;" ";"</y><y>")&"</y></x>";"//y"))
(senza Matr.Trasposta il risultato viene presentato in verticale)

Ma Filtro.Xml non puo' essere usata con matrici, quindi va fatto riga per riga, ma allora si perde il vantaggio della funzione UNICI; a meno che non si crei prima una colonna di "unici" con la formula
Codice: Seleziona tutto
=LET(uTab;UNICI(A2:A20&"|"&TESTO(B2:B20;" gg-mmm"));uTab)
(ma qui l'uso di LET e' praticamente inutile)
E poi si usi la formula con Filtro.Xml abbozzata prima per splittare su piu' colonne
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi Anthony47 » 07/02/23 12:14

Una piccola semplificazione usando la funzione LAMBDA:
1) tramite la formula detta prima crei la colonna di appoggio con gli "unici Cognome-Data"

2) ti crei una funzione che fa lo split del testo:
-tramite Menu /Formule /Gestione nomi crei un "nuovo nome" cui assegni il nome SPLITTER
-in Riferito a scrivi la formula
Codice: Seleziona tutto
=LAMBDA(Text;Sep;MATR.TRASPOSTA(FILTRO.XML("<x><y>"&SOSTITUISCI(Text;Sep;"</y><y>")&"</y></x>";"//y")))

Ora su Excel hai la tua funzione SPLITTER che come parametri richiede il Testo e il Separatore.

Quindi se l'elenco degli unici e' in E2, in F2 uoi usare
Codice: Seleziona tutto
=SPLITTER(E2;"|")
Da copiare poi verso il basso
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi ricky53 » 08/02/23 14:04

Ciao,
grazie.
Interessante soluzione.
Oggi la provo e ti aggiorno.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi ricky53 » 13/02/23 18:32

wallace&gromit ha scritto:Non si risolveva con due tabelle pivot?

Scusa vedo solo ora la tua risposta.
non avevo provato prima di scrivere sul forum.
Non si ottiene quello che occorre

Grazie comunque
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Contare occorrenze eliminando i duplicati - Prospetto da

Postdi ricky53 » 13/02/23 18:35

Grazie Anthony,

AGGIORNAMENTO:
per semplicità di utilizzo da parte degli utenti che sono poco smart con excel, sono obbligato ad utilizzare la macro iniziale con dei controlli specifici della questione.

Grazie ancora

Alla prossima
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "Contare occorrenze eliminando i duplicati - Prospetto dati":


Chi c’è in linea

Visitano il forum: Milanooooo e 9 ospiti