Posso "subtotal" con una funzione arbitraria, ad es. Concatenazione di stringhe?


0

Mi piacerebbe produrre un "subtotale" di una tabella in cui la funzione di subtotale è una stringa concat anziché una funzione numerica (conteggio, somma, media).

Ad esempio, considera questa tabella:

enter image description here

Voglio il seguente risultato:

enter image description here

Per me, sembra che "concat" (o "join") sia stato tolto dal subtotaling. Ma non credo che Excel capisca davvero la programmazione funzionale (indipendentemente da quanto affermato da alcune persone). Quindi, come posso fare questo (in particolare, come posso farlo approfittando della voce di menu Subtotale che inserisce automaticamente tutte le formule di subtotaling, anche se devo successivamente modificare le formule per ottenere ciò che voglio lavorare).

E, in effetti, Excel è molto potente con una gran quantità di funzionalità. Quindi posso ottenere questo in qualche altro modo oltre al totale parziale? (Preferirei soluzioni non di scripting).

E, inoltre, Excel non è l'unico strumento nella casella degli strumenti. Supponiamo di avere questa tabella in un file CSV. C'è un modo per farlo con le utility Unix standard (ad es. cut? presumibilmente awk potrebbe gestirlo, come sarebbe quello sguardo)?


Quale versione di Excel?
ejbytes

Sembra che tu stia cercando un risultato, ma in realtà non stai usando Excel per una ragione particolare, giusto?
ejbytes

SUBTOTAL offre 11 funzioni integrate, tutte matematiche. Da Excel 2010, credo, AGGREGATE è simile, offrendo 19 funzioni, ma ancora una volta, tutte matematiche. Anche le funzioni della tabella pivot sono matematiche. Non sono a conoscenza di una funzione generale di tipo simile che consente di specificare le operazioni con le stringhe come impostazione dei parametri. Questo può essere fatto in Excel (o altre applicazioni), ma non nel modo in cui descrivi.
fixer1234

La versione di @ejbytes è ... Office 365? 16.0.7167? E sì, non sto usando Excel per nessuna ragione particolare in questo caso particolare (i dati originali erano seduti in un file di testo) ma in passato volevo fare questo genere di cose in Excel. È anche difficile in SQL, quindi ho portato i dati in Excel ... e sono rimasto bloccato. Questa volta ho fatto una domanda al riguardo ....
davidbak

Col1 è sempre in ordine?
Atzmon

Risposte:


2

Questa potrebbe non essere la soluzione più elegante, ma prova questo, in base al fatto che Col1 è garantito per essere ordinato:

  1. Aggiungi una colonna (C) per contenere le concatenazioni cumulative dei valori di Col2. La formula per la cella C2 è =IF(A2=A1, CONCATENATE(C1, ",", B2), B2) e puoi riempirlo automaticamente per il resto delle celle.

  2. Aggiungi una colonna (D) per contrassegnare le righe che contengono la concatenazione massima (più lunga), ovvero l'ultima riga di ogni valore in Col1. La formula per la cella D2 è =IF(A2<>A3, TRUE, FALSE) e puoi riempire automaticamente il resto delle celle.

    La tabella sarà simile a questa:

    enter image description here

  3. Filtra la tabella per TRUE valori nella colonna D:

    enter image description here

  4. Ora puoi nascondere le colonne B e D:

    enter image description here


Intelligente e facile da configurare! Auto manutenzione come cambia anche la tabella.
davidbak

Considerare questo come risposta. Grazie.
Atzmon
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.