Intervallo di date della tabella pivot di Excel come colonne


2

Ho i seguenti dati che desidero ruotare:

Student JoinDate ReleaseDate
Giovanni 01/05/2011 05/05/2011
James 02/05/2011 04/05/2011

Vorrei creare una tabella pivot che mi mostri un conteggio di studenti in un determinato intervallo di date:

01/05/2011 02/05/2011 03/05/2011 04/05/2011 05/05/2011
1 2 2 2 1

Ora, il problema che ho è che voglio che la tabella pivot espanda in qualche modo le date, non riesco a capire come raggiungerlo con la mia attuale struttura di dati.

Posso raggiungerlo con la seguente struttura:

Student JoinDate ReleaseDate PivotDate
Giovanni 01/05/2011 05/05/2011 01/05/2011
Giovanni 01/05/2011 05/05/2011 02/05/2011
Giovanni 01/05/2011 05/05/2011 03/05/2011
Giovanni 01/05/2011 05/05/2011 04/05/2011
Giovanni 01/05/2011 05/05/2011 05/05/2011
James 02/05/2011 04/05/2011 02/05/2011
James 02/05/2011 04/05/2011 03/05/2011
eccetera...

Ma questa tecnica non si adatta molto bene data la quantità di dati in uso, sto colpendo facilmente il numero massimo di righe per un singolo foglio nella cartella di lavoro.

Qualcuno ha qualche suggerimento su come posso creare la tabella pivot desiderata senza avere una riga per ogni data in cui lo studente è "attivo" ..?

Risposte:


3

Se sei disposto a provare una soluzione che non prevede tabelle pivot:

Rimuovere la colonna Data pivot. Disporre l'intervallo di date nelle intestazioni e utilizzare la formula AND () per determinare se tale data rientra nel mandato dello studente. I tuoi dati saranno simili ai seguenti:

inserisci qui la descrizione dell'immagine

Ecco come appare la formula in D2 (notare i riferimenti assoluti). Basta trascinare o copiare la formula sul resto delle colonne e delle righe, il riempimento automatico dovrebbe occuparsi del resto:

=AND(D$1>=$B2,D$1<=$C2)+0

Il formato numerico è impostato su questo: "+";;

La formula per il numero totale di studenti per intervallo di date è piuttosto semplice. Ecco la formula per D26 sopra.

=sum(D2:D25)

Per aggiungere colonne, basta copiare l'ultima colonna e cambiare la data sopra. Per aggiungere studenti, inserisci una riga vuota sopra l'ultimo studente (in questo caso, sopra Banshee ). Registra una macro per semplificare l'aggiornamento dei dati. In questo modo non è necessario regolare manualmente la formula SUM nella riga inferiore. È possibile ordinare i dati per nome dello studente, data di iscrizione o data di uscita; le formule a destra dovrebbero andare bene.

Ecco una copia del foglio di calcolo mostrato sopra (richiede MS Excel 2007): http://ge.tt/46auqAN


Questo è fantastico Sarebbe meraviglioso fornire una formula di esempio nel testo della risposta, non solo in un esempio di download, nel caso in cui successivamente non fosse disponibile.
datatoo

Grazie! Ho dimenticato che i collegamenti ge.tt scadono dopo 30 giorni. Ho aggiornato il post per includere le formule. : D
Ellesa,

1

È possibile ottenere questi conteggi con una formula di matrice. Non è necessario alcun Pivot.

Supponendo che JoinDate sia attivo column B, ReleaseDate attivo column Ce solo le due righe di dati per questo esempio.
Le date da sommare sono in columns Eavanti: Formula in E2. Inserisci come formula di matrice (premi Ctrl-Maiusc-Invio anziché Invio per completare la formula)

=SUM(((($B$2:$B$4<=E$1)*1+($C$2:$C$4>=E$1)*1)=2)*1)

Copia attraverso la riga 2 per ogni data per cui desideri un totale

La formula ha un aspetto migliore ed è più facile da mantenere se si utilizzano intervalli denominati per i dati della data

=SUM((((JoinDate<=E$1)*1+(ReleaseDate>=E$1)*1)=2)*1)

Gli intervalli di date possono estendersi oltre i dati esistenti per consentire di aggiungerne altri. es. Anche $B$1:$B$100
Whole column ( $B:$B) funziona, ma rallenterà il ricalcolo

A proposito, se si utilizza Excel 2007 o versione successiva è disponibile una nuova funzione (immettere come formula normale, non è necessario un array):

=COUNTIFS(JoinDate,"<="&E$1,ReleaseDate,">="&E$1)

0

Potrebbe non essere adatto alla tua applicazione, ma dovresti provare la funzione Pivot in MS Access di gran lunga superiore a Excel

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.