È necessario il conteggio univoco del testo da più colonne per categoria


0

I miei dati sembrano simili (supponiamo che inizi in A1):

 Category,Label1,Label2 
 Dogs,blank,doe
 Dogs,zoo,blank 
 Cats,zoo,yup 
 Cats,doe,hgg 
 Cats,blank,doe 

Come dovrebbe essere il risultato:

 Dogs, 2
 Cats, 4

I miei dati effettivi hanno centinaia di righe e 5 colonne di etichette.

Sto cercando una soluzione che utilizza un sottoprodotto o una formula array e in grado di gestire spazi vuoti e matrici di dimensioni diverse. Vorrei evitare VBA se possibile.

Ho finito con questa formula ma non è ancora la risposta giusta:

=SUM((($A$2:$A$6="Dogs")*($B$2:$C$6<>""))/(COUNTIF($B$2:$C$6,$B$2:$C$6&"")))

Ho provato a concatenare (A2: A6 e B2: C6) nel parametro intervallo countif ma countif non ha accettato questo. Ho provato il sumproduct ma non mi è piaciuto usare array di dimensioni diverse (1 colonna contro 2 colonne) e molto altro. Ho trascorso la maggior parte dei due giorni a ricercare e cercare di risolverlo.

In attesa di aiuto e competenza.


hai preso in considerazione la creazione di una tabella pivot?
David Dai,

Perché il Catsrisultato è 4?
Michael Frank,

La formula ideale consisterebbe nel concatenare insieme le cinque colonne e contarle per corrispondenze identiche. Una formula di array può farlo ma a quale costo in termini di prestazioni? Ogni cella deve concatenarsi, quindi per ottenere il risultato deve concatenare tutte le altre righe. Per un foglio di calcolo con solo un centinaio di righe, la concatenazione avverrà 100x100volte
wbeard52

Il mio suggerimento sarebbe una colonna di supporto che concatena tutte le colonne in una.
wbeard52,

@DavidDai Oggi posso realizzare ciò di cui ho bisogno impilando manualmente tutte le colonne Label (+ ripetizioni di categoria in una colonna separata), quindi inserendo una tabella pivot in quel set di dati (Categoria ed etichetta in righe), quindi copiando e incollando quello e inserendo un'altra tabella pivot in quello per ottenere etichette uniche per categoria. Sto cercando di semplificare il mio processo poiché è qualcosa che faccio spesso.
daniellopez46,

Risposte:


1

Vorrei utilizzare il componente aggiuntivo Power Query per questo. Ha un comando Raggruppa per che include un'operazione Count Distinct Rows. È documentato qui (anche se non hanno ancora raggiunto quell'operazione):

https://support.office.com/en-us/article/Group-rows-in-a-table-Power-Query-e1b9e916-6fcc-40bf-a6e8-ef928240adf1?ui=en-US&rs=en-US&ad= NOI

Per preparare i dati in Power Query (prima di utilizzare il comando Raggruppa per), selezionare la colonna Categoria e utilizzare il comando Trasforma / Annulla colonne / Annulla colonne altre colonne. Ciò trasformerà le colonne Label1 e Label2 in colonne Attribute e Value. Vorrei rimuovere la colonna Attributo - che lascia solo la colonna Valore contenente daina, zoo, ecc.

Il passaggio finale è il gruppo in base al quale verranno conteggiati correttamente i valori distinti / unici, ad esempio Cats = 4


1
Questa è un'ottima soluzione! Ho sentito parlare di Power Pivot (non un utente serio, ho giocato un po 'prima) ma non di Power Query. All'inizio ho pensato che questo sarebbe stato un editor SQL più sofisticato rispetto alla query MS, che sarebbe stata ottima anche dal momento che sono esperto di SQL. Ma è molto meglio!
daniellopez46,

Ho giocato un po 'con Power query stamattina per vedere se questo soddisferà davvero le mie esigenze. Finora sembra che lo farà. Sto solo cercando di capire se condividere un .xlsx con le query di Power è facile come inviare il file. Ovviamente chiunque condividerò dovrà avere il componente aggiuntivo Power Query.
daniellopez46,

1
È stato semplice come inviare il file tramite e-mail a qualcuno che ha già installato il componente aggiuntivo Power Query. BTW Power Query è stato molto facile da installare (ci sono voluti solo un paio di minuti). +1 per avermi presentato uno strumento che non solo ha risolto questo problema, ma risolverà un altro problema simile. Mi vedo usare questo strumento molto nel prossimo futuro. Ti darei +2 se potessi. Grazie ancora!
daniellopez46,

Sì, è fantastico - ultimamente ci ho lavorato molto e sembra molto flessibile e affidabile. Penso che colmi un divario (enorme) tra l'hacking dei dati manualmente e la creazione e il mantenimento di una soluzione completamente codificata. A proposito di Excel 2016, Power Query è integrato nella barra multifunzione Dati nella sezione "Ottieni e trasforma".
Mike Honey,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.