2013-05-20 35 views
9

Nel report tabella pivot di Excel è possibile l'intervento dell'utente inserendo "Campo calcolato" in modo che l'utente possa ulteriormente manipolare il rapporto. Questo sembra l'approccio migliore rispetto all'utilizzo della formula sui dati della tabella pivot, al di fuori della tabella pivot, per molte ovvie ragioni.Utilizzare la formula nel campo calcolato personalizzato nella tabella di pivot

dialogo "campo calcolato", assomiglia a questo:

enter image description here

e mentre è facile da fare calcoli tra le variabili disponibili (come mostrato in figura) non riesco a trovare come fare riferimento intervallo di valori per qualsiasi variabile disponibile.

Ad esempio, se per qualche motivo desidero centrare i dati nell'intervallo A1:A100, utilizzare = A1 - AVERAGE(A1:A100) e riempire tutte le righe nella normale tabella di Excel. Ma per la tabella Pivot, se utilizzo la finestra di dialogo "Campo calcolato" e aggiungo una nuova variabile con la formula: = 'Actual Sales' - AVERAGE('Actual Sales') ottengo 0 come output.

Quindi la mia domanda è: come posso fare riferimento all'intero intervallo per la variabile "Vendite effettive" nella finestra di dialogo "Campo calcolato", in modo che AVERAGE() restituisca la media di tutte le celle targetizzate?

risposta

12

Inserirò questo commento come risposta, poiché sono abbastanza sicuro che ciò che ho chiesto non è possibile.

I) Un paio di domande simili che cercano di fare la stessa cosa, ma senza successo:

II) Questo articolo: Excel Pivot Table Calculated Field per esempio elenca molte restrizioni di campo calcolato :

  • Per calcolato f ield, i singoli importi negli altri campi vengono sommati e quindi il calcolo viene eseguito sull'importo totale.
  • formule dei campi calcolati non possono fare riferimento ai totali o parziali tabella pivot
  • formule di campo calcolato non può fare riferimento al foglio cellule per indirizzo o per nome.
  • Somma è l'unica funzione disponibile per un campo calcolato.
  • I campi calcolati non sono disponibili in una tabella pivot basata su OLAP.

III) Non c'è minuscola limitata possibilità di utilizzare AVERAGE() e funzione simile per un intervallo di celle, ma che si applica solo se la tabella pivot non sono raggruppati cellule, che permette che elenca le celle come gli articoli di nuovo gruppo (diritto alla casella di controllo "Fileds" nello screenshot precedente) e quindi l'utente può calcolare AVERAGE(), facendo riferimento esplicitamente a ogni elemento (cella), dalla casella di riepilogo Articoli, come argomento. Forse è meglio spiegato qui: Calculate values in a PivotTable report
Per la mia tabella pivot non era applicabile perché la mia gamma non era abbastanza piccola, questa opzione era una scelta sensata.

3

Alcuni di esso è possibile, i totali parziali in particolare di accesso:

"In Excel 2010+, è possibile fare clic destro su valori e selezionare Mostra valori come ->% del totale riga padre." (O% del genitore Totale Colonna)

enter image description here

  • E assicurarsi che il campo in questione è un campo numero che può essere riassunta, non funziona per i campi di testo per i quali solo conteggio è normalmente informativo.

Fonte: http://datapigtechnologies.com/blog/index.php/excel-2010-pivottable-subtotals/

0

tabella pivot media Excel2007- di escludere zeri

= SOMMA (XX: XX)/count if (XX: XX, "> 0")

fattura USD

Quantità Rate (count) Valore (somma) 300 0,000 000,000 1000 0,385 385,000

Conteggio tariffa media dovrebbe escludere la tariffa 0.000

1

Grazie per aver piantato un seme, Cel! Ho lottato per ore, finalmente ce l'ho fatta. Stavo contando un campo di testo, oops, calcolo fallito.

Create 2 colonne helper nei miei dati non elaborati, ognuna risultante in 1 se la condizione era soddisfatta, 0 se non. Poi sono stati inseriti in una colonna pivot, i miei sono chiamati "Inbd" (per Inbound), "Back", dove "Back" è un ritorno alla funzione di invio, quindi in realtà il totale è un viaggio, non 2 viaggi, cioè, back è un sottoinsieme di inbound e non ogni inbd ha un back (ovviamente). Cercando di calcolare nella tabella pivot in modo da poter ordinare sul campo il tasso di ritorno all'arrivo per ogni impianto di invio.

Per il mio campo calcolato che ho usato: =IFERROR(IF(Pvt_Back>0,Pvt_Back/Pvt_Inbd,0),0) Quindi: se abbiamo mandato di nuovo a inviare un numero di volte maggiore di 0, dividere Back/Inbd a darmi un tasso; se uguale a 0, quindi 0; se Inbd = 0, quindi 0 per evitare l'errore Div/0.

Grazie ancora !! :)

+0

Puoi controllare la formula nel campo calcolato? Mi sarei aspettato che fosse = = IFERROR (IF (Pvt_Inbd> 0, Pvt_Back/Pvt_Inbd, 0), 0) '. – josliber

Problemi correlati