Excel può utilizzare i dati di input formula per i riferimenti di cella?


5

Ho una cella in Excel, in cui desidero estrarre i dati da un'altra cella definita come valore in una terza cella.

Per esempio:

A1 = 5
A2 = 10
A3 = inserisci qui la sintassi, usando A4 come sorgente per riferimento cella
A4 = selezione input utente

Quando A4 è impostato su "A1", A3 dovrebbe tornare 5. Quando A4 è impostato su "A2", A3 dovrebbe tornare 10.

Quanto sopra è in realtà un po 'una semplificazione eccessiva. Quello che sto davvero cercando di fare è usare una cella per definire da quale foglio estrarre i dati per i calcoli che verranno eseguiti in un'altra cella.

Scenario:

Una cartella di lavoro contiene diversi fogli ( Sheet1, Sheet2, Sheet3, ecc) che sono disposte in modo identico - un valore 'Sheet1'!A2rappresenta lo stesso tipo di informazioni, come è rappresentato dal valore 'Sheet2'!A2. Voglio costruire un altro foglio, chiamato Comparison, che mi permetta di confrontare facilmente i dati tra due fogli scelti. Questo foglio sarà inoltre presentato in modo identico agli altri, ma i valori qui dovrebbero essere i calcoli della differenza tra valori simili nei fogli target. Questo foglio avrà anche due celle speciali che sono configurate con validazione dei dati e menu a discesa in cella, per consentire la selezione di altri due fogli, per nome, per il confronto.

Supponiamo che le celle di selezione siano in A5 e A6.

Dato:

A5 = Sheet5
A6 =Sheet3

Quindi la formula in 'Comparison!'A2dovrebbe risultare come 'Sheet5'!A2-'Sheet3'!A2. Se cambio A6 in "Foglio7", la formula dovrebbe adattarsi a 'Sheet5'!A2-'Sheet7'A2.

Questo tipo di referenziamento dinamico delle celle è facilmente realizzabile (senza una stronzata di IFdichiarazioni) in Excel?

Risposte:


6

La prima parte della tua domanda può essere risolta usando la funzione INDIRETTA . Se la cella A3 contiene questa formula =INDIRECT(A4), verrà restituito il valore della cella specificata in A4.

È possibile mettere una formula come questa =A5&"!A1"nella cella A7 e quindi utilizzare un'istruzione INDIRETTA per fare riferimento a A7. Ciò ti consentirebbe di modificare solo il nome del foglio in A5 ma aggiornerebbe l'intero riferimento della formula in qualunque cella lo avessi.


Basta digitare "INDIRETTO" nel campo formula, per il testo di aiuto, vedo che cerca una formula come specificato da una stringa di testo. Mi chiedo se potrei nidificare un CONCATENATO lì dentro?
Iszi,

Testato: CONCATENATE funziona all'interno di INDIRECT. Ora per verificare se può fare calcoli in quel modo.
Iszi,

Puoi fare formule con esso. Vedi la mia risposta modificata. Puoi quindi fare un forumla come questo: =INDIRECT(A7)-INDIRECT(A8)fare quello che sembra che tu stia cercando di fare.
techturtle,

1
Grazie, ma non sono sicuro del motivo per cui stai suggerendo un'altra cella. Per lo scenario indicato, la soluzione per A2 è =INDIRECT(CONCATENATE("'",A5,"'!A2"))-INDIRECT(CONCATENATE("'",A6,"'!A2")). In particolare, vuoi includere quelle virgolette singole, perché Excel ne avrà bisogno per i nomi dei fogli contenenti determinati caratteri (come un trattino). Ora che ci penso, capisco perché hai suggerito un'altra cella - non stavi usando CONCATENATE. CONCATENATE ti consente di mettere insieme stringhe di testo all'interno di una formula che accetta il testo, come INDIRETTO.
Iszi,

Si. Hai avuto una domanda molto descrittiva, ma è ancora difficile immaginare esattamente cosa pensi di farne senza essere in grado di vedere i fogli stessi. Non ho dovuto usare CONCATENATE molto spesso; per me &funziona nella maggior parte dei casi. Ma rende la formula un po '"rovesciata" rispetto alla tua e necessita delle celle extra.
techturtle,
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.