Intervallo grafico dinamico utilizzando INDIRETTO: tale funzione non è valida (nonostante l’intervallo evidenziato)

Sto cercando di creare un grafico con un intervallo costruito dynamicmente utilizzando la funzione INDIRECT . Excel riconosce l’intervallo che sto creando utilizzando INDIRECT quando evidenzia l’intervallo corrispondente sul foglio:

inserisci la descrizione dell'immagine qui

Tuttavia, quando salvi il grafico, ricevo un messaggio di errore che dice che la funzione non è valida:

inserisci la descrizione dell'immagine qui

Qualcuno sa qual è il problema / come creare un intervallo di grafici dinamico da un inizio specifico a uno specifico endpoint?

PS: puoi scaricare il foglio di calcolo qui sopra . La formula che stavo usando:
=INDIRECT("sheet!"&E2&":"&E3)

Il mio è simile alla risposta eccellente di Sean, ma consente un giorno di inizio e fine. Innanzitutto, crea due intervalli denominati che utilizzano le formule di indice / corrispondenza per selezionare i giorni di inizio e fine in base a E2 ed E3:

rngDay

 =INDEX(Sheet1!$A:$A,MATCH(Sheet1!$E$2,Sheet1!$A:$A,0)):INDEX(Sheet1!$A:$A,MATCH(Sheet1!$E$3,Sheet1!$A:$A,0)) 

rngValue

 =INDEX(Sheet1!$B:$B,MATCH(Sheet1!$E$2,Sheet1!$A:$A,0)):INDEX(Sheet1!$B:$B,MATCH(Sheet1!$E$3,Sheet1!$A:$A,0)) 

È quindi ansible fare clic sulla serie nel grafico e modificare la formula per:

 =SERIES(Sheet1!$B$1,Sheet1!rngDay,Sheet1!rngValue,1) 

inserisci la descrizione dell'immagine qui

Ecco un bel post su Chandoo su come utilizzare le gamme dinamiche nei grafici.

Il modo in cui stai cercando di farlo non è ansible. L’intervallo di dati del grafico deve avere un indirizzo fisso.

C’è un modo per aggirare questo, e che sta usando intervalli denominati

Inserisci il numero di righe che vuoi nei tuoi dati in una cella (es. E1)
Quindi, usando il tuo esempio, inserisco il Number of Rows in D1 e 6 in E1

In Name Manager, definisci i nomi per i tuoi dati e titoli
Ho usato xrange e yrange e li ho definiti come:

xrange: = OFFSET (Foglio1! $ A $ 2,0,0, Foglio1! $ E $ 1)
yrange: = OFFSET (Foglio1! $ B $ 2,0,0, Foglio1! $ E $ 1)

ora, sul grafico: è necessario conoscere il nome della cartella di lavoro (una volta configurata, la funzione di Excel delle modifiche al tracciamento garantirà che il riferimento rimanga corretto, indipendentemente da eventuali ridenominazioni)

Lascia vuoto l’ Chart data range del Chart data range
per le Legend Entries (Series) , immettere il titolo come al solito, quindi il nome definito per i dati (si noti che il nome della cartella di lavoro è necessario per l’utilizzo di intervalli denominati)
punti di dati

per Horizontal (Category) Axis Labels , immettere il nome definito per le etichette
etichette di dati

ora, cambiando il numero in E1, vedrai il grafico cambiare:
6 in E14 in E1

Solo un’altra risposta per bit e googles ..

Se vuoi ancora fare riferimento alle tue celle di inizio e fine, dovrai aggiungere una formula separata per il tuo intervallo diurno e il tuo intervallo di valori. Le formule sono sotto e lo screenshot mostra le formule utilizzate.

Intervallo diurno:

="Sheet1!"&$F$2&":"&ADDRESS(ROW(INDIRECT($F$3)),COLUMN(INDIRECT($F$2)))

Intervallo di valori:

="Sheet1!"&ADDRESS(ROW(INDIRECT($F$2)),COLUMN(INDIRECT($F$3)))&":"&$F$3

inserisci la descrizione dell'immagine qui

Quindi aggiungi due intervalli che fanno riferimento ai valori INDIRECT di quelle celle

Premi Ctrl + F3, fai clic su Nuovo e aggiungi un nuovo intervallo con il nome “chart_days”, facendo riferimento a =INDIRECT(Sheet1!$F$4) ; e un nuovo intervallo con il nome “chart_values”, riferito a =INDIRECT(Sheet1!$F$5)

Infine, nel grafico, aggiungi una serie che si riferisce a =nameOfYourWorkbook!chart_values

e Modifica la categoria per fare riferimento a =nameOfYourWorkbook!chart_days

Uso OFFSET per creare una formula nome definita in modo che possa definire tutti gli intervalli per i dati, consentendomi di avere una data di fine di inizio (o la posizione iniziale e finale di qualsiasi set di dati).

Per un semplice grafico, definisco il nome CategoryLabels come segue:

 = OFFSET($A$5; (InicitialMonth-1); 0; LastMonth - (InitialMonth-1)) 

e DataCars come segue:

 = OFFSET($B$5; (InicitialMonth-1); 0; LastMonth - (InitialMonth-1)) 

Dovrai definire tutti i nomi delle serie che vuoi includere, seguendo la stessa procedura. In questo semplice caso, ho incluso solo le vendite di automobili.

Il mese iniziale e il mese scorso sono nomi di intervallo definiti per singole celle utilizzate per indicare quali mesi del grafico saranno inclusi (dall’inizio alla fine del mese).

Ricorda, come spiegato da Sean Cheshire e altri, che per utilizzare i nomi per i valori del grafico, deve essere incluso il nome del foglio di calcolo.

In base alla formula che hai mostrato: = INDIRETTO (“foglio!” & E2 & “:” & E3) non stai nominando correttamente il foglio.

Avrei pensato che sarebbe stato Sheet1! o Sheet2! ecc. La tua formula si risolve in = foglio! E2: E3 che non è un indirizzo valido. Il messaggio di errore che stai ottenendo significa che Excel non può risolvere l’input in INDIRETTO. INDIRETTO è una funzione valida, quindi l’argomento che lo offri non deve essere valido.

Tutte le risposte di cui sopra che indicano il nome del foglio hanno corretto il tuo errore ma non lo menzionano …;)

La formula denominata con funzioni indirette NON FUNZIONA NEI GRAFICI. Funzionerà in altri come la tua sorgente dynamic desiderata sarà evidenziata, ma quando ti trovi nel grafico, non verrebbe valutata. Spero che Microsoft abbia risolto questo problema.