2015-09-16 29 views
5

Sono di fronte a riscrivere un progetto Excel in R. Vedo una tabella in cui viene visualizzata una cella {= TABLE (F2, C2)}. Capisco come creare una tabella come questa (What-If Analysis, Data Table ...).Formula di estrazione dalla tabella dati Excel (analisi What-If)

Come devo capire per riscrivere in R, come posso trovare la formula originale che si trova dietro quella cella?

ESEMPIO: ho creato una tabella di dati come mostrato here e il foglio si presenta come this:

SO32606771 question example

Nel mio caso, io non so come il foglio è stato creato, e voglio conoscere la formula iniziale Ora questo è mostrato come {=TABLE(,C4)}. (Nell'esempio conosco la risposta, è nella cella (D10), ma dove è di riferimento per questa cella nella tabella dei dati?)

+0

In VBA è possibile utilizzare l'oggetto intervallo e la proprietà Formula per ottenere la formula nella cella ... in modo da poter eseguire il ciclo attraverso tutti gli intervalli nella tabella e l'output della formula ... –

+0

@OurManInBananas grazie per il consiglio, ma quando provo ad emettere la formula, vedo di nuovo solo "TABLE (F2, C2)". Purtroppo non ho esperienza in Excel, è vero che estraggo così riferimenti non diretti? – Stanislav

+0

Puoi mostrarci un esempio delle formule che si trovano nelle celle che vuoi? – Luuklag

risposta

2

Utilizzo Excel 2007 ma non ho motivo di credere che le cose differiscano in altre versioni.

@Stanislav ha ragione a respingere il mio suggerimento di commento secondo cui TABLE era un nome; è una funzione EXCEL. Ma si tratta di una funzione molto strano: -}

  • Non c'è alcun aiuto sulla funzione TABLE nella guida locale, non è elencato nella sezione "Elenco delle funzioni del foglio di lavoro (ordine alfabetico)".
  • Non è possibile inserire o modificare manualmente la funzione TABELLA; errore "Quella funzione non è valida".
  • Copia/Incolla celle contenenti la funzione TABLE incolla i loro valori, non le loro formule, anche quando si specifica Incolla speciale> Formule
  • Non è possibile inserire righe/colonne immediatamente sopra/a sinistra delle celle contenenti la funzione TABELLA; errore "Impossibile modificare parte di una tabella di dati".
  • Passo @pnuts utilizzando le formule> Formula Le celle di controllo contenenti la funzione TABLE non mostrano precedenti e nessuna cella le mostra come dipendenti. Anche se in uno strumento di verifica dei fogli VBA che utilizzo la proprietà Range.DirectDependents trova la "gamma di formule" dipendente dalle celle "margine" contenenti le formule, ma non da quelle che contengono i valori (vedere sotto per la spiegazione di tali termini).

Non sono stato in grado di trovare nulla che consideri una documentazione decente di TABLE(). Ho trovato molte illustrazioni su come produrre e usare quella funzione, ma nulla che specifichi chiaramente gli argomenti e il risultato. Il migliore che ho trovato è https://support.office.com/en-us/article/Calculate-multiple-results-by-using-a-data-table-e95e2487-6ca6-4413-ad12-77542a5ea50b. Sarei lieto se qualcuno potesse indicarmi una documentazione migliore.

I dedurre la bahaviour come descritto qui:

TABELLA (Rowinp, Colinp) è una forma di matrice in una matrice di celle contigue.Mi riferirò a quell'array contiguo come "l'intervallo di formula" della tabella di dati. Anche le celle immediatamente sopra/a sinistra dell'intervallo della formula fanno parte della tabella dati, anche se non contengono una funzione TABLE() e possono essere modificate; Mi riferirò a quelle celle come ai "margini" della tabella dei dati.

Rowinp e Colinp devono essere vuoti o riferimenti a singole celle. Rowinp e Colinp devono essere diversi (o l'errore "Input cell reference non è valido"), non devono essere entrambi vuoti.

I valori nell'intervallo della formula vengono calcolati prendendo le formule dal margine o dai margini e sostituendo i riferimenti a Rowinp e/o Colinp con i valori dei margini.

Ci sono tre possibilità che si escludono a vicenda, corrispondenti a Rowinp in bianco o meno.

  1. TABELLA (Rowinp,) Vuoto Colinp. La formula è quella nel margine sinistro della stessa riga con le istanze di Rowinp sostituite dai valori dal margine superiore della stessa colonna.
  2. TABLE (, Colinp) Rowinp vuoto. La formula è quella nel margine superiore della stessa colonna con le istanze di Colinp sostituite dai valori dal margine sinistro della stessa riga.
  3. TABLE (Rowinp, Colinp) Né vuoto. La formula è quella nella cella all'intersezione dei margini sinistro e superiore con le istanze di Rowinp sostituite dai valori dal margine superiore della stessa colonna e le istanze di Colinp sostituite dai valori dal margine sinistro della stessa riga.

Penso che dovrebbe consentire di capire qual è la formula efficace in ogni cella dell'intervallo di formula.

Ma non sarei sorpreso di apprendere che quanto sopra è sbagliato: -0
Accolgo con favore i riferimenti a qualcosa di più autorevole.

+0

grazie, è stato davvero utile, specialmente "TABLE (Rowinp, Colinp) Nulla di bianco. La formula è quella nella cella all'intersezione dei margini sinistro e superiore con le istanze di Rowinp sostituite dai valori dal margine superiore dello stesso colonna e istanze di Colinp sostituite da valori dal margine sinistro della stessa riga. " – Stanislav

+0

@StanislavAbs Se soddisfa le tue esigenze, puoi accettare la risposta? – user20637

1

Credo che nel tuo esempio il F2 e C2 sono efficacemente solo gli indirizzi di parametri per una funzione (TABLE) dove possono essere posizionati ovunque, con la formula associata nella cella in alto a sinistra della tabella.

Quindi suggerisco di andare a C2, FORMULAS> Formula Auditing e fare clic su Generatori di traccia, ripetere per F2 e vedere dove convergono le frecce.

+0

Grazie per il consiglio. Ma nel mio caso non funziona. Queste celle (F2 e C2) contengono due parametri popolari. Sono usati in una varietà di formule. – Stanislav